[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Implementation of functional languages
Here is a ``must read'' bibliography for those interested in modern implementations
of functional languages. Apologies for any omissions.
Nikhil
-------- CUT HERE ------------------
@inProceedings{
Appel87a,
key = "Appel, Andrew",
author = "Appel, Andrew and MacQueen, David B.",
title = "A Standard ML Compiler",
booktitle = "Proceedings of the Conference on Functional Programming
and Computer Architecture, Portland, Oregon",
year = 1987,
month = "September",
note = "Springer-Verlag LNCS 274",
annote = "Functional languages"
}
@inProceedings{
Argo88a,
key = "Argo, Guy",
author = "Argo, Guy",
title = "The G-TIM: a refined Three Instruction Machine",
booktitle = "Proceedings of the Workshop on Implementation of Lazy
Functional Languages, Aspenas, Sweden (to appear)",
month = "September 5-8",
year = 1988,
annote = "Graph Reduction, Lambda Calculus"
}
@inProceedings{
Augustsson84,
key = "Augustsson, Lennart",
author = "Augustsson, Lennart",
title = "A Compiler for Lazy ML",
booktitle = "Proc. 1984 ACM Conf. on Lisp and Functional Programming,
Austin, Texas",
organization = ACM,
year = 1984,
month = "August",
pages = "218-227",
annote = "Lambda-lifting, Super-Combinators"
}
@inProceedings{
Augustsson85,
key = "Augustsson, Lennart",
author = "Augustsson, Lennart",
title = "Compiling Pattern Matching",
booktitle = "Proc. 1985 Workshop on Implementations of
Functional Languages, Goteborg, Sweden",
organization = "Chalmers University of Technology",
year = 1985,
month = "February",
annote = "Lambda-lifting, Super-Combinators, ML"
}
@PhDThesis{
Augustsson87a,
key = "Augustsson, Lennart",
author = "Augustsson, Lennart",
title = "Compiling Lazy Functional Languages, Part II",
school = "Department of Computer Sciences,
Chalmers University of Technology",
address = "Goteborg, Sweden",
year = 1987,
annote = "LML, G-Machine, graph reduction"
}
@inProceedings{
Augustsson88a,
key = "Augustsson, Lennart",
author = "Augustsson, Lennart",
title = "The nu G-machine",
booktitle = "Proceedings of the Workshop on Implementation of Lazy
Functional Languages, Aspenas, Sweden (to appear)",
month = "September 5-8",
year = 1988,
annote = "Parallel Graph Reduction, Lambda Calculus"
}
@inProceedings{
Bloss88a,
key = "Bloss, Adrienne",
author = "Bloss, Adrienne and Hudak, Paul and Young, Jonathan",
title = "Code Optimizations for Lazy Evaluation",
booktitle = "Proceedings of the Workshop on Implementation of Lazy
Functional Languages, Aspenas, Sweden (to appear)",
month = "September 5-8",
year = 1988,
annote = "Graph Reduction, Lambda Calculus"
}
@inProceedings{
Burn88a,
key = "Burn, Geoffrey L.",
author = "Burn, Geoffrey L.",
title = "{A Shared Memory Parallel G-machine Based on the Evaluation
Transformer Model of Computation}",
booktitle = "Proceedings of the Workshop on Implementation of Lazy
Functional Languages, Aspenas, Sweden (to appear)",
month = "September 5-8",
year = 1988,
annote = "Graph Reduction, Lambda Calculus"
}
@inProceedings{
Burn88b,
key = "Burn, Geoffrey L.",
author = "Burn, Geoffrey L.",
title = "{Developing a Distributed Memory Architecture for Parallel Graph Reduction}",
booktitle = "Proceedings of the Workshop on Implementation of Lazy
Functional Languages, Aspenas, Sweden (to appear)",
month = "September 5-8",
year = 1988,
annote = "Graph Reduction, Lambda Calculus"
}
@inProceedings{
Burn88c,
key = "Burn, Geoffrey L.",
author = "Burn, Geoffrey L., {Peyton Jones}, Simon L. and Robson, J.D.",
title = "{The Spineless G-Machine",
booktitle = "Proceedings of the ACM Conference on Lisp and Functional Programming,
Snowbird, Utah",
month = "July 25-27",
year = 1988,
annote = "Graph Reduction, Lambda Calculus"
}
@inProceedings{
Cardelli84d,
key = "Cardelli, Luca",
author = "Cardelli, Luca",
title = "Compiling a Functional Language",
booktitle = "Proceedings of the ACM Conference on Lisp and Functional
Programming, Austin, Texas",
year = "1984",
month = "August 6-8",
pages = "208-217",
annote = "ML"
}
@inProceedings{
Clack86a,
key = "Clack, Chris",
author = "Clack, Chris and Peyton-Jones, Simon L.",
title = "The Four-Stroke Reduction Engine",
booktitle = "Proceedings of the 1986 ACM Conference on Lisp and Functional
Programming, Cambridge, Mass.",
year = 1986,
month = "August 4-6",
pages = "220-232",
annote = "parallel graph reduction"
}
@article{
Cousineau87,
key = "Cousineau, G and Curien, Pierre-Louis and Mauny, Michel",
author = "Cousineau, G and Curien, Pierre-Louis and Mauny, Michel",
title = "The Categorical Abstract Machine",
journal = "Science of Computer Programming",
volume = 8,
year = "1987",
pages = "173-202",
annote = "ML, CAM, Categorical Combinators"
}
@inProceedings{
Fairbairn85,
key = "Fairbairn, Jon",
author = "Fairbairn, Jon",
title = "Removing Redundant Laziness from Supercombinators",
booktitle = "Proc. 1985 Workshop on Implementations of
Functional Languages, Goteborg, Sweden",
organization = "Chalmers University of Technology",
year = 1985,
month = "February",
annote = "Ponder, strictness, lazy evaluation"
}
@inProceedings{
Fairbairn87a,
key = "Fairbairn87, Jon",
author = "Fairbairn, Jon and Wray, Stuart C.",
title = "TIM: A Simple, Lazy Abstract Machine to Execute Supercombinators",
booktitle = "Proceedings of the 1987 Functional Programming and
Computer Architecture Conference, Portland, Oregon",
year = 1987,
month = "September",
pages = "34-45",
annote = "non-strictness, continuations"
}
@inProceedings{
Goldberg86,
key = "Goldberg86, Benjamin and Hudak, Paul",
author = "Goldberg, Benjamin and Hudak, Paul",
title = "Alfalfa: Distributed Graph Reduction on a Hypercube Multiprocessor",
booktitle = "{Proceedings of the Workshop on Graph Reduction,
Santa Fe, New Mexico, USA,
(Springer-Verlag LNCS 279).}",
year = 1986,
month = "September/October",
pages = "94-113"
}
@inProceedings{
Goldberg88a,
key = "Goldberg, Benjamin",
author = "Goldberg, Benjamin",
title = "Buckwheat: Graph Reduction on a Shared Memory Multiprocessor",
booktitle = "{Proceedings of the 1988 ACM Conference on Lisp and Functional Programming,
Snowbird, Utah}",
year = 1988,
month = "July 25-27",
pages = "40-51"
}
@PhDThesis{
Goldberg88a,
key = "Goldberg, Benjamin",
author = "Goldberg, Benjamin",
title = "Multiprocessor Execution of Functional Programs",
school = "Department of Computer Science,
Yale University",
year = 1988,
annote = "Scheme, T"
}
@inProceedings{
Halstead84a,
key = "Halstead, Robert H.",
author = "Halstead, Robert H.",
title = "Implementation of Multilisp: Lisp on a Multiprocessor",
booktitle = "Proceedings of the ACM Conference on Lisp and Functional
Programming, Austin, Texas",
year = "1984",
month = "August 6-8",
pages = "9-17",
annote = "Scheme"
}
@inProceedings{
Hughes82,
key = "Hughes,R.J.M.",
author = "Hughes,R.J.M.",
title = "Super-Combinators",
booktitle = "Proc. 1982 ACM Symp. on Lisp and Functional Programming,
Pittsburgh, PA",
organization = "ACM",
year = 1982,
month = "August",
pages = "1-10",
annote = "Graph Reduction, functional languages"
}
@article{
Johnsson84,
key = "Johnsson,T.",
author = "Johnsson,T.",
title = "Efficient Compilation of Lazy Evaluation",
journal = "ACM SIGPLAN Notices",
volume = 19,
number = 6,
year = 1984,
month = "June",
pages = "58-69",
note = "Proc. ACM SIGPLAN '84 Symposium on Compiler Construction",
annote = "ML, lambda-lifting, super-combinators, G-machine"
}
@inProceedings{
Johnsson85,
key = "Johnsson, Thomas",
author = "Johnsson, Thomas",
title = "Lambda Lifting: Transforming Programs to Recursive Equations",
booktitle = "Springer-Verlag LNCS 201 (Proc. Functional Programming
Languages and Computer Architecture, Nancy, France)",
year = "1985",
month = "September",
annote = "ML, super-combinators, G-machine"
}
@inProceedings{
Johnsson86a,
key = "Johnsson86, Thomas",
author = "Johnsson, Thomas",
title = "Target Code Generation from G-Machine Code",
booktitle = "Proceedings of the Workshop on Graph Reduction,
Santa Fe, New Mexico, USA,
(Springer-Verlag LNCS 279).",
note = "(also Programming Methodology Group Report 39,
Department of Computer Science,
Chalmers University of Technology and University of Goteborg,
S-421 96 Goteborg, Sweden)",
year = "1986",
month = "September/October",
annote = "LML, functional languages"
}
@PhDThesis{
Johnsson88a,
key = "Johnsson, Thomas",
author = "Johnsson, Thomas",
title = "Compiling Lazy Functional Languages",
school = "Department of Computer Sciences,
Chalmers University of Technology",
address = "Goteborg, Sweden",
year = 1987,
annote = "LML, G-Machine, graph reduction"
}
@article{
Kranz86a,
key = "Kranz86, David",
author = "Kranz, David and Kelsey, R. and Rees, Jonathan
and Hudak, Paul and Philbin, J. and Adams, N.",
title = "{ORBIT: An Optimizing Compiler for Scheme}",
journal = "ACM SIGPLAN Notices",
year = 1986,
volume = 21,
number = 7,
pages = "219-233",
month = "July",
note= "(Proceedings of the {SIGPLAN} 86 Symposium on Compiler Construction)",
annote = "Lisp, functional languages"
}
@PhDThesis{
Kranz88a,
key = "Kranz, David",
author = "Kranz, David",
title = "ORBIT: An Optimizing Compiler for Scheme",
school = "Department of Computer Science,
Yale University",
year = 1988,
annote = "Scheme, T"
}
@article{
Landin64,
key = "Landin, Peter J.",
author = "Landin, Peter J.",
title = "The Mechanical Evaluation of Languages",
journal = "Computer Journal",
volume = 6,
number = 4,
year = 1964,
month = "January",
pages = "308-320",
annote = "ISWIM, applicative languages, SECD machines"
}
@inProceedings{
Peyton-Jones85,
key = "Peyton Jones, Simon L.",
author = "{Peyton Jones}, Simon L. and Clack,C. and Harris,N.",
title = "GRIP - a Parallel Graph Reduction Machine",
booktitle = "Proc. 1985 Workshop on Implementations of
Functional Languages, Goteborg, Sweden",
organization = "Chalmers University of Technology",
year = 1985,
month = "February",
annote = "Combinators"
}
@Book{
Peyton-Jones87a,
key = "Peyton Jones87, Simon L.",
author = "{Peyton Jones}, Simon L."
title = "The Implementation of Functional Programming Languages",
publisher = "Prentice Hall",
year = 1987,
annote = "Combinators, G-Machine"
}
@inProceedings{
Peyton-Jones87b,
key = "Peyton Jones87, Simon L. and Clack, Chris and Salkild, Jon and Hardie, Mark ",
author = "{Peyton Jones}, Simon L. and Clack, Chris and Salkild, Jon and Hardie, Mark ",
title = "{GRIP -- A High Performance Architecture for Parallel Graph Reduction}",
booktitle = "{Proceedings of the 3rd. International Conference on
Functional Programming and Computer Architecture, Portland, Oregon}",
year = "1987",
month = "September",
annote = "Combinators, G-Machine"
}
@misc{
Peyton-Jones87c,
key = "Peyton Jones, Simon L.",
author = "{Peyton Jones}, Simon L.",
title = "{The tag is dead -- long live the packet}",
month = "October 22",
year = 1987,
note = "Note to FP e-mailing list",
annote = "Graph Reduction, Lambda Calculus"
}
@article{
Peyton-Jones88a,
key = "Peyton Jones, Simon L.",
author = "{Peyton Jones}, Simon L.",
title = "{FLIC --- a Functional Language Intermediate Code}",
journal = "ACM SIGPLAN Notices",
volume = 23,
number = 8,
year = 1988,
month = "August",
pages = "30-48",
note = "Also: Internal Note 2048,
Department of Computer Science, University College London,
Gower St., London WC1E 6BT",
annote = "Graph Reduction, Lambda Calculus"
}
@inProceedings{
Peyton-Jones88b,
key = "Peyton Jones, Simon L.",
author = "{Peyton Jones}, Simon L.",
title = "{The Spineless Tagless G-machine}",
booktitle = "Proceedings of the Workshop on Implementation of Lazy
Functional Languages, Aspenas, Sweden (to appear)"
month = "September 5-8",
year = 1988,
annote = "Graph Reduction, Lambda Calculus"
}
@techreport{
Steele78c,
key = "{Steele Jr.}, Guy Lewis",
author = "{Steele Jr.}, Guy Lewis",
title = "{RABBIT: A Compiler for SCHEME}",
institution = "Massachusetts Institute of Technology Artificial Intelligence Laboratory",
year = 1978,
month = "May",
number = "AI-TR-474",
address = "Cambridge, MA",
annote = "Lisp, functional languages"
}
@techReport{
Traub86,
key = "Traub86, Kenneth R.",
author = "Traub, Kenneth R.",
title = "A Compiler for the MIT Tagged-Token Dataflow Architecture",
institution = "MIT Laboratory for Computer Science,
545 Technology Square,
Cambridge, MA 02139",
number = "LCS TR-370",
year = "1986",
month = "August",
school = "(Master's Thesis, Dept. of Electrical Engineering and Computer
Science, MIT)",
annote = "Functional Languages, Id"
}
@PhdThesis{
Traub88a,
key = "Traub88, Kenneth R.",
author = "Traub, Kenneth R.",
title = "Sequential Implementation of Lenient
Programming Languages",
school = "Massachusetts Institute of Technology",
year = "1988",
month = "May",
note = "Also: TR-417,
MIT Laboratory for Computer Science,
545 Technology Square,
Cambridge, MA 02139",
annote = "Functional Languages, Id"
}
-------