In this paper, we present a program development system based on rewrit
ing method with the goal of providing an powerful tool for automatic s
oftware development and rapid prototyping. New mechanisms for defining
constrained types and optimal rules are introduced to functional prog
ramming languages to achieve strong expressiveness. The enhanced funct
ional programming language is combined with an algebraic specification
language. Thus, the design from specification to program can be suppo
rted, and the efficiency and flexibility of programming can also be im
proved. In this system, both static and dynamic techniques are used to
deal with constrained type check. All function definitions, computati
on constraints and optimal rules are regarded as rewriting rules. In o
rder to provide a strong support for a large group of TRSs which may b
e neither terminating nor orthogonal, we propose a method using struct
ure measure to decide TRSs' confluences. Based on this method, we pres
ent a partial completion algorithm to generate a rewriting model from
a specification Depending on term rewriting system, the mixed language
system computes with parallel outermost and needed reduction. We expl
ain the principles and Implementation techniques in detail, some examp
les are provided.