1992
DOI: 10.1017/cbo9780511526572
|View full text |Cite
|
Sign up to set email alerts
|

Two-Level Functional Languages

Abstract: The authors describe here a framework in which the type notation of functional languages is extended to include a notation for binding times (that is run-time and compile-time) that distinguishes between them. Consequently the ability to specify code and verify program correctness can be improved. Two developments are needed, the first of which introduces the binding time distinction into the lambda calculus, in a manner analogous with the introduction of types into the untyped lambda calculus. Methods are als… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

4
114
0
1

Year Published

1992
1992
2009
2009

Publication Types

Select...
8
1

Relationship

0
9

Authors

Journals

citations
Cited by 131 publications
(119 citation statements)
references
References 0 publications
4
114
0
1
Order By: Relevance
“…In contrast to our approach, for example Nielson and Nielson [58] do not involve the machine state when relating semantic values. Instead, they require target values to be "self-contained".…”
Section: A New Approachmentioning
confidence: 93%
“…In contrast to our approach, for example Nielson and Nielson [58] do not involve the machine state when relating semantic values. Instead, they require target values to be "self-contained".…”
Section: A New Approachmentioning
confidence: 93%
“…TSL is not a partial-evaluation system per se; however, for reasons discussed in [19, §3.4], the TSL compiler performs bindingtime analysis [16], and annotates the code for interpInstr to create an intermediate representation in a two-level language [25]. In our case, level 1 corresponds to parameter I of interpInstr, and level 2 corresponds to parameter state.…”
Section: Binding-time Analysis and 2-level Semanticsmentioning
confidence: 99%
“…In §8, we describe how, using binding-time analysis [16] and a two-level intermediate language [25], the reinterpretation technique can be used to generate implementations of symbolic-analysis primitives automatically, using a meta-system that generates program-analysis components from a specification of the subject language's semantics. In particular, we have created a system in which, for the cost of writing just one specification-of the semantics of the programming language of interest, in the form of an interpreter expressed in a functional language-one obtains automatically-generated implementations of all three symbolic-analysis functions.…”
Section: Introductionmentioning
confidence: 99%
“…She considers BTA in the style of Nielson and Nielson [27]. She shows how that particular analysis fits into the general framework, but does not compare different alternatives for BTA and her work is not geared towards partial evaluation.…”
Section: Comparison Of the Equational And Inclusion-based Btasmentioning
confidence: 99%