Church encoding

E588094

Church encoding is a means of representing data and operators in the lambda calculus using only functions, forming the theoretical basis for functional programming representations of numbers, booleans, and data structures.

Try in SPARQL Jump to: Statements Referenced by

Statements (49)

Predicate Object
instanceOf concept in lambda calculus
representation scheme
technique in theoretical computer science
appliedIn proofs of expressiveness of lambda calculus
assumes pure lambda calculus setting
basisFor functional representations of booleans
functional representations of data structures
functional representations of numbers
contrastedWith Scott encoding
direct machine-level data representations
example Church boolean
Church numeral
encoded list
encoded pair
field functional programming
lambda calculus
theoretical computer science
goal represent all computable data using functions alone
historicalContext developed in the context of foundations of mathematics
introduced in early 20th century
influenced design of functional programming languages
theory of data representation in lambda calculus
namedAfter Alonzo Church NERFINISHED
property data and control unified as functions
extensional representation of data
no primitive data types required
uses only functions
relatedTo Boehm–Berarducci encoding NERFINISHED
Curry–Howard correspondence NERFINISHED
Scott encoding
System F NERFINISHED
combinatory logic
functional programming languages
lambda calculus
typed lambda calculus
represents algebraic data types
booleans
data as functions
lists
natural numbers
operators as functions
pairs
tuples
supports definition of arithmetic operations
definition of logical operations
definition of recursion via fixed-point combinators
uses beta reduction
higher-order functions
lambda abstractions

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

Curry encoding relatedTo Church encoding
Curry encoding contrastsWith Church encoding