% % (Compiled by) 1993 % % Wolfgang Schreiner % Research Institute for Symbolic Computation (RISC-Linz) % Johannes Kepler University, A-4040 Linz, Austria % % PLEASE DO NOT REMOVE THIS NOTICE. % @book{AbHa87, editor = {Abramsky, S. and Hankin, C.}, title = {Abstract Interpretation of Declarative Languages}, publisher = {Ellis Horwood}, year = {1987}, abstract = {}, keywords = {Abstract Interpretation}, } @book{AKM79, author = {Adachi, Akeo and Kasai, Takumi and Moriya, Etsuro}, title = {{A Theoretical Study on the Time Analysis of Programs}}, series = {Lecture Notes in Computer Science}, number = {74}, publisher = {Springer}, address = {Berlin}, year = {1979}, abstract = {An algorithm is developed that constructs time bound programs for a class of imperative programs called simple loop programs.}, keywords = {Granularity Analysis}, } @inproceedings{AlOl85, author = {Allan, S. J. and Oldehoeft, R. R.}, title = {{HEP SISAL: Parallel Functional Programming}}, booktitle = {Parrallel MIMD Computation}, editor = {Kowalik, J. S.}, pages = {123--150}, publisher = {MIT Press, Cambridge, MA}, year = {1985}, keywords = {Dataflow, Sisal}, } @article{ArBr84, author = {Arvind and Brock, J. D.}, title = {{Resource Managers in Functional Programming}}, journal = {Journal of Parallel and Distributed Computing}, volume = {1}, pages = {5--21}, year = {1984}, abstract = {By incorporating the history of communication into a stream, functional programs can be written for I/O and communication. Using the stream concept, managers may be written to control access to resources shared by several processes.}, keywords = {Streams, Process Networks}, } @article{BaMe90, author = {Banatre, J.-P. and Le Metayer, D.}, title = {{The GAMMA Model and its Discipline of Programming}}, journal = {Science of Programming}, volume = {15}, number = {1}, year = {1990}, pages = {55--77}, abstract = {}, keywords = {Non-Determinism}, } @article{BCM88, author = {Banatre, Jean-Pierre and Coutant, Anne and Le Metayer, Daniel}, title = {{A Parallel Machine for Multiset Transformation and Its Programming Style}}, journal = {Future Generation Computer Systems}, volume = {4}, pages = {133--144}, publisher = {North-Holland}, year = {1988}, abstract = {}, keywords = {Non-Determinism}, } @inproceedings{Berr92, author = {Berrry, Dave and Milner, Robin and Turner, David}, title = {{A Semantics for ML Concurrency Primitives}}, booktitle = {Nineteenth ACM Symposium on Principles of Programming Languages}, pages = {119--129}, publisher = {ACM Press, New York}, year = {1992}, abstract = {}, keywords = {ML, Threads, Semantics}, } @phdthesis{Bjer89, author = {Bjerner, B.}, title = {{Time Complexity of Programs in Type Theory}}, school = {Chalmers University of Technology}, address = {Sweden}, year = {1989}, abstract = {}, keywords = {Granularity Analysis}, } @phdthesis{Burn87x, author = {Burn, G. L.}, title = {{Abstract Interpretation and the Parallel Evaluation of Functional Languages}}, school = {Department of Computing}, address = {Imperial College, London}, year = {1987}, abstract = {A semantic criterion is presented which restricts the expressions which are evaluated to those which would eventually have been evaluated using a lazy evaluator. The complete analysis may be implemented as one of the passes in a compiler, so that programs can be automatically annotated with parallelism information.}, keywords = {Abstract Interpretation, Evaluation Transformers}, } @inproceedings{Burt85, author = {Burton, F. W.}, title = {{Controlling Speculative Computation in a Parallel Functional Programming Language}}, booktitle = {Fifth International Conference on Distributed Computing Systems}, address = {Denver, Colorado}, year = {1985}, abstract = {}, keywords = {Speculative Parallelism}, } @article{Burt85a, author = {Burton, F. Warren}, title = {{Speculative Computation, Parallelism and Functional Programming}}, journal = i3ec, volume = {34}, number = {12}, pages = {1190--1193}, month = {December}, year = {1985}, keywords = {Parallel Functional Programming}, } @mastersthesis{Chee85, author = {Cheese, A. B.}, title = {{The Applicability of SKI(BC) Combinators in a Parallel Rewrite Rule Environment}}, school = {Department of Computer Science}, address = {University of Manchester, UK}, year = {1985}, keywords = {Combinators}, } @inproceedings{CoCo77, author = {Cousot, Patrick and Cousot, Radhia}, title = {{Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints}}, booktitle = {Fourth ACM Symposium on Principles of Programming Language}, address = {Los Angeles, California}, pages = {238--252}, month = {January}, year = {1977}, publisher = {ACM Press, New York}, abstract = {}, keywords = {Abstract Interpretation}, } @book{Cole89, author = {Cole, Murray I.}, title = {{Algorithmic Skeletons: Structured Management of Parallel Computation}}, series = {Research Monographs in Parallel and Distributed Computing}, publisher = {Pitman, London}, year = {1989}, keywords = {Parallel Functional Programming}, } @techreport{Cupi88, author = {Cupitt, J.}, title = {{Another New Scheme for Writing Functional Operating Systems}}, number = {52}, institution = {Cumputing Laboratory}, address = {University of Kent, Canterbury, UK}, year = {1988}, abstract = {}, keywords = {Operating System}, } @techreport{Cupi89a, author = {Cupitt, J.}, title = {{A Brief Walk Through KAOS}}, number = {58}, institution = {Computing Laboratory}, address = {University of Kent, Canterbury, UK}, year = {1989}, abstract = {}, keywords = {Operating System}, } @phdthesis{Cupi89, author = {Cupitt, J.}, title = {{The Design and Implementation of an Operating System in a Functional Language}}, school = {University of Kent}, month = {October}, year = {1989}, abstract = {}, keywords = {Operating System}, } @inproceedings{DaWa90, author = {Davis, K. and Wadler, P.}, title = {{Strictness Analysis in Four Dimensions}}, booktitle = {Functional Programming: Proceedings of the 1990 Workshop}, address = {Ullapool, Scotland}, month = {August}, year = {1990}, series = {Springer Workshops in Computing}, publisher = {Springer, Berlin}, abstract = {A relational, higher-order monomorphic backward method for strictness analysis is given.}, keywords = {Strictness Analysis, Backward Analysis}, } @inproceedings{Davi91, author = {Davis, K.}, title = {{A Note on the Choice of Domains for Projection-Based Program Analysis.}}, booktitle = {Functional Programming: Proceedings of the 1991 Glasgow Workshop}, address = {Isle of Skye, Scotland, August 13-15}, year = {1991}, editor = {Wadler, Philip}, series = {Springer Workshops in Computing}, publisher = {Springer, Berlin}, abstract = {}, keywords = {Strictness Analysis, Projections}, } @inproceedings{Dybj87, author = {Dybjer, P.}, title = {{Computing Inverse Images}}, booktitle = {International Conference on Automata, Languages, and Programming}, year = {1987}, abstract = {}, keywords = {Strictness Analysis}, } @techreport{Flajo87, author = {Flajolet, P.}, title = {{Mathematical Tools for Automatic Program Analysis}}, number = {603}, institution = {Institut National de Recherche en Informatique et en Automatique}, month = {February}, year = {1987}, abstract = {This paper examines generating functions to be used in a system for deriving expected complexities (average computation time).}, keywords = {Granularity Analysis}, } @inproceedings{FrWi76, author = {Friedman, D. P. and Wise, D. S.}, title = {{The Impact of Applicative Multiprogramming on Multiprocessing}}, booktitle = {Proceedings of the 1976 International Conference on Parallel Processing}, pages = {263--272}, year = {1976}, keywords = {Parallel Functional Programming}, } @techreport{FrWi78a, author = {Friedman, D. P. and Wise, D. S.}, title = {{Applicative Multiprogramming}}, number = {72}, institution = {Computer Science Department}, address = {Indiana University, Bloomington, Indiana}, month = {December}, year = {1978}, keywords = {Parallel Functional Programming}, } @techreport{FrWi79, author = {Friedman, D. P. and Wise, D. S.}, title = {{A Constructor for Applicative Multiprogramming}}, number = {80}, institution = {Computer Science Department}, address = {Indiana University, Bloomington, Indiana}, month = {January}, year = {1979}, keywords = {Parallel Functional Programming}, } @inproceedings{FrWi80, author = {Friedman, Daniel and Wise, David}, title = {{An Indeterminate Constructor for Applicative Programming}}, booktitle = {7th Symposium on Principles of Programming Languages}, year = {1980}, abstract = {}, keywords = {Non-Determinism}, } @incollection{GaMc88, author = {Gabriel, R. and McCarthy, J.}, title = {{Qlisp}}, booktitle = {Parallel Computation and Computers for Artificial Intelligence}, editor = {Kowalik, J.}, publisher = {Kluwer Academic Publishers}, year = {1988}, pages = {63--89}, abstract = {}, keywords = {Lisp, Parallelization}, } @inproceedings{GiLe90, author = {Giorgi, J.-F. and {Le M{\'e}tayer}, D.}, title = {{Continuation-Based Parallel Implementation of Functional Languages}}, booktitle = {ACM Symposium on Lisp and Functional Programming}, address = {Nice, France, June 25--29}, year = {1990}, publisher = {ACM Press, New York}, abstract = {}, keywords = {Continuations}, } @article{GMP89, author = {Giacalone, Alessandro and Mishra, Prateek and Prasad, Sanjiva}, title = {{Facile: A Symmetric Integration of Concurrent and Functional Programming}}, journal = {International Journal of Parallel Programming}, volume = {18}, number = {2}, pages = {121--160}, month = {April}, year = {1989}, abstract = {}, keywords = {Facile}, } @inproceedings{GoGa88a, author = {Goldman, Ron and Gabriel, Richard P.}, title = {{Preliminary Results with the Initial Implementation of Qlisp}}, booktitle = {ACM Conference on Lisp and Functional Programming}, address = {Snowbird, Utah}, month = {July}, year = {1988}, pages = {143--152}, publisher = {ACM Press, New York}, keywords = {Lisp, Parallelization}, } @article{Hals86a, author = {Halstead, Robert H.}, title = {{An Assessment of Multilisp --- Lessions from Experience}}, journal = {International Journal of Parallel Programming}, volume = {15}, number = {6}, month = {December}, year = {1986}, keywords = {Multilisp}, } @article{Hals88, author = {Halstead, Robert H.}, title = {{Overview of Concert Multilisp: A Multiprocesor Symbolic Computation System}}, journal = {ACM Computer Architecture News}, volume = {15}, number = {1}, month = {March}, year = {1987}, pages = {5--14}, abstract = {}, keywords = {Multilisp}, } @inproceedings{HaHe90, author = {Hammer, Carsten and Henties, Thomas}, title = {{Parallel Lisp for a Distributed Memory Machine}}, booktitle = {EUROPAL workshop on High Performance and Parallel Computing in Lisp}, month = {November}, year = {1990}, address = {Twickenham, UK}, abstract = {}, keywords = {Lisp}, } @techreport{Hamm89, author = {Hammond, Kevin}, title = {{Error Handling in the Parallel Implementation of a Lazy Functional Language}}, number = {C89-01}, institution = {School of Information Systems}, address = {University of East Anglia, Norwich, UK}, year = {1989}, abstract = {This paper presents a version of the error value method which allows lazy computation with deterministic semantics for divide-and-conquer parallel evaluation even in the presence of errors.}, keywords = {Error Handling}, } @phdthesis{Hamm89a, author = {Hammond, Kevin}, title = {{Implementing Functional Languages for Parallel Machines}}, school = {School of Information Systems}, address = {University of East Anglia, Norwich, UK}, year = {1989}, abstract = {Commencing with the Standard ML language, dialects XSML and PSML are defined which permit parallel evaluation of functional programs. XSML is Standard ML with a novel mechanism for handling exceptions; PSML is a side-effect free version of XSML. A formal semantics for PSML and a translation algorithm from this language into Dactl, a compiler target language based on the theory of graph-rewriting, are presented. The thesis proves that a simplified version of this translation preserves meaning for flat domains, and that the strategy for reduction to normal form is correct. The implementation of standard compilation techniques such as strictness analysis, maximal free sub-expression elision and common sub-expression elimination is considered with respect to Dactl, and problems highlighted. Techniques are also presented for compiling exception-handling correctly in a parallel environment, and for compiling side-effect for a parallel machine. Metrics for performance evaluation obtained using the Dactl reference interpreter are presented.}, keywords = {ML, Graph-Rewriting, Strictness Analysis}, } @inproceedings{Hend82, author = {Henderson, Peter}, title = {{Purely Functional Operating Systems}}, booktitle = {Functional Programming and its Applications}, editor = {Darlington, J. and Henderson P. and Turner, D. A.}, publisher = {Cambridge University Press}, year = {1982}, pages = {177--192}, abstract = {}, keywords = {Non-Determinism}, } @inproceedings{Huda83a, author = {Hudak, Paul}, title = {{Distributed Task and Memory Management}}, booktitle = {Symposium on Principles of Ditributed Computing}, editor = {Lynch, N. A. and others}, publisher = {ACM Press, New York}, month = {August}, year = {1983}, } @article{Huda86b, author = {Hudak, Paul}, title = {{Denotational Semantics of a Para-functional Programming Language}}, journal = {International Journal of Parallel Programming}, volume = {15}, number = {2}, pages = {103--125}, year = {1986}, abstract = {}, keywords = {Para-Functional Programming}, } @techreport{Hugh87, author = {Hughes, R. J. M.}, title = {{Backwards Analysis of Functional Programs}}, type = {Departmental Research Report}, number = {CSC/87/R3}, institution = {Department of Computing Science}, address = {University of Glasgow, Scotland}, year = {1987}, abstract = {This paper outlines a higher-order method for strictness analysis: it seems to be relational in its forward (higher-order) components, and independent in its backward (first-order) components. In fact, the construction is inconsistent. This method is not based on projections, but a rather more general concept of contexts, but involves essentially the same kind of abstract domains.}, keywords = {Strictness Analysis, Contexts}, } @incollection{Hugh87a, author = {Hughes, R. J. M.}, title = {{Analysing Strictness by Abstract Interpretation of Continuations}}, booktitle = {Abstract Interpretation of Declarative Languages}, editor = {Abramsky, S. and Hankin, C.}, publisher = {Ellis Horwood}, chapter = {4}, year = {1987}, abstract = {}, keywords = {Strictness Analysis, Abstract Interpretation, Continuations}, } @book{Jone83, author = {Jones, S. B.}, title = {{Abstract Machine Support for Purely Functional Operating Systems}}, series = {Technical Monograph}, number = {PRG-34}, institution = {Programming Research Group}, publisher = {Oxford University Press}, month = {August}, year = {1983}, abstract = {}, keywords = {Operating System}, } @book{Jone84, author = {Jones, S. B.}, title = {{A Range of Operating Systems written in a Purely Functional Style}}, series = {Technical Monograph}, number = {PRG-42}, institution = {Programming Research Group}, publisher = {Oxford University Press}, month = {September}, year = {1984}, abstract = {}, keywords = {Operating System}, } @techreport{Karl81, author = {Karlson, K.}, title = {{Nebula --- A Functional Operating System}}, institution = {Laboratory for Programming Methodology}, address = {Department of Computer Science, Chalmers University, Sweden}, year = {1980}, abstract = {}, keywords = {Operating System}, } @techreport{Kasa80, author = {Kasai and others}, title = {{An Automatic Time Analysis System}}, number = {RIMS-335}, institution = {Kyoto University}, address = {Japan}, month = {May}, year = {1980}, abstract = {This paper describes a system, TIMER, that generates upper and lower bounds for the complexity of programs written in a small imperative C-like language. The system is semi-automatic in that it requires some user annotation, and the estimates can be improved by further annotation of the program. As such it is a powerful tool for developing efficient algorithms, but it is not intended to be a program analysis system.}, keywords = {Granularity Analysis}, } @article{KeLi84, author = {Keller, R. M. and Lin, F. C. H.}, title = {{Simulated Performance of a Reduction-Based Multiprocesor}}, journal = {IEEE Computer}, volume = {17}, number = {7}, pages = {70--82}, month = {July}, year = {1984}, abstract = {}, keywords = {Simulation, Graph Reduction}, } @article{Kell85, author = {Keller, R. M.}, title = {{Distributed Computation by Graph Reduction}}, journal = {Systems Research}, volume = {2}, number = {4}, pages = {285--295}, year = {1985}, abstract = {The author describes the use and distributed implementation of a functional language based on the graph reduction concept. Attention is given to the issue of implementing higher-order functions and concurrent evaluation. Prospects for optimization of this implementation are pointed out.}, keywords = {Parallel Graph Reduction}, } @inproceedings{KeSl82, author = {Kennaway, J. R. and Sleep, M. R.}, title = {{Parallel Implementations of Functional Languages}}, booktitle = {1982 International Conference on Parallel Processing}, pages = {168--170}, publisher = {IEEE}, month = {August}, year = {1982}, abstract = {}, keywords = {Parallel Functional Programming}, } @inproceedings{KeSl82a, author = {Kennaway, J. R. and Sleep, M. R.}, title = {{Expressions as Processes}}, booktitle = {1982 Symposium on Lisp and Functional Programming}, year = {1982}, publisher = {ACM Press, New York}, pages = {21--28}, abstract = {}, keywords = {Lambda-Calculus, Processes}, } @techreport{LeBu89, author = {Lester, D. R. and Burn, G. L.}, title = {{An Executable Specification of the HDG-Machine}}, institution = {GEC Hirst Research Centre}, month = {November}, year = {1989}, abstract = {}, keywords = {Parallel Graph Reduction}, } @inproceedings{KHL91, author = {Kubiak, R. and Hughes, J. and and Launchbury, J.}, title = {{A Prototype Implementation of Projection-Based First-Order Polymorphic Strictness Analysis}}, booktitle = {Functional Programming: Proceedings of the 1991 Glasgow Workshop}, address = {Isle of Skye, Scotland, August 13-15}, year = {1991}, editor = {Wadler, Philip}, series = {Springer Workshops in Computing}, publisher = {Springer, Berlin}, abstract = {This paper discusses the implementation of first-order, polymorphic Backwards Strictness Analyzer in the Glasgow Haskell Compiler.}, keywords = {Strictness Analysis, Projections}, } @phdthesis{Mart89, author = {Martin, Chris}, title = {{Algorithms for Finding Fixpoints in Abstract Interpretation}}, school = {Department of Computing}, address = {Imperial College, London, UK}, year = {1989}, abstract = {}, keywords = {Abtract Interpretation, Fixpoints}, } @inproceedings{Meta85, author = {Le Metayer, Daniel}, title = {{Mechanical Analysis of Program Complexity}}, booktitle = {SIGPLAN '85 Symposium}, series = {SIGPLAN Notices}, volume = {20(7)}, pages = {69--73}, publisher = {ACM Press, New York}, year = {1985}, abstract = {This paper describes the ACE system for automatic generation of complexity functions for a subset of FP. This system is based on program transformation, with a library of more than 1000 transformation rules which are applied to transform the step-counting version of a program to a composition of the complexity function and a size measure.}, keywords = {Granularity Analysis}, } @inproceedings{Matt91, author = {Matthews, David}, title = {{A Distributed Concurrent Implementation of Standard ML}}, booktitle = {EurOpen Autumn Conference}, year = {1991}, abstract = {}, keywords = {ML, Threads}, } @inproceedings{MAVD92, author = {Williams, M. C. and Armstrong, J. L. and Virding, S. R. and Dacker, B. O.}, title = {{Implementing a Functional Language for Highly Parallel Real Time Applications}}, booktitle = {8th SETSS, Florence, Italy, March 30 -- April 1}, year = {1990}, abstract = {}, keywords = {Erlang}, } @inproceedings{McCa63, author = {McCarthy, John}, title = {{A Basis for a Mathematical Theory of Computation}}, booktitle = {Computer Programming and Formal Systems}, editor = {Braffort, P. and Hirschberg, D.}, publisher = {North-Holland, Amsterdam}, year = {1963}, pages = {33--70}, abstract = {}, keywords = {Non-Determinism}, } @phdthesis{Mill87, author = {Miller, J. S.}, title = {{MultiScheme, A Parallel Processing System Based on MIT Scheme}}, school = {Department of Electrical Engineering and Computer Science}, address = {Massachusetts Institute of Technology, Cambridge, MA}, month = {August}, year = {1987}, note = {Also: Technical Report MIT LCS/TR/402}, keywords = {Lisp, Parallelization}, } @article{Mill88, author = {Miller, J. S.}, title = {{Implementing a Scheme-Based Parallel Processing System}}, journal = {International Journal of Parallel Programming}, volume = {17}, number = {5}, month = {October}, year = {1988}, pages = {367--402}, keywords = {Lisp, Parallelization}, } @inproceedings{MKH90, author = {Mohr, E. and Kranz, D. and Halstead, R.}, title = {{Lazy Task Creation: A Technique for Increasing the Granularity of Parallel Programs}}, booktitle = {ACM Conference on Lisp and Functional Programming}, address = {Nice, France, June 27--29}, year = {1990}, publisher = {ACM Press, New York}, keywords = {Granularity}, } @inproceedings{Morr91, author = {Morrisett, J.\ Gregory}, title = {{Running your Continuation Threads in Parallel}}, booktitle = {Third International Workshop on Standard ML}, address = {Pttsburgh, PA}, month = {September}, year = {1991}, abstract = {}, keywords = {ML, Continuations, Threads}, } @phdthesis{Mycr81, author = {Mycroft, Alan}, title = {{Abstract Interpretation and Optimising Transformations for Applicative Programs}}, school = {University of Edinburgh}, address = {Scotland}, year = {1986}, abstract = {}, keywords = {Abstract Interpretation}, } @inproceedings{Nikh89, author = {Nikhil, R.}, title = {{Can Dataflow Subsume von Neumann Computing?}}, booktitle = {15th Annual International Symposium on Computer Architecture}, pages = {131}, address = {Honolulu, Hawai}, year = {1989}, keywords = {Dataflow, Multi-threaded Architectures}, } @inproceedings{OCA86, author = {Oldehoeft, R. R. and Cann, D. C. and Allan, S. J.}, title = {{SISAL: Initial MIMD Performance Results}}, booktitle = {Conference on Algorithms and Hardware for Parallel Processing}, address = {Aachen, Germany}, month = {September}, year = {1986}, pages = {120--127}, publisher = {Springer, Berlin}, keywords = {Dataflow, Sisal, Compilation}, } @article{OlCa88, author = {Oldehoeft, R. R. and Cann, D. C.}, title = {{Applicative Parallelism on a Shared-Memory Multiprocessor}}, journal = {IEEE Software}, volume = {5}, pages = {62--70}, number = {1}, month = {January}, year = {1988}, keywords = {Parallel Functional Programming}, } @inproceedings{Pett81, author = {Pettorossi, A.}, title = {{An Approach to Communications and Parallelism in Applicative Languages}}, booktitle = {Formalization of Programming Concepts}, editor = {Ramos, I.}, pages = {432--446}, publisher = {Springer, Berlin}, year = {1981}, keywords = {Parallel Functional Programming}, } @techreport{Paul83, author = {Paulsen, Christian}, title = {{A Parallel Implementation of a Functional Language}}, institution = {Computer Science Department}, address = {Institute of Mathematics, University of Aarhus, Denmark}, month = {January}, year = {10983}, keywords = {Parallel Functional Programming}, } @techreport{Peyt85, author = {Peyton Jones, Simon L.}, title = {{Generating Parallelism from Strictness Analysis}}, type = {Internal Note}, number = {1679}, institution = {Department of Computer Science}, address = {University College, London, UK}, year = {1985}, abstract = {The author investigates the use of strictness analysis to determine at compile time which parts of program evaluation can be carried out simultaneously. He gives a practical explanation of this technique and presents measurements of the actual parallelism produced.}, keywords = {Strictness Analysis, Parallelization}, } @techreport{Repp89, author = {Reppy, J. M.}, title = {{First-Class Synchronization Operations in Standard ML}}, institution = {Department of Computer Science}, address = {Chalmers University of Technology, G{\"o}teborg, Sweden}, number = {89-1068}, year = {1989}, abstract = {}, keywords = {ML, Continuations}, } @mastersthesis{Rose86, author = {Rosendahl, Mads}, title = {{Automatic Program Analysis}}, school = {Institute of Datalogy}, address = {University of Copenhagen, Denmark}, year = {1986}, abstract = {}, keywords = {Granularity Analysis}, } @book{Sabo88, author = {Sabot, Gary}, title = {{The Paralation Model: Architecture Independent SIMD Programming}}, publisher = {MIT Press}, address = {Cambridge, MA}, year = {1988}, keywords = {SIMD, Lisp, Data-Parallelism}, } @book{Sark89, author = {Sarkar, Vivek}, title = {{Partitioning and Scheduling Parallel Programs for Execution on Multiprocessors}}, series = {Research Monographs in Parallel and Distributed Computing}, publisher = {Pitman, London}, year = {1989}, keywords = {Parallelization, Compilation}, } @techreport{SoSe88, author = {S{\o}ndergaard, H. and Sestoft, P.}, title = {{Non-Determinism in Functional Languages}}, number = {88-18}, institution = {Department of Computer Science}, address = {University of Melbourne, Australia}, year = {1988}, abstract = {}, keywords = {Non-Determinism}, } @inproceedings{Sore83, author = {S{\"o}ren, Holstr{\"o}m}, title = {{PFL: A Functional Language for Parallel Programming and Its Implementation}}, booktitle = {Declarative Programming Worshop at University College}, address = {London, UK, April 11--13}, year = {1983}, note = {Also: Technical Report 83.03 R, Department of Computer Science, Chalmers University of Technology, G{\"o}teborg, Sweden}, abstract = {}, keywords = {Parallel Functional Programming}, } @techreport{Stoy84, author = {Stoye, W.}, title = {{A New Scheme for Writing Functional Operating Systems}}, number = {56}, institution = {University of Cambridge Computer Laboratory}, address = {Cambridge, UK}, year = {1984}, abstract = {A scheme is described for writing nondeterministic programs in a functional language. The scheme is based on message passing between a number of expressions being evaluated in parallel.}, keywords = {Operating Systems, Streams, Non-Determinism}, } @article{Stoy86, author = {Stoye, William}, title = {{Message-based Functional Operating Systems}}, journal = {Science of Computer Programming}, volume = {6}, number = {3}, pages = {291--311}, year = {1986}, abstract = {}, keywords = {Operating Systems}, } @inproceedings{SKL88, author = {Swanson, M. and Kessler, R. and Lindstrom, G.}, title = {{An Implementation of Portable Standard Lisp on the BBN Butterfly}}, booktitle = {ACM Symposium on Lisp and Functional Programming}, address = {Snowbird, Utah}, month = {July}, year = {1988}, pages = {132--142}, publisher = {ACM Press, New York}, abstract = {}, keywords = {Lisp, Parallelization}, } @inproceedings{Syre76, author = {Syre, J. C.}, title = {{Parallelism Control and Synchronization in a Single Assignment Language}}, booktitle = {Fourth Annual Computer Science Conference}, address = {Anaheim, CA}, year = {1976}, pages = {30}, keywords = {Parallelism Control}, } @techreport{Talc86, author = {Talcott, Carolyn}, title = {{Derived Properties and Derived Programs}}, institution = {Stanford University}, address = {California}, month = {May}, year = {1986}, abstract = {This paper gives a general theory for externalizing internal properties. A program can be extended to a program that returns the computation track of the evaluation. The computation time can then be expressed as the length of the computation track. The method can be used to analyze other internal properties such as maximum stack depth and number of function calls and the theory makes it possible to prove such extended programs correct.}, keywords = {Granularity Analysis}, } @incollection{Wadl87a, author = {Wadler, Philip}, title = {{Strictness Analysis in Non-Flat Domains by Abstract Interpretation}}, booktitle = {Abstract Interpretation of Declarative Languages}, editor = {Abramsky, S. and Hankin, C.}, publisher = {Ellis Horwood}, chapter = {12}, year = {1987}, abstract = {}, keywords = {Abstract Interpretation}, } @inproceedings{Wadl88, author = {Wadler, Philip}, title = {{Strictness Analysis Aids Time Analysis}}, booktitle = {Principles of Programming Languages}, year = {1988}, abstract = {This paper describes a method of developing step-counting versions for programs under lazy evaluation. The transformation is rather trivial under eager evaluation but under lazy evaluation the computation time depends on the context. The step-counting version is constructed by extending the function with an extra argument to describe which part of the result is needed.}, keywords = {Granularity Analysis}, } @inproceedings{Wadl90, author = {Wadler, Philip}, title = {{Comprehending Monads}}, booktitle = {ACM Conference on Lisp and Functional Programming}, address = {Nice, France}, month = {June}, year = {1990}, pages = {61--78}, publisher = {ACM Press, New York}, abstract = {Category theorists invented {\em monads\/} in the 1960's to concisely express certain aspects of universal algebra. Functional programmers invented {\em list comprehensions\/} in the 1970's to concisely express certain programs involving lists. This paper shows how list comprehensions may be generalized to an arbitrary monad, and how the resulting programming feature can concisely express in a purely functional language some programs that manipulate state, handle exceptions, parse text, or invoke continuations. A new solution to the old problem of destructive array update is presented. No knowledge of category theory is assumed.}, keywords = {Mondads, Aggregate Update}, } @phdthesis{Wats86, author = {Watson, Paul}, title = {{The Parallel Reduction of Lambda Calculus Expressions}}, school = {University of Manchester}, address = {UK}, year = {1986}, abstract = {An approach to the parallel evaluation of functional programs represented as $\lambda$-expressions is described.}, keywords = {Parallel Functional Programming, Lambda Calculus}, } @techreport{Wats89, author = {Watson, Ian}, title = {{Simulation of a Physical EDS Machine Architecture}}, institution = {Department of Computer Science}, address = {University of Manchester, UK}, month = {September}, year = {1989}, abstract = {}, keyword = {Simulation}, } @inproceedings{WaWa86, author = {Watson, Ian and Watson, Paul}, title = {{Parallel Data Driven Graph Reduction}}, booktitle = {Fifth Generation Computer Architectures}, editor = {Woods, J. V.}, publisher = {Nort Holland}, year = {1986}, keywords = {Parallel Graph Reduction, Data Flow}, } @inproceedings{WaWa87a, author = {Watson, Ian and Watson, Paul}, title = {{Graph Reduction in a Parallel Virtual Memory Environment}}, booktitle = {Proceedings of the Graph Reduction Workshop}, address = {Santa Fe, New Mexico, September 29 -- October 1}, year = {1986}, series = {Lecture Notes in Computer Science}, publisher = {Springer, Berlin}, pages = {265--274}, abstract = {This paper examines the area of memory organization and the mechanisms which are required to ensure that the full benefits of this implementation strategy are maintained whilst achieving an efficient physical structure. The major areas of interest are the maintenance of locality and the use of storage management techniques which minimize communication.}, keywords = {Parallel Graph Reduction, Memory Management}, } @techreport{Ween88, author = {Weening, J. S.}, title = {A Parallel Lisp Simulator}, number = {STAN-CS-88-1206}, institution = {Department of Computer Science}, address = {Stanford University, CA}, year = {1988}, abstract = {CSIM is a simulator for parallel Lisp, based on a continuation passing interpreter. It models a shared-memory multiprocessor executing programs written in Common Lisp, extended with several primitives for creating and controlling processes. This paper describes the structure of the simulator, measures its performance, and gives an example of its use with a parallel Lisp program.}, keywords = {Lisp}, } @article{Weth82, author = {Wetherell, C.}, title = {{Error Data Values in the Data-Flow Language VAL}}, journal = toplas, volume = {4}, number = {2}, month = {April}, year = {1982}, pages = {226--238}, abstract = {}, keywords = {Dataflow, Error Handling}, }