Dynamic typing in a statically typed language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Asynchronous exceptions in Haskell
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Functional Programming and Parallel Graph Rewriting
Functional Programming and Parallel Graph Rewriting
PARLE '91 Proceedings of Parallel Architectures and Languages - Volume II
Continuation-based multiprocessing
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
A Scheme Shell
A poor man's concurrency monad
Journal of Functional Programming
Lazy dynamic input/output in the lazy functional language clean
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
When generic functions use dynamic values
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
Scheduling light-weight parallelism in ArTCoP
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
Higher-Order and Symbolic Computation
Dynamic construction of generic functions
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
A functional shell that dynamically combines compiled code
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Generic graphical user interfaces
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
A functional shell that operates on typed and compiled applications
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
AMAST'06 Proceedings of the 11th international conference on Algebraic Methodology and Software Technology
Hi-index | 0.00 |
In this paper, we present Famke. It is a prototype implementation of a strongly typed operating system written in Clean. Famke enables the creation and management of independent distributed Clean processes on a network of workstations. It uses Clean's dynamic type system and its dynamic linker to communicate values of any type, e.g. data, closures, and functions (i.e. compiled code), between running applications in a type safe way. Mobile processes can be implemented using Famke's ability to communicate functions. We have built an interactive shell on top of Famke that enables user interaction. The shell uses a functional-style command language that allows construction of new processes, and it type checks the command line before executing it. Famke's type safe run-time extensibility makes it a strongly typed operating system that can be tailored to a given situation.