IEEE Transactions on Software Engineering · 1986 · 102 citations · 4 references
ComputingComputer ScienceDesignFormal MethodsProgramming LanguagesRequirements EngineeringDesign SpecificationFunctional ProgrammingSoftware DesignSpecification LanguagesFormal ModelingFormal Requirement SpecificationFunctional DesignFunctional Software DesignFunctional StyleRequirement-based VerificationSoftware Development MethodologySpecification-based Verification
Functional programming has enormous potential for reducing the high cost of software development. Because of the simple mathematical basis of functional programming, it is easier to design correct programs in a purely functional style than in a traditional imperative style. It is argued that functional programs combine the clarity required for the formal specification of software designs with the ability to validate the design by execution. As such they are ideal for rapidly prototyping a design as it is developed. An example is presented which is larger than those traditionally used to explain functional programming. This example is used to illustrate a method of software design which efficiently and reliably turns an informal description of requirements into an executable formal specification.
4
The Mechanical Evaluation of Expressions
P. J. Landin · The Computer Journal · 1964 · 932 citations · Full text