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

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

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

-

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
13 pages
English
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

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


Sujets

Informations

Publié par
Nombre de lectures 25
Langue English

Extrait

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
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents