MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Approved by: (1995)

Download:
Download as a PDF | Download as a PS
by Anindya Banerjee, David A. Schmidt
http://guinness.cs.stevens-tech.edu/~ab/Publications/phdthesis.ps.gz
Add To MetaCart

Abstract:

A fundamental activity in programming language design is the association of a name to a syntactic phrase. This is called a definition binding, since the name defines the syntactic phrase. Bindings can also arise as a consequence of parameter transmission, via the association of a formal parameter name to an actual parameter, and are termed parameter bindings. Bindings can be understood in many different ways: we study two popular semantics of bindings, namely, eager (or call-by-value) semantics and lazy (or call-by-name) semantics. We validate Landin's correspondence principle, a benchmark of programming language design, by developing a categorical model for a higher-order, modular language. The model provides a uniform semantics of definition and parameter bindings. If the language satisfies the correspondence principle, the categorical model is a weakly symmetric, monoidal-closed category. This allows the understanding of definitions as records, their invocation as record indexing, and parameterized definitions as-abstractions. Applications of the framework to

Citations

588 Compiling with Continuations – Appel - 1992
182 Abstract and Concrete Categories – Adámek, Herrlich, et al. - 1990
129 Abstract interpretation of declarative languages – Abramsky, Hankin - 1987
66 Runtime Tags Aren’t Necessary – Appel - 1988
36 Unify and Conquer (Garbage, Updating, Aliasing, ...) in Functional Languages – BAKER - 1990
28 An empirical and analytic study of stack vs. heap cost for languages with closures – Appel, Shao - 1994
5 A categorical interpretation of Landin's correspondence principle – Banerjee, Schmidt - 1993
1 A Programming-Language Workbench – Banerjee, Danvy, et al. - 1991
1 Stackability in the Simply-Typed, Call-byValue Lambda Calculus – Banerjee, Schmidt - 1994