2002 · 548 citations · 12 references
ComputingComputer ScienceCompilersData StructuresProgramming LanguagesAbstract Syntax TreesCompiler ConstructionFunctional ProgrammingProgramming Language ImplementationSoftware ConstructionType SystemsCompile-time OptimizationCompiler SupportCompiler-based GenerationProgram RepresentationTemplate MetaprogrammingType-level Programming
We propose a new extension to the purely functional programming language Haskell that supports compile-time meta-programming. The purpose of the system is to support the algorithmic construction of programs at compile-time. The ability to generate code at compile time allows the programmer to implement such features as polytypic programs, macro-like expansion, user directed optimization (such as inlining), and the generation of supporting data structures and functions from existing data structures and functions. Our design is being implemented in the Glasgow Haskell Compiler, ghc. 1
12
The Computer Science Department.
Hubert Tolman · 1971 · 552 citations
Multi-stage programming with explicit annotations
Walid Taha, Tim Sheard · 1997 · 343 citations
Eugene E. Kohlbecker, Daniel P. Friedman, Matthias Felleisen et al. · 1986 · 309 citations
Syntactic abstraction in scheme
R. Kent Dybvig, Robert Hieb, Carl Bruggeman · LISP and Symbolic Computation · 1993 · 176 citations
William Clinger · 1991 · 134 citations