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.

All labels observed (1)

Label Occurrences
Church encoding canonical 2

How this entity was disambiguated

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 ⓘ

How these facts were elicited

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 ⓘ