Curry encoding
E143341
Curry encoding is a technique in lambda calculus for representing data structures and algebraic types purely as higher-order functions.
All labels observed (3)
| Label | Occurrences |
|---|---|
| Böhm–Berarducci encoding | 1 |
| Church encoding | 1 |
| Curry encoding canonical | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T1255183 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
NED1
Entity disambiguation (via context triple)
gpt-5-mini-2025-08-07
Target entity: Curry encoding Context triple: [lambda calculus, hasEncoding, Curry encoding]
-
A.
lambda calculus
Lambda calculus is a formal system in mathematical logic and computer science that uses function abstraction and application to investigate computation and serves as a foundational model for programming languages.
-
B.
Gödel numbering
Gödel numbering is a method in mathematical logic that encodes symbols, formulas, and proofs as unique natural numbers, enabling arithmetic to represent and reason about syntactic statements.
-
C.
Chez Scheme
Chez Scheme is a high-performance, optimizing implementation of the Scheme programming language widely used for both research and production systems.
-
D.
Curry paradox
Curry paradox is a self-referential logical paradox that arises in certain formal systems without using negation, showing how naive reasoning about implication and self-reference can lead to triviality.
-
E.
Haskell
Haskell is a statically typed, purely functional programming language known for its strong type system, lazy evaluation, and use in both academic research and industry.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
NED2
Entity disambiguation (via description)
gpt-5-mini-2025-08-07
Target entity: Curry encoding Target entity description: Curry encoding is a technique in lambda calculus for representing data structures and algebraic types purely as higher-order functions.
-
A.
lambda calculus
Lambda calculus is a formal system in mathematical logic and computer science that uses function abstraction and application to investigate computation and serves as a foundational model for programming languages.
-
B.
Gödel numbering
Gödel numbering is a method in mathematical logic that encodes symbols, formulas, and proofs as unique natural numbers, enabling arithmetic to represent and reason about syntactic statements.
-
C.
Chez Scheme
Chez Scheme is a high-performance, optimizing implementation of the Scheme programming language widely used for both research and production systems.
-
D.
Curry paradox
Curry paradox is a self-referential logical paradox that arises in certain formal systems without using negation, showing how naive reasoning about implication and self-reference can lead to triviality.
-
E.
Haskell
Haskell is a statically typed, purely functional programming language known for its strong type system, lazy evaluation, and use in both academic research and industry.
- F. None of above. chosen
Statements (42)
| Predicate | Object |
|---|---|
| instanceOf |
concept in lambda calculus
ⓘ
encoding scheme ⓘ representation of data structures ⓘ |
| aimsAt | eliminating primitive data constructors ⓘ |
| appliedIn |
design of typed lambda calculi
ⓘ
implementation of functional languages ⓘ semantics of programming languages ⓘ theoretical computer science ⓘ |
| basedOn |
function application
ⓘ
lambda abstraction ⓘ |
| category |
data encoding in lambda calculus
ⓘ
functional representation of data ⓘ |
| comparedWith | constructor-based encodings ⓘ |
| contrastsWith | Church encoding ⓘ |
| expressedIn |
typed lambda calculus
ⓘ
untyped lambda calculus ⓘ |
| field |
functional programming
ⓘ
lambda calculus ⓘ type theory ⓘ |
| goal | represent algebraic types purely as functions ⓘ |
| hasAbstractionLevel | higher-order ⓘ |
| hasPerspective | elimination-based view of data types ⓘ |
| influencedBy |
Curry–Howard correspondence
ⓘ
combinatory logic ⓘ |
| namedAfter | Haskell Curry ⓘ |
| property |
constructors are derived from eliminators
ⓘ
eliminators are primitive ⓘ supports pattern matching via higher-order functions ⓘ |
| relatedTo |
Curry encoding
self-linksurface differs
ⓘ
surface form:
Böhm–Berarducci encoding
Church encoding ⓘ Scott encoding ⓘ algebraic data type encodings ⓘ |
| represents |
algebraic data types
ⓘ
constructors as functions ⓘ data structures ⓘ pattern matching via function application ⓘ |
| supports |
representation of product types
ⓘ
representation of recursive data types ⓘ representation of sum types ⓘ |
| usedFor |
encoding algebraic data types in pure lambda calculus
ⓘ
formal reasoning about data types ⓘ |
| uses | higher-order functions ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
Instruction
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Input
Subject: Curry encoding Description of subject: Curry encoding is a technique in lambda calculus for representing data structures and algebraic types purely as higher-order functions.
Referenced by (3)
Full triples — surface form annotated when it differs from this entity's canonical label.
this entity surface form:
Church encoding
this entity surface form:
Böhm–Berarducci encoding