Advertisement

Concurrent ML: Design, application and semantics

  • John H. ReppyEmail author
Part of the Lecture Notes in Computer Science book series (LNCS, volume 693)

Keywords

Concurrent Programming Dynamic Semantic Unit Event Program Language Design Synchronous Operation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AB86]
    Abramsky, S. and R. Bornat. Pascal-m: A language for loosely coupled distributed systems. In Y. Paker and J.-P. Verjus (eds.), Distributed Computing Systems, pp. 163–189. Academic Press, New York, N.Y., 1986.Google Scholar
  2. [Agh86]
    Agha, G. Actors: A Model of Concurrent Computation in Distributed Systems. The MIT Press, Cambridge, Mass., 1986.Google Scholar
  3. [AM87]
    Appel, A. W. and D. B. MacQueen. A Standard ML compiler. In Functional Programming Languages and Computer Architecture, vol. 274 of Lecture Notes in Computer Science. Springer-Verlag, September 1987, pp. 301–324.Google Scholar
  4. [And91]
    Andrews, G. R. Concurrent Programming: Principles and Practice. Benjamin/Cummings, Redwood City, California, 1991.Google Scholar
  5. [AOCE88]
    Andrews, G. R., R. A. Olsson, M. Coffin, and I. Elshoff. An overview of the SR language and implementation. ACM Transactions on Programming Languages and Systems, 10(7), January 1988, pp. 51–86.Google Scholar
  6. [App92]
    Appel, A. W. Compiling with Continuations. Cambridge University Press, New York, N.Y., 1992.Google Scholar
  7. [AS83]
    Andrews., G. R. and F. B. Schneider. Concepts and notations for concurrent programming. ACM Computing Surveys, 15(1), March 1983, pp. 3–43.Google Scholar
  8. [BB90]
    Berry, G. and G. Boudol. The chemical abstract machine. In Conference Record of the 17th Annual ACM Symposium on Principles of Programming Languages, January 1990, pp. 81–94.Google Scholar
  9. [BCJ+90]
    [BCJ+90] Birman, K., R. Cooper, T. A. Joseph, K. Marzullo, M. Makpangou, K. Kane, F. Schmuck, and M. Wood. The ISIS system manual, version 2.0. Department of Computer Science, Cornell University, Ithaca, N.Y., March 1990.Google Scholar
  10. [BMT92]
    Berry, D., R. Milner, and D. N. Turner. A semantics for ML concurrency primitives. In Conference Record of the 19th Annual ACM Symposium on Principles of Programming Languages, January 1992, pp. 119–129.Google Scholar
  11. [Bor86]
    Bornat, R. A protocol for generalized occam. Software — Practice and Experience, 16(9), September 1986, pp. 783–799.Google Scholar
  12. [Bur88]
    Burns, A. Programming in occam 2. Addison-Wesley, Reading, Mass., 1988.Google Scholar
  13. [Car86]
    Cardelli, L. Amber. In Combinators and Functional Programming Languages, vol. 242 of Lecture Notes in Computer Science. Springer-Verlag, July 1986, pp. 21–47.Google Scholar
  14. [CK92]
    Cooper, R. and C. D. Krumvieda. Distributed programming with asynchronous ordered channels in Distributed ML. In Proceedings of the 1992 ACM SIGPLAN Workshop on ML and its Applications, June 1992, pp. 134–148.Google Scholar
  15. [CM90]
    Cooper, E. C. and J. G. Morrisett. Adding threads to Standard ML. Technical Report CMU-CS-90-186, School of Computer Science, Carnegie Mellon University, December 1990.Google Scholar
  16. [Con86]
    Constable, R. et al. Implementing Mathematics with The Nuprl Development System. Prentice-Hall, Englewood Cliffs, N.J., 1986.Google Scholar
  17. [CP85]
    Cardelli, L. and R. Pike. Squeak: A language for communicating with mice. In SIGGRAPH '85, July 1985, pp. 199–204.Google Scholar
  18. [DHM91]
    Duba, B., R. Harper, and D. MacQueen. Type-checking first-class continuations. In Conference Record of the 18th Annual ACM Symposium on Principles of Programming Languages, January 1991, pp. 163–173.Google Scholar
  19. [FF86]
    Felleisen, M. and D. P. Friedman. Control operators, the SECD-machine, and the λ-calculus. In M. Wirsing (ed.), Formal Description of Programming Concepts — III, pp. 193–219. North-Holland, New York, N.Y., 1986.Google Scholar
  20. [GL91]
    George, L. and G. Lindstrom. Using a functional language and graph reduction to program multiprocessor machines. Technical Report UUCS-91-020, Department of Computer Science, University of Utah, October 1991.Google Scholar
  21. [GMP89]
    Giacalone, A., P. Mishra, and S. Prasad. Facile: A symemetric integration of concurrent and functional programming. In TAPSOFT'89 (vol. 2), vol. 352 of Lecture Notes in Computer Science. Springer-Verlag, March 1989, pp. 184–209.Google Scholar
  22. [GR91]
    Gansner, E. R. and J. H. Reppy. eXene. In Proceedings of the 1991 CMU Workshop on Standard ML, Carnegie Mellon University, September 1991.Google Scholar
  23. [GR92]
    Gansner, E. R. and J. H. Reppy. A foundation for user interface construction.In B. A. Myers (ed.), Languages for Developing User Interfaces, pp. 239–260. Jones & Bartlett, Boston, Mass., 1992.Google Scholar
  24. [Haa90]
    Haahr, D. Montage: Breaking windows into small pieces. In USENIX Summer Conference, June 1990, pp. 289–297.Google Scholar
  25. [Har86]
    Harper, R. Introduction to Standard ML. Technical Report ECS-LFCS-86-14, Laboratory for Foundations of Computer Science, Computer Science Department, Edinburgh University, August 1986.Google Scholar
  26. [HDB90]
    Hieb, R., R. K. Dybvig, and C. Bruggeman. Representing control in the presence of first-class continuations. In Proceedings of the SIGPLAN'90 Conference on Programming Language Design and Implementation, June 1990, pp. 66–77.Google Scholar
  27. [Hol83]
    Holmström, S. PFL: A functional language for parallel programming. In Declarative programming workshop, April 1983, pp. 114–139.Google Scholar
  28. [KKR+86]
    [KKR+86] Kranz, D., R. Kelsey, J. Rees, P. Hudak, J. Philbin, and N. Adams. Orbit: An optimizing compiler for Scheme. In Proceedings of the SIGPLAN'86 Symposium on Compiler Construction, July 1986, pp. 219–233.Google Scholar
  29. [Kru91]
    Krumvieda, C. D. DML: Packaging high-level distributed abstractions in SML. In Proceedings of the 1991 CMU Workshop on Standard ML, September 1991.Google Scholar
  30. [Kru92]
    Krumvieda, C. D. Expressing fault-tolerant and consistency-preserving programs in Distributed ML. In Proceedings of the 1992 ACM SIGPLAN Workshop on ML and its Applications, June 1992, pp. 157–162.Google Scholar
  31. [LCJS87]
    Liskov, B., D. Curtis, P. Johnson, and R. Scheifler. Implementation of Argus. In Proceedings of the 11th ACM Symposium on Operating System Principles, November 1987, pp. 111–122.Google Scholar
  32. [Lie86]
    Lieberman, H. Using prototypical objects to implement shared behavior in object oriented systems. In OOPSLA '86 Proceedings, September 1986, pp. 214–223.Google Scholar
  33. [LS88]
    Liskov, B. and L. Shrira. Promises: Linguistic support for efficient asynchronous procedure calls in distributed systems. In Proceedings of the SIGPLAN'88 Conference on Programming Language Design and Implementation, June 1988, pp. 260–267.Google Scholar
  34. [Mac84]
    MacQueen, D. B. Modules for Standard ML. In Conference record of the 1984 ACM Conference on Lisp and Functional Programming, July 1984, pp. 198–207.Google Scholar
  35. [Mat89]
    Matthews, D. C. J. Processes for Poly and ML. In Papers on Poly/ML, Technical Report 161. University of Cambridge, February 1989.Google Scholar
  36. [MT91]
    Milner, R. and M. Tofte. Commentary on Standard ML. The MIT Press, Cambridge, Mass, 1991.Google Scholar
  37. [MTH90]
    Milner, R., M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, Cambridge, Mass, 1990.Google Scholar
  38. [Nye90]
    Nye, A. Xlib Programming Manual, vol. 1. O'Reilly & Associates, Inc., 1990.Google Scholar
  39. [Oph92]
    Ophel, J. An introduction to the high-level language Standard ML, 1992. In this volume.Google Scholar
  40. [Pau91]
    Paulson, L. C. ML for the Working Programmer. Cambridge University Press, New York, N.Y., 1991.Google Scholar
  41. [Pel92]
    Pellerin, C. The concurrent constraint programming language taskell. Master's dissertation, School of Computer Science, McGill University, Montréal, Québec, Canada, January 1992.Google Scholar
  42. [PGM90]
    Prasad, S., A. Giacalone, and P. Mishra. Operational and algebraic semantics for Facile: A symemetric integration of concurrent and functional programming. In Proceedings of the 17th International Colloquium on Automata, Languages and Programming, vol. 443 of Lecture Notes in Computer Science. Springer-Verlag, July 1990, pp. 765–780.Google Scholar
  43. [Pik89]
    Pike, R. A concurrent window system. Computing Systems, 2(2), 1989, pp. 133–153.Google Scholar
  44. [Plo75]
    Plotkin, G. D. Call-by-name, call-by-value and the λ-calculus. Theoretical Computer Science, 1, 1975, pp. 125–159.Google Scholar
  45. [Ram90]
    Ramsey, N. Concurrent programming in ML. Technical Report CS-TR-262-90, Department of Computer Science, Princeton University, April 1990.Google Scholar
  46. [Rep88]
    Reppy, J. H. Synchronous operations as first-class values. In Proceedings of the SIGPLAN'88 Conference on Programming Language Design and Implementation, June 1988, pp. 250–259.Google Scholar
  47. [Rep89]
    Reppy, J. H. First-class synchronous operations in Standard ML. Technical Report TR 89–1068, Department of Computer Science, Cornell University, December 1989.Google Scholar
  48. [Rep90a]
    Reppy, J. H. Asynchronous signals in Standard ML. Technical Report TR 90–1144, Department of Computer Science, Cornell University, August 1990.Google Scholar
  49. [Rep90b]
    Reppy, J. H. Concurrent programming with events — The Concurrent ML manual. Department of Computer Science, Cornell University, Ithaca, N.Y., November 1990. (Last revised October 1991).Google Scholar
  50. [Rep91a]
    Reppy, J. H. CML: A higher-order concurrent language. In Proceedings of the SIGPLAN'91 Conference on Programming Language Design and Implementation, June 1991, pp. 293–305.Google Scholar
  51. [Rep91b]
    Reppy, J. H. An operational semantics of first-class synchronous operations. Technical Report TR 91–1232, Department of Computer Science, Cornell University, August 1991.Google Scholar
  52. [Rep92]
    Reppy, J. H. Higher-order concurrency. Ph.D. dissertation, Department of Computer Science, Cornell University, Ithaca, NY, January 1992. Available as Technical Report TR 92–1285.Google Scholar
  53. [RG86]
    Reppy, J. H. and E. R. Gansner. A foundation for programming environments. In Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, December 1986, pp. 218–227.Google Scholar
  54. [SG86]
    Scheifler, R. W. and J. Gettys. The X window system. ACM Transactions on Graphics, 5(2), April 1986, pp. 79–109.Google Scholar
  55. [Ste78]
    Steele Jr., G. L. Rabbit: A compiler for Scheme. Master's dissertation, MIT, May 1978.Google Scholar
  56. [Tof90]
    Tofte, M. Type inference for polymorphic references. Information and Computation, 89, 1990, pp. 1–34.Google Scholar
  57. [UNI86]
    University of California, Berkeley. UNIX Programmer's Reference Manual (4.3bsd), 1986.Google Scholar
  58. [Wan80]
    Wand, M. Continuation-based multiprocessing. In Conference Record of the 1980 Lisp Conference, August 1980, pp. 19–28.Google Scholar
  59. [WF91]
    Wright, A. and M. Felleisen. A syntactic approach to type soundness. Technical Report TR91-160, Department of Computer Science, Rice University, April 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  1. 1.Department of Computer ScienceCornell UniversityUSA

Personalised recommendations