Difference between revisions of "Combinator library"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(Created page with "In software en gineering, a '''combinator library''' is a software library which implements combinators for a functional pr...")
 
 
Line 1: Line 1:
In [[software en gineering]], a '''combinator library''' is a [[Library (computing)|software library]] which implements [[Combinatory logic|combinators]] for a [[functional programming]] language.
+
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)]]
* [[Pointless programming]]
 
 
* [[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

External links