Combinator Library
   HOME

TheInfoList



OR:

A combinator library is a
software library In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subr ...
which implements combinators for a
functional programming language In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that m ...
; "the key idea is this: a combinator library offers functions (the combinators) that combine functions together to make bigger functions".pg 35 o
"History of Haskell"
/ref> These kinds of libraries are particularly useful for allowing
domain-specific programming language A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
s 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 parserbr>
for Haskell (programming language), Haskell. The library approach allows the parsers to be first-class citizens of the language.


See also

*
Run-time system In computer programming, a runtime system or runtime environment is a sub-system that exists both in the computer where a program is created, as well as in the computers where the program is intended to be run. The name comes from the compile t ...
*
QuickCheck QuickCheck is a software library, specifically a combinator library, originally written in the programming language Haskell, designed to assist in software testing by generating test cases for test suites – an approach known as property testi ...
* Point-free style programming


References


External links

* * * Application programming interfaces {{compu-library-stub