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

  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. 




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

Categories: [Application programming interfaces]


Download as ZWI file | Last modified: 04/25/2025 03:55:51 | 5 views
☰ Source: https://handwiki.org/wiki/Combinator_library | License: CC BY-SA 3.0

ZWI is not signed. [what is this?]