Persistent Modula-3

Principal investigator: Dr. Tony Hosking
Research assistants: Adam Welc
Former students: Nedim Fresko, Nate Nystrom, Kumar Brahnmath, Aria Novianto, Jiawan Chen,David Whitlock,

This material is based upon work supported by the National Science Foundation under Grant No. CCR-9711673, and by Sun Microsystems Laboratories

Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s)
and do not necessarily reflect the views of the National Science Foundation (NSF) or Sun Microsystems, Inc.

Download PM3 here

The Persistent Programming Systems group's implementation of Persistent Modula-3 is an extension of the Modula-3 programming language with support for orthogonal persistence and transactions.  Our implementation is now in public "beta" release via ftp download, with current support for Linux, Solaris and Alpha/OSF (ports to other platforms are not difficult, but we simply don't have others available on which to develop). We track the Polytechnique Montréal Modula-3 release (version 0.x.y of Persistent Modula-3 corresponds to version 1.x.y of Polytechnique Montréal Modula-3), which is itself based on SRC Modula-3 release 3.6. Persistent storage for the heap pages on which Modula-3 objects are allocated is provided by the "pure Modula-3" transactional page server that comes with the GRAS3 system. An experimental binding to the Shore object store is also available. Our research papers give details of our implementation approach and its performance.  You may also browse the live evolving source code base of our Persistent Modula-3 implementation here.

To follow updates and discussions on Persistent Modula-3 via a mailing list send a message to  with the command:

add me to pm3
in the body or subject field of the message.

Messages to the mailing list should be directed to .