D. Ancona, S. Fagorzi, E. Moggi, and E. Zucca
Mixin modules and computational
effects
In Proc. 30th Int'l Coll. Automata, Languages, and
Programming, volume 2719 of Lecture Notes in Computer Science
Springer, 2003
We define a calculus for investigating the interactions
between mixin modules and computational effects, by combining the
purely functional mixin calculus CMS with a monadic metalanguage
supporting the two separate notions of simplification (local rewrite rules)
and computation (global evaluation able to modify the store).
This distinction is important for smoothly integrating the CMS rules
(which are all local) with the rules dealing with the imperative features.
In our calculus mixins can contain mutually recursive computational
components which are explicitly computed by means of a
new mixin operator whose semantics is defined in terms of a
Haskell-like recursive monadic binding.
Since we mainly focus on the operational aspects, we adopt a simple
type system like that for Haskell, that does not detect dynamic
errors related to bad recursive declarations involving effects.
The calculus serves as a formal basis for defining the semantics of
imperative programming languages supporting first class mixins
while preserving the CMS equational reasoning.
[ bib |
.pdf ]
Back
This file has been generated by
bibtex2html 1.43