Towards a Strongly Typed Functional Operating System [chapter]

Arjen van Weelden, Rinus Plasmeijer
2003 Lecture Notes in Computer Science  
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
more » ... municate 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. 1 Numeric literals are not overloaded in Clean, hence 42 has type Int instead of Haskell's (Num a) => a. 2 A ::, instead of the data keyword of Haskell, precedes a type definition in Clean. 3 Function types in Clean separate arguments by white space instead of ->. 4 Clean denotes overloading in a class K as: a | K a, whereas Haskell uses (K a) => a.
doi:10.1007/3-540-44854-3_14 fatcat:hd6uof7pvnfjhh3c2ivtlluuky