Combinator library
From HandWiki
A combinator library is a software library which implements 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 programming 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
- Run-time system
- QuickCheck
- Point-free style programming
References
- ↑ pg 35 of "History of Haskell"
External links
- Daan Leijen; Erik Meijer (2001). Parsec: Direct Style Monadic Parser Combinators for the Real World. UU-CS-2001-27.
- Daan Leijen; Erik Meijer (October 1999). "Domain Specific Embedded Compilers". 2nd USENIX Conference on Domain Specific Languages (DSL'99). Austin, Texas. pp. 109–122. https://www.usenix.org/legacy/events/dsl99/full_papers/leijen/leijen.pdf.
- Hughes, John (1995). "The Design of a Pretty-printing Library". Advanced Functional Programming. 925. Springer Verlag. http://citeseer.ist.psu.edu/hughes95design.html. Retrieved 2006-12-15.
Original source: https://en.wikipedia.org/wiki/Combinator library.
Read more |