Abstract
This tutorial explores the well-known problem of how to implement concurrent threads of control in Standard ML, by using the extension of first-class continuations. Particular attention is paid to the proper treatment of exceptions and avoidance of storage leaks.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abelson, H. Sussman, G. J., and Sussman, J.: Structure and Interpretation of Computer Programs. MIT Press (1985).
Appel, A. W. and MacQueen, D. B.: A Standard ML compiler. Proceedings of the Conference on Functional Programming Languages and Computer Architecture, Lecture Notes in Computer Science 274, Springer-Verlag, 301–324 (1987).
Bershad, B., Savage, S., Pardyak, P., Sirer, E. G, Becker, D., Fiuczynski, M., Chambers, C., and Eggers, S.: Extensibility, safety and performance in the SPIN operating system. Proceedings of the 1995 Symposium on Operating System Principles, 267–284 (December 1995).
Biagioni, E., Harper, R., and Lee, P. Signatures for a protocol stack: a systems application of Standard ML. Proceedings of the 1994 ACM Conference on Lisp and Functional Programming, Orlando (June 1994).
Birrell, A. D.: An Introduction to Programming with Threads. Technical Report 35, DEC Systems Research Center (January 1989).
Cooper, E. C. and Morrisett, J. G.: Adding Threads to Standard ML. Technical Report CMU-CS-90-186, School of Computer Science, Carnegie Mellon University (December 1990).
Haynes, C. T., Friedman, D. P., and Wand, M.: Obtaining coroutines with continuations. Computer Languages, 11(3–4), 143–53 (1986).
Milner, R., Tofte, M., and Harper, R.: The Definition of Standard ML. MIT Press, Cambridge, Massachusetts (1990).
Reppy, J. H.: CML: a higher-order concurrent language. ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, Toronto, 293–305 (June 1991).
Springer, G., Friedman, D. P.: Scheme and the Art of Programming. McGraw-Hill, New York (1989).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lee, P. (1996). Implementing threads in Standard ML. In: Launchbury, J., Meijer, E., Sheard, T. (eds) Advanced Functional Programming. AFP 1996. Lecture Notes in Computer Science, vol 1129. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61628-4_4
Download citation
DOI: https://doi.org/10.1007/3-540-61628-4_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61628-3
Online ISBN: 978-3-540-70639-7
eBook Packages: Springer Book Archive