Difference between revisions of "Combinator library"
From Wiki @ Karl Jones dot com
Karl Jones (Talk | contribs) (Created page with "In software en gineering, a '''combinator library''' is a software library which implements combinators for a functional pr...") |
Karl Jones (Talk | contribs) |
||
Line 1: | Line 1: | ||
− | In [[software | + | In [[software engineering]], a '''combinator library''' is a [[Library (computing)|software library]] which implements [[Combinatory logic|combinators]] for a [[functional programming]] language. |
== Description == | == Description == | ||
Line 12: | Line 12: | ||
* [[Functional programming]] | * [[Functional programming]] | ||
* [[Library (computing)]] | * [[Library (computing)]] | ||
− | |||
* [[QuickCheck]] | * [[QuickCheck]] | ||
* [[Run-time system]] | * [[Run-time system]] | ||
+ | * [[Tacit programming]] | ||
== External links == | == External links == |
Latest revision as of 10:51, 9 September 2016
In software engineering, a combinator library is a software library which implements combinators for a functional programming language.
Description
"The key idea is this: a combinator library offers functions (the combinators) that combine functions together to make bigger functions".
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
- Combinatory logic
- Functional programming
- Library (computing)
- QuickCheck
- Run-time system
- Tacit programming
External links
- Combinator library @ Wikipedia