MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Tagless Staged Interpreters for Typed Languages (2002) [33 citations — 10 self]

by Emir Pasalic ,  Walid Taha ,  Tim Sheard
In the International Conference on Functional Programming (ICFP ’02
Add To MetaCart

Abstract:

Multi-stage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of deriving an implementation that is both readable and efficient. In an untyped setting, staging an interpreter "removes a complete layer of interpretive overhead", just like partial evaluation. In a typed setting however, Hindley-Milner type systems do not allow us to exploit typing information in the language being interpreted. In practice, this can have a slowdown cost factor of three or more times.

Citations

544 A framework for defining logics – Harper, Honsell, et al. - 1993
431 Lambda Calculi with Types – Barendregt - 1992
415 A syntactic approach to type soundness – Wright, Felleisen - 1994
224 Definitional interpreters for higher-order programming languages – Reynolds - 1972
221 Dependent types in practical programming – Xi, Pfenning - 1999
174 MetaML and multi-stage programming with explicit annotations – Taha, Sheard
168 Logic programming in the LF logical framework – Pfenning - 1991
161 A modal analysis of staged computation – Davies, Pfenning
149 Eliminating array bound checking through dependent types – Xi, Pfenning - 1998
147 Principals of Programming Languages – Tennent - 1981
131 Semantics of Programming Languages – Gunter - 1992
131 Separate compilation for Standard ML – Appel, MacQueen - 1994
129 Basic Category Theory for Computer Scientists – Pierce - 1993
127 Inductive definitions in the system Coq: Rules and properties. Pages 328–345 of: International conference on typed lambda calculi and applications, tlca ’93 – Paulin-Mohring - 1993
113 Intensional polymorphism in type erasure semantics – Crary, Weirich, et al. - 2002
90 Proving the correctness of reactive systems using sized types – Hughes, Pareto, et al. - 1996
81 Ressource bound certification – Crary, Weirich - 2000
69 Multi-stage programming: Its theory and applications – Taha - 1999
68 A type system for certified binaries – Shao, Saha, et al. - 2002
67 Flexible type analysis – Crary, Weirich - 1999
65 Inductive sets and families in Martin-Löf’s type theory and their set-theoretic semantics – Dybjer - 1991
63 Building domain-specific embedded languages – Hudak - 1996
61 Modular domain specific languages and tools – Hudak - 1998
52 Inductive families – Dybjer - 1994
45 A general formulation of simultaneous inductive-recursive definitions in type theory – Dybjer - 1997
41 Fully reflexive intensional type analysis – Trifonov, Saha, et al. - 2000
30 Multi-stage programming: Axiomatization and type-safety – Taha, Benaissa, et al. - 1998
28 Little languages – Bentley - 1986
27 An idealized MetaML: Simpler, and more expressive – Moggi, Taha, et al. - 1999
27 LEAP: A language with eval and polymorphism – Pfenning, Lee - 1989
26 A sound reduction semantics for untyped CBN multi-stage computation – Taha - 2000
24 Distil: A transformation library for data structures – Smaragdakis, Batory - 1997
18 On Jones-optimal specialization for strongly typed languages – Makholm - 2000
17 Graduate Institute Technical Reports – Oregon
17 Tag elimination and Jones-optimality – Taha, Makholm, et al.
16 An exercise in dependent types: A well-typed interpreter – Augustsson, Carlsson - 1999
16 Microlanguages for Operating System Specialization – Pu, Black, et al. - 1997
15 Phase distinctions in type theory. (Unpublished manuscript.) Available online from http://www.luca.demon.co.uk/Bibliography.html – Cardelli - 1988
15 Programming in Martin-Löf’s Type Theory, volume 7 – Nordström, Petersson, et al. - 1990
15 Dynamic typing through staged type inference – Shields, Sheard, et al. - 1998
11 A tutorial on recursive types in Coq – Giménez - 1998
10 Tag elimination - or - type specialisation is a type-indexed effect – Taha, Makholm - 2000
8 Inherited limits – Mogensen - 1999
7 Björn von Sydow. Type theory and programming – Coquand, Nordström, et al. - 1994
7 Finite axiomatizations of inductive and inductive-recursive definitions – Dybjer, Setzer - 1998
7 Programming in Constructive SetTheory: Some Examples – Nordstrom
7 Directions in functional programming for real(-time) applications – Taha, Hudak, et al.
6 Inductively defined sets in Martin-Lof's set theory – Dybjer - 1987
5 Compiling polymorphism using intentional type analysis – Harper, Morrisett - 1995
3 Zine El-Abidine Benaissa, and Emir Paˇsalić. DSL implementation using staging and monads – Sheard - 1999