Corpus ID: 6983921

Functional Programming 1 Higher-Order Functions for Parsing ∗

  title={Functional Programming 1 Higher-Order Functions for Parsing ∗},
  author={G. Hutton},
In combinator parsing , the text of parsers resembles BNF notation. We present the basic method, and a number of extensions. We address the special problems presented by white– space, and parsers with separate lexical and syntactic phases. In particular, a combining form for handling the “offside rule” is given. Other extensions to the basic method include an “into” combining form with many useful applications, and a simple means by which combinator parsers can produce more informative error… Expand


Attribute grammars as a functional programming paradigm
This paper shows how attributes in an attribute grammar can be simply and efficiently evaluated using a lazy functional language. Expand
The next 700 programming languages
A family of unimplemented computing languages is described that is intended to span differences of application area by a unified framework. This framework dictates the rules about the uses ofExpand
Report on the programming language Haskell
"Some half dozen persons have written technically on combinatory logic, and most of these, including ourselves, have published something erroneous," says the author of the paper. Expand
Compilers: Principles, Techniques, and Tools
  • A. Aho, R. Sethi, J. Ullman
  • Computer Science
  • Addison-Wesley series in computer science / World student series edition
  • 1986
This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization. Expand
Comprehending Monads, FPCA 90
  • Comprehending Monads, FPCA 90
  • 1990
Constructing Natural Language Interpreters in Lazy Functional Languages, Glasgow University
  • 1988
Compilers – Principles, Techniques and Tools, Addison–Wesley
  • 1986
Making Form Follow Function
  • Making Form Follow Function
  • 1986
How to Replace Failure by a List of Successes: A method for exception handling, backtracking, and pattern matching in lazy functional languages
A method whereby some programs that use special features for exception handling, backtracking, or pattern matching can be re-written in a functional language with lazy evaluation, without the use of any special features. Expand