A Higher order Module Discipline with Separate Compilation Dynamic Linking and Pickling

icon

13

pages

icon

English

icon

Documents

Écrit par

Publié par

Lire un extrait
Lire un extrait

Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus

Découvre YouScribe et accède à tout notre catalogue !

Je m'inscris

Découvre YouScribe et accède à tout notre catalogue !

Je m'inscris
icon

13

pages

icon

English

icon

Documents

Lire un extrait
Lire un extrait

Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus

A Higher-order Module Discipline with Separate Compilation, Dynamic Linking, and Pickling DRAFT Denys Duchier, Leif Kornstaedt, Christian Schulte, Gert Smolka Programming Systems Lab DFKI and Universitat des Saarlandes Postfach 15 11 50, D-66041 Saarbrucken, Germany fduchier,kornstae,schulte, September 29, 1998 Abstract We present a higher-order module discipline with separate compilation and concurrent dynamic linking. Based on first-order modules one can program security policies for systems that link modules from untrusted locations (e.g., Java). We introduce a pickling operation that writes persistent clones of volatile, possibly higher-order data structures on the file system. Our pickling operation respects lexical binding. Our module discipline is based on func- tors, which are annotated functions that are applied to modules and return modules. Pickled computed functors can be used interchangeably with com- piled functors. In contrast to compiled functors, pickled computed functors can carry computed data structures with them, which has significant practical applications. 1 Introduction Modularization is an essential technique for developing and maintaining software systems [12, 16]. Programming languages support modularization by replacing complete programs with program fragments called module definitions. Module definitions reside in individual files and are compiled separately. Execution of a module definition installs a module. Module definitions typically import modules, 1

  • functors

  • functors can

  • root functor

  • t1 supports

  • support modularization

  • file system

  • can designate

  • dynamic linking


Voir icon arrow

Publié par

Langue

English

A Higher-order Module Discipline with Separate
Compilation, Dynamic Linking, and Pickling
DRAFT
Denys Duchier, Leif Kornstaedt, Christian Schulte, Gert Smolka
Programming Systems Lab
DFKI and Universit¨at des Saarlandes
Postfach 15 11 50, D-66041 Saarbr¨ucken, Germany
duchier,kornstae,schulte,smolka
@ps.uni-sb.de
September 29, 1998
Abstract
We present a higher-order module discipline with separate compilation and
concurrent dynamic linking. Based on first-order modules one can program
security policies for systems that link modules from untrusted locations (e.g.,
Java).
We introduce a pickling operation that writes persistent clones of
volatile, possibly higher-order data structures on the file system. Our pickling
operation respects lexical binding. Our module discipline is based on func-
tors, which are annotated functions that are applied to modules and return
modules. Pickled computed functors can be used interchangeably with com-
piled functors. In contrast to compiled functors, pickled computed functors
can carry computed data structures with them, which has significant practical
applications.
1
Introduction
Modularization is an essential technique for developing and maintaining software
systems [12, 16]. Programming languages support modularization by replacing
complete programs with program fragments called
module definitions
.
Module
definitions reside in individual files and are
compiled separately
. Execution of a
module definition installs a
module
. Module definitions typically
import
modules,
1
Voir icon more
Alternate Text