Form and Content in Computer Science (1970 ACM turing lecture)
Journal of the ACM (JACM)
Distributed processes: a concurrent programming concept
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Protection in programming languages
Communications of the ACM
GEDANKEN—a simple typeless language based on the principle of completeness and the reference concept
Communications of the ACM
BLISS: a language for systems programming
Communications of the ACM
Letters to the editor: go to statement considered harmful
Communications of the ACM
Correspondence between ALGOL 60 and Church's Lambda-notation: part I
Communications of the ACM
The next 700 programming languages
Communications of the ACM
Synchronization in actor systems
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Denotational Description of Programming Languages: An Introduction
The Denotational Description of Programming Languages: An Introduction
The architecture of concurrent programs
The architecture of concurrent programs
The Logical Design of Operating Systems
The Logical Design of Operating Systems
Operating system principles
Data types, parameters and type checking
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Theory of Programming Language Semantics
A Theory of Programming Language Semantics
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
LAMBDA: The Ultimate Declarative
LAMBDA: The Ultimate Declarative
The Art of the Interpreter or, The Modularity Complex (Parts Zero, One, and Two)
The Art of the Interpreter or, The Modularity Complex (Parts Zero, One, and Two)
ACM SIGPLAN Notices
LISP 1.5 Programmer's Manual
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
Embedding continuations in procedural objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract continuations: a mathematical semantics for handling full jumps
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Reasoning about continuations with control effects
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Continuation-based parallel implementation of functional programming languages
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Typing first-class continuations in ML
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A dynamic extent control operator for partial continuations
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Using continuations to implement thread management and communication in operating systems
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
A foundation for an efficient multi-threaded scheme system
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
A customizable substrate for concurrent languages
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Procs and locks: a portable multiprocessing platform for standard ML of New Jersey
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
A library of high level control operators
ACM SIGPLAN Lisp Pointers
Locality, causality and continuations
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Teapot: language support for writing memory coherence protocols
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
A Curry-Howard foundation for functional computation with control
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lisp and Symbolic Computation
Teapot: A Domain-Specific Language for Writing Cache Coherence Protocols
IEEE Transactions on Software Engineering
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The influence of browsers on evaluators or, continuations to program web servers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Technical Correspondence: Steensgaard-Madsen's reply
ACM Transactions on Programming Languages and Systems (TOPLAS)
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Higher-Order and Symbolic Computation
An Introduction to Landin‘s “A Generalization of Jumps and Labels”
Higher-Order and Symbolic Computation
Safe-for-Space Threads in Standard ML
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
Engines build process abstractions
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Journal of Functional Programming
Manticore: a heterogeneous parallel language
Proceedings of the 2007 workshop on Declarative aspects of multicore programming
Lightweight concurrency primitives for GHC
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Status report: the manticore project
ML '07 Proceedings of the 2007 workshop on Workshop on ML
A bibliography on multiprocessor Lisp systems and applications
ACM SIGPLAN Lisp Pointers
ACM SIGPLAN Lisp Pointers
A scheduling framework for general-purpose parallel languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Scala Actors: Unifying thread-based and event-based programming
Theoretical Computer Science
Concurrent LISP on a multi-micro-processor system
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2
Towards a strongly typed functional operating system
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
Actors that unify threads and events
COORDINATION'07 Proceedings of the 9th international conference on Coordination models and languages
Pushdown flow analysis of first-class control
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
AMAST'06 Proceedings of the 11th international conference on Algebraic Methodology and Software Technology
Closure generation based on viewing lambda as epsilon plus compile
Computer Languages
Pause 'n' play: formalizing asynchronous C#
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
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 two requirements are fulfilled by features already present in applicative languages. Data protection may be obtained through the 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 elegant treatment of process saving. We demonstrate these techniques by writing the kernel and some modules for a multiprocessing system. The kernel is very small. Many functions which one would normally expect to find inside the kernel are completely decentralized. We consider the implementation of other schedulers, interrupts, and the implications of these ideas for language design.