Module lamcal::combinator[][src]

Standard terms and combinators

This module defines standard terms and combinators with commonly accepted names. A combinator is a closed lambda expression, meaning that it has no free variables.

The combinators are collected from these sources:

  • SKI system by Moses Schönfinkel and Haskell Curry
  • BCKW system by Haskell Curry
  • fixed-point combinators by Haskell Curry
  • the self-application combinator ω
  • the divergent combinator Ω
  • the reverse application (thrush) combinator

The standard terms and combinators defined in this module are also predefined named constants in the default environment which can be created by calling Environment::default().

Functions

B

B - Bluebird - Composition combinator

C

C - Cardinal - Swapping combinator

I

I - Idiot - Identity combinator

K

K - Kestrel - Constant combinator (TRUE)

M

ω - M - Mockingbird - Self-application combinator

MM

Ω - Omega - Divergent combinator

S

S - Starling - Substitution combinator

T

T - Thrush - Reverse application combinator

U

U - Turing

UU

Θ - Turing fixed-point combinator

V

V - Vireo - Pairing combinator (PAIR)

W

W - Warbler - Duplication combinator

Y

Y - lazy fixed-point combinator

Z

Z - strict fixed-point combinator

bckw_set

Creates a set of bindings for all combinators of the BCKW system.

default_bindings

Creates a set of bindings for all combinators implemented in this module.

ski_set

Creates a set of bindings for all combinators of the SKI system.