Combinator library

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

1. ↑ 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.

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Combinator library. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Combinator_library&oldid=247849"