This article needs attention from an expert in programming languages. See the talk page for details. (November 2008) |
A combinator library is a software library which implements combinatory logic as combinators, for a functional programming language: "the key idea is this: a combinator library offers functions (the combinators) that combine functions together to make bigger functions".[1] These kinds of libraries are particularly useful for allowing domain-specific languages to be easily embedded into a general purpose language by defining a few primitive functions for the given domain and turning over the task of expanding higher-level constructs to the general language. An example would be the monadic Parsec parser for Haskell. The library approach allows the parsers to be first-class citizens of the language.
See also
edit- Run-time system
- QuickCheck
- Point-free style programming
References
edit- ^ "History of Haskell", pg 35.
External links
edit- Leijen, Daan; Meijer, Erik (2001). Parsec: Direct Style Monadic Parser Combinators for the Real World. Department of Computer Science, Universiteit Utrecht. hdl:1874/2535. UU-CS-2001-27.
- Leijen, Daan; Meijer, Erik (October 1999). "Domain Specific Embedded Compilers". 2nd USENIX Conference on Domain Specific Languages (DSL'99) (PDF). Austin, Texas. pp. 109–122.
{{cite book}}
: CS1 maint: location missing publisher (link) - Hughes, John (1995). "The Design of a Pretty-printing Library". In Jeuring, J.; Meijer, E. (eds.). Advanced Functional Programming. Vol. 925. Springer Verlag. Archived from the original on 2008-04-06. Retrieved 2006-12-15.