Scott encoding

E143340

Scott encoding is a method in lambda calculus for representing algebraic data types and their pattern matching behavior using higher-order functions.

All labels observed (1)

Label Occurrences
Scott encoding canonical 1

How this entity was disambiguated

Statements (46)

Predicate Object
instanceOf encoding scheme ⓘ
representation in lambda calculus ⓘ
advantage constant-time access to constructor and fields in many formulations ⓘ
more natural pattern matching than Church encoding for some data types ⓘ
appliedTo booleans ⓘ
lists ⓘ
natural numbers ⓘ
pairs ⓘ
trees ⓘ
basedOn function application ⓘ
lambda abstraction ⓘ
category lambda calculus encodings ⓘ
representations of algebraic data types ⓘ
contrastsWith Church encoding ⓘ
Parigot encoding ⓘ
disadvantage can be more complex in typed systems ⓘ
less canonical than Church encoding in some settings ⓘ
enables representation of coinductive types ⓘ
representation of inductive types ⓘ
field functional programming ⓘ
lambda calculus ⓘ
formalizes case distinction as higher-order function ⓘ
models product types ⓘ
recursive data types ⓘ
sum types ⓘ
namedAfter Dana Scott ⓘ
property constructor arguments are passed to branch functions ⓘ
data values are functions expecting case branches ⓘ
pattern matching is represented as function application ⓘ
relatedTo denotational semantics ⓘ
domain theory ⓘ
system F ⓘ
typed lambda calculus ⓘ
represents algebraic data types ⓘ
data constructors ⓘ
pattern matching behavior ⓘ
supports case analysis ⓘ
direct pattern matching ⓘ
usedFor constructive proofs in type theory ⓘ
defining interpreters in pure lambda calculus ⓘ
encoding pattern matching in calculi without native data types ⓘ
reasoning about program equivalence ⓘ
usedIn proof theory ⓘ
semantics of programming languages ⓘ
theoretical computer science ⓘ
uses higher-order functions ⓘ

How these facts were elicited

Referenced by (1)

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

lambda calculus → hasEncoding → Scott encoding ⓘ