is an extension of John Backus
' FP programming language
to include infinite sequences
, programmer-defined combining forms
(analogous to those that Backus himself added to FL
, his successor to FP), and lazy evaluation
Unlike FFP, another one of Backus' own variations on FP, FP84 makes a clear distinction between objects and functions: i.e., the latter are no longer represented by sequences of the former.
FP84's extensions are accomplished by removing the FP restriction that sequence construction be applied only to non-⊥ objects: in FP84 the entire universe of expressions (including those whose meaning is ⊥) is closed under sequence construction.
FP84's semantics is embodied in an underlying algebra of programs, this is, a set of function-level equalities that may be used to manipulate and to reason about programs.
- Sacrificing simplicity for convenience: Where do you draw the line?, John H. Williams and Edward L. Wimmers, IBM Almaden Research Center, Proceedings of the FIfteenth Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, San Diego, CA, January 1988.