Formalization and 'Literate' Programming
نویسنده
چکیده
The ‘literate’ programming model is extended to include a concept of mechanical transformation. A prototype tool, FLP (Formal Literate Programming tool), has been developed which uses this extended ‘literate’ programming model in both a formal program proof setting, and within a formal (refinement) program development setting. In both settings, FLP provides history, access to tools, and an easyto-use interface. FLP is a system with • a tree structured revision control system allowing easy access to an entire software development history, • a unifying semi-formal model encompassing both program proof and refinement, and • a single simple mechanism for managing both formal transformations on programs (proofs, tests, refinements) and informal transformations (explanations). In this paper, we outline the underlying semi-formal model for this extended ‘literate’ programming tool, briefly show the system architecture, and demonstrate the tool’s use during a sample program development.
منابع مشابه
Combining Operational Semantics, Logic Programming and Literate Programming in the Specification and Animation of the Verilog Hardware Description Language
An operational semantics for a significant subset of the Verilog Hardware Description Language (HDL) has been developed. An unusual aspect of the semantics is that it was formulated as a Prolog logic program. This allows the possibility of simulating the semantics. In addition, a literate programming style has been used, so the semantics can be processed by the LTEX document preparation system ...
متن کاملThirty Years of Literate Programming and More?
Don Knuth created Literate Programming about thirty years ago. It could be called a methodology, discipline, paradigm, . . . Bentley’s “Programming Pearls” article about Knuth’s book, TEX: The Program, caused a huge stir in the computing professions. Soon there was announcement of a Literate Programming section for the CACM . Several “Literate Programming systems” quickly appeared. This was fol...
متن کاملAOPS: an abstraction-oriented programming system for literate programming
The practice of literate programming is not widespread because existing literate programming systems have some undesirable characteristics such as programming language and text processor dependence and lack of flexible tools for viewing and manipulation of the source file. This paper describes the literate programming system AOPS (Abstraction Oriented Programming System) which addresses both of...
متن کاملAn Elucidative Programming Environment for Scheme (Incomplete Draft)
In this paper we describe a programming environment for Scheme that supports elucidative programming. Scheme is a programming language in the Lisp family. Elucidative programming is a variant of literate programming. Literate programming represents the idea of structuring the program as fragments that are contained in an essay that documents the program understanding. Elucidative programming is...
متن کاملA Literate Programming Tool for Concurrent Clean
Literate programming has attracted some interest in the functional programming community. This paper presents a prettyprinting algorithm used in a literate programming tool for the functional language Concurrent Clean, and discusses some of the issues involved in prettyprinting layout based languages. 1 Literate programming This section introduces the concept of literate programming for those w...
متن کامل