We define a basic calculus for name management, which combines three ingredients: extensible records (in a simplified form), names (as in FreshML), computational types (to allow computational effects, including generation of fresh names). The calculus supports the use of symbolic names for programming in-the-large, eg it subsumes Ancona and Zucca’s calculus for module systems, and for meta-programming (but not the intensional analysis of object level terms supported by FreshML), eg it subsumes (and improves) Nanevski and Pfenning’s calculus for meta-programming with names and necessity. Moreover, it models some aspects of Java’s class loaders.
A Fresh Calculus for Name Management
ANCONA, DAVIDE;MOGGI, EUGENIO
2004-01-01
Abstract
We define a basic calculus for name management, which combines three ingredients: extensible records (in a simplified form), names (as in FreshML), computational types (to allow computational effects, including generation of fresh names). The calculus supports the use of symbolic names for programming in-the-large, eg it subsumes Ancona and Zucca’s calculus for module systems, and for meta-programming (but not the intensional analysis of object level terms supported by FreshML), eg it subsumes (and improves) Nanevski and Pfenning’s calculus for meta-programming with names and necessity. Moreover, it models some aspects of Java’s class loaders.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.