A Network Protocol Stack in Standard ML
Higher-Order and Symbolic Computation
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
A type-theoretic foundation of continuations and prompts
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
A type-theoretic foundation of delimited continuations
Higher-Order and Symbolic Computation
Hi-index | 0.00 |
Any multiprocessing facility must include three features: elementary exclusion, data protection, and process saving. While elementary exclusion must rest on some hardware facility (e.g., a test-and-set instruction), the other tworequirements are fulfilled by features already present in applicative languages. Data protection may be obtained throughthe use of procedures (closures or funargs), and process saving may be obtained through the use of the catch operator. The use of catch, in particular, allows an eleganttreatment of process saving.We demonstrate these techniques by writing the kernel and some modules for a multiprocessing system. The kernel is verysmall. Many functions which one would normally expect to find inside the kernel are completely decentralized. We considerthe implementation of other schedulers, interrupts, and the implications of these ideas for language design.