In computer science, A-normal form (abbreviated ANF) is an intermediate representation of programs in . In ANF, all arguments to a function must be trivial (constants or variables). That is, evaluation of each argument must halt immediately. This article deals with the basic definition expressed in terms of the λ-calculus with weak reduction and let-expressions, where the restriction is enforced by
Attributes | Values |
---|
rdf:type
| |
rdfs:label
| |
rdfs:comment
| - In computer science, A-normal form (abbreviated ANF) is an intermediate representation of programs in . In ANF, all arguments to a function must be trivial (constants or variables). That is, evaluation of each argument must halt immediately. This article deals with the basic definition expressed in terms of the λ-calculus with weak reduction and let-expressions, where the restriction is enforced by (en)
|
dcterms:subject
| |
Wikipage page ID
| |
Wikipage revision ID
| |
Link from a Wikipage to another Wikipage
| |
sameAs
| |
dbp:wikiPageUsesTemplate
| |
has abstract
| - In computer science, A-normal form (abbreviated ANF) is an intermediate representation of programs in . In ANF, all arguments to a function must be trivial (constants or variables). That is, evaluation of each argument must halt immediately. ANF is introduced by Sabry and Felleisen in 1992 as a simpler alternative to continuation-passing style (CPS). Some of the advantages of using CPS as an intermediate representation are that optimizations are easier to perform on programs in CPS than in the source language, and that it is also easier for compilers to generate machine code for programs in CPS. Flanagan et al. showed how compilers could use ANF to achieve those same benefits with one source-level transformation; in contrast, for realistic compilers the CPS transformation typically involves additional phases, for example, to simplify CPS terms. This article deals with the basic definition expressed in terms of the λ-calculus with weak reduction and let-expressions, where the restriction is enforced by 1.
* allowing only constants, λ-terms, and variables, to serve as arguments of function applications, and 2.
* requiring that the result of a non-trivial expression be captured by a let-bound variable or returned from a function. (en)
|
gold:hypernym
| |
prov:wasDerivedFrom
| |
page length (characters) of wiki page
| |
foaf:isPrimaryTopicOf
| |
is Link from a Wikipage to another Wikipage
of | |
is Wikipage redirect
of | |
is Wikipage disambiguates
of | |
is known for
of | |
is foaf:primaryTopic
of | |