Combinator library explained
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
External links
- Book: Leijen . Daan . Meijer . Erik. 2001. Parsec: Direct Style Monadic Parser Combinators for the Real World. Department of Computer Science, Universiteit Utrecht. UU-CS-2001-27. 1874/2535.
- Book: Leijen . Daan . Meijer . Erik. October 1999. Domain Specific Embedded Compilers. 2nd USENIX Conference on Domain Specific Languages (DSL'99). Austin, Texas. 109–122.
- Book: Hughes . John. 1995. Jeuring . J.. Meijer . E.. The Design of a Pretty-printing Library. Advanced Functional Programming. 925. Springer Verlag. 2006-12-15. https://web.archive.org/web/20080406151131/http://citeseer.ist.psu.edu/hughes95design.html. 2008-04-06. dead.
Notes and References
- http://research.microsoft.com/~simonpj/papers/history-of-haskell/ "History of Haskell"