MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Implementing Haskell: Language implementation as a tool building exercise (1993) [7 citations — 2 self]

Download:
pdf
by Diomidis Spinellis
Structured Programming
http://kerkis.math.aegean.gr/~dspin/pubs/jrnl/1993-StrProg-Haskell/html/exp.pdf
Add To MetaCart

Abstract:

Although a number of tool boxes for compiler construction exist, the language implementation task can often be made easier by building specialised tools. A prototype Haskell system was implemented within a four month period using such an approach. The system is currently used as a front end for a transputer array, Haskell implementation. In this article we describe the tool building aspect of the implementation process. The little language tools, tree processing function generators and error message management routines developed are described. Although the tools are specific to this implementation, this mode of work can be worthwhile in a number of cases such as the implementation of novel languages, the targeting of unconventional architectures or, the experimentation with new implementation techniques. The lessons learned during this process are summarised and the specialised tool approach is evaluated. 1

Citations

343 LaTeX: A Document Preparation System – Lamport - 1986
215 Report on the Programming Language Haskell, A Non-strict, Purely Functional Language – Hudak, Jones, et al. - 1992
150 Programming perl, O’Reilly & Associates – Wall, Schwartz - 1991
124 The Unix Programming Environment – Kernighan, Pike - 1984
35 evolution, and application of functional programming languages – Hudak, “Conception - 1989
19 Programming with modules as typed functional programming – Burstall - 1984
16 Flex - fast lexical analyzer generator – Paxson - 1995
12 Analysis of Pointer 'Rotation – Suzuki - 1982
10 A pragmatic approach to the analysis and compilation of lazy functional languages – Glaser, Hartel, et al. - 1990
6 The Mythical Man-Month – FP - 1975
6 Opium: a debugging environment for Prolog development and debugging research – Ducass'e, Emde - 1991
5 DM: The C Programming Language – BW, Ritchie - 1988
4 The Implementation of Functional Programming Languages – SL - 1987
2 Programming the User Inteface – JR, Cunningham - 1989
2 Yacc — yet another compiler-compiler. Computer Science – SC - 1975
2 Lex — a lexical analyzer generator. Computer Science – ME - 1975
2 A new implementation technique for applicative languages – DA - 1979
2 An abstract Prolog instruction set. Technical Note 309 – DHD - 1983
1 Little languages – JL - 1986
1 More Programming Pearls: Confessions of a Coder – JL - 1988
1 Garbage collection in an uncooperative environment – HJ - 1988
1 my system gives excellent error messages’ — or does it – PJ - 1982
1 Error message management – RT - 1990
1 Functional Programming – AJ, PG - 1988
1 Ast — a generator for abstract syntax trees. Compiler Generation Report 15, GMD Forshungsstelle an der Universität – Grosh - 1989
1 Generating G-machine code from Haskell – Hadjicocolis - 1990
1 Language development tools – SC, ME - 1987
1 The M4 macro processor – BW, DM - 1982
1 Software engineering, the software process and their support – MM - 1991
1 Gperf: A perfect hash function generator – DC - 1990
1 An implementation of the Haskell language – Spinellis - 1990
1 Using and porting – RM - 1992
1 The design of very fast portable compilers – AS - 1989
1 Type checking for Haskell – PA - 1990
1 Analysis of pointer "rotation – Suzuki - 1982