extending the implementation scheme of functional programming system fp for supporting the formal software development methodology
An extension to the implementation scheme of functional programming system FP is proposed for handling multiple order operations at function level. The concepts of Functional Form Operator (FFO), Nth order applications, and invariant semantics of functional forms are introduced. An FFO can be taken as either an operator at function level, or a variable of other operations for building new FFO's. Thus variable-free operators can be defined for mappings from a list of functions to a new function denoted by a functional form, or from a list of FFO's to a new one. Together with the notion of multi-order applications, a hierarchy of operations at function level can be handled. This approach is useful for supporting the formal software development methodology characterized by top-down functional specification, bottom-up function mapping construction and stepwise validation.
functional programming functional form functional form operator applications algebra of programs correctness verification abstract data type