Jump to content

Combinator library

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Citation bot (talk | contribs) at 19:54, 19 April 2020 (Add: hdl. Removed URL that duplicated unique identifier. | You can use this bot yourself. Report bugs here. | Activated by Neko-chan | Category:Application programming interfaces | via #UCB_Category). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 [1] for Haskell. The library approach allows the parsers to be first-class citizens of the language.

See also

References

  • Daan Leijen; Erik Meijer (2001). Parsec: Direct Style Monadic Parser Combinators for the Real World. Department of Computer Science, Universiteit Utrecht. hdl:1874/2535. UU-CS-2001-27. {{cite book}}: Unknown parameter |lastauthoramp= ignored (|name-list-style= suggested) (help)
  • Daan Leijen; Erik Meijer (October 1999). Domain Specific Embedded Compilers (PDF). Austin, Texas. pp. 109–122. {{cite book}}: Unknown parameter |booktitle= ignored (help); Unknown parameter |lastauthoramp= ignored (|name-list-style= suggested) (help)CS1 maint: location missing publisher (link)
  • Hughes, John (1995). Jeuring, J.; Meijer, E. (eds.). The Design of a Pretty-printing Library. Vol. 925. Springer Verlag. {{cite book}}: Unknown parameter |booktitle= ignored (help)