Towards the uniform implementation of declarative languages

Computer Languages - Tập 23 - Trang 121-160 - 1997
Manuel M.T. Chakravarty1
1Institute of Information Sciences and Electronics, University of Tsukuba, Tsukuba 305, Japan

Tài liệu tham khảo

Johnsson, 1984, Efficient compilation of lazy evaluation Koopman, 1990, The ABC-machine: A sequential stack-based abstract machine for graph rewriting Peyton Jones, 1992 Peyton Jones, 1992, Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine, Journal of Functional Programming, 2 Langendoen, 1992, FCG: a code generator for lazy functional languages Warren, 1983, An abstract Prolog instruction set Aït-Kaci, 1991, Warren's Abstract Machine: A Tutorial Reconstruction, 10.7551/mitpress/7160.001.0001 Van Roy, 1990, Can Logic Programming Execute as Fast as Imperative Programming Taylor, 1991, High Performance Prolog Implementation Haygood, 1994, Native code compilation in SICStus Prolog Peyton Jones, 1991, Unboxed values as first class citizens in a non-strict functional language Peterson, 1996, Haskell 1.3: a non-strict, purely functional language Hartel, 1996, Benchmarking implementations of functional languages with “pseudoknot”, a float-intensive benchmark, Journal of Functional Programming, 6, 10.1017/S0956796800001891 Guo, 1994, Definitional Constraint Programming Lloyd, 1994, Practical advantage of declarative programming Bosco, 1989, An extension of WAM for K-LEAF: a WAM-based compilation of conditional narrowing Hanus, 1991, Efficient implementation of narrowing and rewriting, volume 567, 344 Mück, 1992, CAMEL: An extension of the categorial abstract machine to compile functional/logic programs Moreno-Navarro, 1990, Lazy narrowing in a graph machine Loogen, 1991, From reduction machines to narrowing machines, 438 Peyton Jones, 1988, The spineless tagless G-machine Lock, 1988, Guarded TermML Chakravarty, 1991, The functional logic programming language Guarded TermML: Language definition Hudak, 1992, Haskell special issue, ACM SIGPLAN Notices Sterling, 1986 Hanus, 1994, The integration of functions into logic programming: from theory to practice, Journal of Logic Programming, 19, 20, 10.1016/0743-1066(94)90034-5 Millner, 1978, theory of type polymorphism in programming, Journal of Computer System Science, 17, 10.1016/0022-0000(78)90014-4 Milner, 1990 Peyton Jones, 1987, The Implementation of Functional Proyramming Languages Lock, 1992, The Implementation of Functional Logic Programming Languages Lock, 1993 Antoy, 1994, A needed narrowing strategy, 268 Hill, 1994 Lloyd, 1987 Hölldobler, 1989 Gallier, 1989, Extending SLD-resolution to equational horn clauses using E-unification, Journal of logic Programming, 6, 10.1016/0743-1066(89)90028-9 Hullot, 1980, Canonical forms and unification Reddy, 1985, Narrowing as the operational semantics of functional languages Meijer, 1990, Down with λ-lifting Jaffar, 1987, Constraint logic programming, 111 Lock, 1994, A tiny functional logic constraint language and its continuation semantics Prehofer, 1994, Higher-order narrowing, 507 Huet, 1973, The undecidability of unification in third-order logic, Information and Control, 22, 257, 10.1016/S0019-9958(73)90301-X Miller, 1991, A logic programming language with lambda-abstraction, function variables, and simple unification, Journal of Logic and Computation, 1, 10.1093/logcom/1.4.497 Smolka, 1994, A calculus for higher-order concurrent constraint programming with deep guards Guo, 1994, Lambda calculus with logical variables Aït-Kaci, 1991, Towards a meaning of LIFE, 255 Smolka, 1992, Feature-constraint logic for unification grammars, Journal of Logic Programming, 12, 51, 10.1016/0743-1066(92)90039-6 Hanus, 1990, Compiling logic programs with equality Moreno-navarro, 1992, Logic programming with functions and predicates: The language BABEL, Journal of Logic Programming, 12, 189, 10.1016/0743-1066(92)90024-W Chakravarty, 1991, The implementation of lazy narrowing, 123 Sankaran, 1994, A bibliography on garbage collection and related topics, SIGPLAN Notices, 29, 10.1145/185009.185040 Fairbairn, 1987, TIM—a simple lazy abstract machine to execute supercombinators Hartel, 1994, Benchmarking implementations of lazy functional languages II—two years later Hammond, 1991, Profiling scheduling strategies on the GRIP parallel reducer Aho, 1986 Loogen, 1991, Dynamic detection of determinism in functional logic languages Peyton, 1993, The Glasgow Haskell Compiler: a technical overview Van Roy, 1994, 1983–1993: The wonder years of sequential Prolog implementations, Journal of Logic Programming, 1920, 385, 10.1016/0743-1066(94)90031-0 Somogyi, 1996, The execution algorithm of Mercury, an efficient purely declarative logic programming language, Journal of Logic Programming, 29, 17, 10.1016/S0743-1066(96)00068-4 Kuchen, 1990, Graph-based implementation of a functional logic language Loogen, 1993, Relating the implementation techniques of functional and functional logic languages, New Generation Computing, 11, 179, 10.1007/BF03037158 Nakagawa, 1995, Compiling programs of an applicative narrowing calculus, 78 Goldfarb, 1981, The undecidability of the second-order unification problem, Theoretical Computer Science, 13, 10.1016/0304-3975(81)90040-2 Qian, 1994, Higher-order equational logic programming Nakahara, 1995, A complete narrowing calculus for higher-order functional logic programming, 97