@MISC{Matthews87apersistent, author = {David Matthews}, title = {A Persistent Storage System for Poly and ML}, year = {1987} }
Bookmark
OpenURL
Abstract
The conventional strategy for implementing interactive languages has been based on the use of a "workspace" or "core-image" which is read in at the start of a session and written out at the end. While this is satisfactory for small systems it is inefficient for large programs. This report describes how an idea originally invented to simplify database programming, the persistent store, was adapted to support program development in an interactive language. Poly and ML are both semi-functional languages in the sense that they allow functions as first-class objects but they have variables (references) and use callby -value semantics. Implementing such languages in a persistent store poses some problems but also allows optimisations which would not be possible if their typesystems did not apply certain constraints. The basic system is designed for single-users but the problems of sharing data between users is discussed and an experimental system for allowing this is described. 1 Backgrou...