System Description: CYNTHIA
Current programming environments for novice functional programming (FP) are inadequate. This paper describes ways of using proofs as a foundation to improve the situation, in the context of the language ML . The most common way to write ML programs is via a text editor and compiler (such as the Standard ML of New Jersey compiler). But program errors, in particular type errors, are generally difficult to track down. For novices, the lack of debugging support forms a barrier to learning FP concepts .
KeywordsTheorem Prove Recursive Function Recursive Call Text Editor Automate Deduction
Unable to display preview. Download preview PDF.
- 1.A. Bundy, F. van Harmelen, C. Horn, and A. Smaill. The Oyster-Clam system. In M. E. Stickel, editor, 10th International Conference on Automated Deduction, pages 647–648. Springer-Verlag, 1990. Lecture Notes in Artificial Intelligence No. 449. Also available from Edinburgh as DAI Research Paper 507.Google Scholar
- 2.W. A. Howard. The formulae-as-types notion of construction. In J. P. Seldin and J. R. Hindley, editors, To H. B. Curry; Essays on Combinatory Logic, Lambda Calculus and Formalism, pages 479–490. Academic Press, 1980.Google Scholar
- 3.David McAllester and Kostas Arkoudas. Walther recursion. In M. A. McRobbie and J. K. Slaney, editors, 13th International Conference on Automated Deduction (CADE13), pages 643–657. Springer Verlag LNAI 1104, July 1996.Google Scholar
- 4.R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, 1990.Google Scholar
- 5.J.N.D. Whittle. The Use of Proofs-as-Programs to Build an Analogy-Based Functional Program Editor. PhD thesis, Division of Informatics, University of Edinburgh, 1999.Google Scholar