Abstract
Several years ago, Peyton Jones [3] tested some of the claims made for functional programming by re-implementing a well-known parser generator (YACC) in a lazy functional language (SASL) and comparing the result with the original imperative implementation. His conclusions were positive so far as the expressive power of functional programming was concerned — laziness and higher-order functions both proved valuable — but he bemoaned SASL’s lack of type-checking, abstract data types and modules, and also the difficulties of correcting errors and optimising performance in the presence of lazy evaluation.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
R. Bird and P. Wadler. Introduction to Functional Programming. Prentice-Hall, 1988.
P. Hudak and P. Wadler (editors). Report on the programming language Haskell, a non-strict purely functional language (Version 1.0). Technical report, University of Glasgow, Department of Computing Science, April 1990.
S.L. Peyton Jones. YACC in SASL — an exercise in functional programming. Software — Practice and Experience, 15 (8): 807–820, August 1985.
C. Runciman. What about the natural numbers? Computer Languages, 14 (3): 181–191, 1989.
C. Runciman and D. Wakeling. Problems and proposals for time and space profiling of functional programs. In Proceedings of 3rd Glasgow Workshop on Functional Programming, pages 237–245. Springer-Verlag, 1990.
M. Spivey. A functional theory of exceptions. Science of Computer Programming, 14 (1): 25–42, June 1990.
W. Stoye. The Implementation of Functional Languages Using Custom Hardware. PhD thesis, University of Cambridge Computer Laboratory, December 1985. Technical Report No. 81.
H.W. Thimbleby. The design of a terminal independent package. Software — Practice and Experience, 17 (5): 351–367, May 1987.
S.J. Thompson. Interactive functional programs. Technical Report 48, Computing Laboratory, University of Kent at Canterbury, 1987.
P.L. Wadler. Comprehending monads. In Proceedings of ACM Conference on LISP and Functional Programming, pages 61–78, June 1990.
D. Wakeling and C. Runciman. Linearity and laziness. In Proceedings of 5th ACM Conference on Functional Programming Languages and Computer Architecture, pages 215–240. Springer-Verlag, August 1991. LNCS 523.
S.C. Wray. Implementation and Programming Techniques for Functional Languages. PhD thesis, University of Cambridge Computer Laboratory, January 1986. Technical Report No. 92.
S.C. Wray and J. Fairbairn. Non-strict languages — programming and implementation. The Computer Journal, 32 (2): 142–151, April 1989.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 British Computer Society
About this paper
Cite this paper
Runciman, C. (1992). TIP in Haskell — another exercise in functional programming. In: Heldal, R., Holst, C.K., Wadler, P. (eds) Functional Programming, Glasgow 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3196-0_22
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3196-0_22
Publisher Name: Springer, London
Print ISBN: 978-3-540-19760-7
Online ISBN: 978-1-4471-3196-0
eBook Packages: Springer Book Archive