Embedding continuations in procedural objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstracting timed preemption with engines
Computer Languages
Computer Languages
A tractable Scheme implementation
Lisp and Symbolic Computation
Higher-order distributed objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrent programming in ML
Programming languages as operating systems (or revenge of the son of the lisp machine)
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Safe-for-Space Threads in Standard ML
Higher-Order and Symbolic Computation
Engines build process abstractions
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
A Scheme Shell
Hi-index | 0.00 |
Scsh, the Scheme shell, enables concurrent system programming with portable user-level threads. In scsh, threads behave like processes in many ways: each thread receives its own set of process resources; like Unix processes, new threads can inherit resources from the creating thread. The combination of scsh's interface to the POSIX API with user-level threads creates a number of design and implementation challenges: Scsh's abstractions for managing process resources raise interesting modularity issues, particularly in connection with first-class continuations. Scsh also provides an interface to the fork system call; its implementation must avoid common pitfalls that arise with a user-level thread system. This paper describes the design and implementation of the relevant abstractions and discusses the implications for programming-language and system design.