biblio.bib
@ARTICLE{Hirscho02a,
AUTHOR = {Tom Hirschowitz and Xavier Leroy},
TITLE = {Mixin Modules in a Call-by-Value Setting},
JOURNAL = {ACM Transactions on Programming Languages and Systems},
OPTYEAR = {2004},
OPTVOLUME = {},
OPTNUMBER = {},
OPTPAGES = {},
NOTE = {Long version of {\cite{Hirscho02}},
accepted for publication modulo revisions},
URL = {http://pauillac.inria.fr/~hirschow/papers/toplas-cmsv.ps.gz}
}
@ARTICLE{Hirscho04,
AUTHOR = {Tom Hirschowitz and Xavier Leroy and J. B. Wells},
TITLE = {Compilation of extended recursion in call-by-value functional languages},
OPTJOURNAL = {},
OPTYEAR = {2004},
OPTVOLUME = {},
OPTNUMBER = {},
OPTPAGES = {},
NOTE = {Long version of {\cite{Hirscho03b}},
submitted for publication to {\em Higher-Order and Symbolic Computation}},
URL = {http://pauillac.inria.fr/~hirschow/papers/letrec-hosc.ps.gz}
}
@INPROCEEDINGS{Hirscho03e,
AUTHOR = {Tom Hirschowitz},
TITLE = {Rigid Mixin Modules},
BOOKTITLE = {International Symposium on Functional and Logic Programming},
OPTPAGES = {},
YEAR = {2004},
OPTEDITOR = {},
OPTVOLUME = {},
OPTNUMBER = {},
OPTPUBLISHER = {},
URL = {http://pauillac.inria.fr/~hirschow/papers/flops-mix.ps.gz},
}
@INPROCEEDINGS{Hirscho03d,
AUTHOR = {Tom Hirschowitz and Xavier Leroy and J. B. Wells},
TITLE = {Call-by-Value Mixin Modules: Reduction Semantics,
Side Effects, Types},
BOOKTITLE = {European Symposium on Programming},
OPTPAGES = {},
YEAR = {2004},
OPTEDITOR = {},
OPTVOLUME = {},
OPTNUMBER = {},
OPTPUBLISHER = {},
NOTE = {Version conf{\'e}rence de {\cite{Hirscho03}}, accept{\'e}e pour
publication},
URL = {http://pauillac.inria.fr/~hirschow/papers/esop-mm.ps.gz},
ABSTRACT = {Mixin modules are a framework for modular programming
that supports code parameterization, incremental programming via late
binding and redefinitions, and cross-module recursion. In this paper,
we develop a language of mixin modules that supports call-by-value
evaluation, and formalize a reduction semantics and a sound type
system for this language.}
}
@INPROCEEDINGS{Hirscho03b,
AUTHOR = {Tom Hirschowitz and Xavier Leroy and J. B. Wells},
TITLE = {Compilation of Extended Recursion in Call-by-Value Functional Languages},
BOOKTITLE = {Principles and Practice of Declarative Programming},
PAGES = {160--171},
YEAR = {2003},
PUBLISHER = {ACM Press},
URL = {http://pauillac.inria.fr/~hirschow/papers/ppdp-lambdaab.ps.gz},
NOTE = {Version conf{\'e}rence de {\cite{Hirscho03a}}}
}
@INPROCEEDINGS{Hirscho02,
AUTHOR = {Tom Hirschowitz and Xavier Leroy},
TITLE = {Mixin modules in a Call-by-Value Setting},
BOOKTITLE = {European Symposium on Programming},
EDITOR = {Daniel {Le M\'etayer}},
SERIES = {LNCS},
VOLUME = {2305},
PAGES = {6--20},
YEAR = {2002},
URL = {http://pauillac.inria.fr/~hirschow/papers/cmsv.ps.gz},
ABSTRACT = {The ML module system provides powerful parameterization facilities,
but lacks the ability to split mutually recursive definitions across
modules, and does not provide enough facilities for incremental
programming. A promising approach to solve these issues is Ancona and
Zucca's mixin modules calculus CMS. However, the straightforward
way to adapt it to ML fails, because it allows arbitrary recursive
definitions to appear at any time, which ML does not support. In
this paper, we enrich ML with a refined type system that controls
recursive definitions through the use of dependency graphs. We then
develop a separate compilation scheme, directed by
dependency graphs, that translate mixin modules down to a CBV
lambda-calculus extended with a non-standard let rec construct.}
}
@TECHREPORT{Hirscho03,
AUTHOR = {Tom Hirschowitz and Xavier Leroy and J. B. Wells},
TITLE = {A reduction semantics for call-by-value mixin modules},
INSTITUTION = {INRIA},
MONTH = {Janvier},
YEAR = {2003},
TYPE = {Rapport de recherche},
NUMBER = {RR-4682},
URL = {http://pauillac.inria.fr/~hirschow/papers/mm.ps.gz},
ABSTRACT = {Module systems are important for software engineering:
they facilitate code reuse without compromising the correctness of
programs. However, they still lack some flexibility: first, they do
not allow mutually recursive definitions to span module boundaries ;
second, definitions inside modules are bound early, and cannot be
overridden later, as opposed to inheritance and overriding in
class-based object-oriented languages, which follow the late binding
semantics. This paper examines an alternative, hybrid idea of
modularization concept, called mixin modules. We develop a language of
call-by-value mixin modules with a reduction semantics, and a sound
type system for it, guaranteeing that programs will run correctly.}
}
@TECHREPORT{Hirscho03a,
AUTHOR = {Tom Hirschowitz and Xavier Leroy and J. B. Wells},
TITLE = {On the implementation of recursion in call-by-value functional languages},
INSTITUTION = {INRIA},
MONTH = {F{\'e}vrier},
YEAR = {2003},
TYPE = {Rapport de recherche},
NUMBER = {RR-4728},
URL = {http://pauillac.inria.fr/~hirschow/papers/recursion.ps.gz},
ABSTRACT = {Functional languages encourage the extensive use of
recursive fonctions and data structures. It is therefore important
that they efficiently implement recursion. In this paper, we
formalize and improve a known implementation technique for
recursion. The original technique was introduced by Cousineau and
Mauny as the ``in-place updating trick''. Consider a list of mutually
recursive definitions. The technique consists in allocating a dummy,
uninitialized heap block for each recursive definition. The size of
these blocks is guessed from the shape of each definition. Then, the
right-hand sides of the definitions are computed. Recursively-defined
identifiers thus refer to the corresponding dummy blocks. This leads,
for each definition, to a block of the expected size. Eventually, the
contents of the obtained blocks are copied to the dummy blocks,
updating them in place. The only change we propose to this scheme is
to update the dummy blocks as soon as possible, immediately after each
definition is computed, thus making it available for further use. At
the source language level, the improvement allows to extend the class
of expressions allowed as right-hand sides of recursive definitions,
usually restricted to syntactic functions. We formalize our technique
as a translation scheme to a lambda-calculus featuring in-place
updating of memory blocks, and prove the translation to be faithful.}
}
@TECHREPORT{Hirscho03c,
AUTHOR = {Tom Hirschowitz},
TITLE = {Rigid Mixin Modules},
INSTITUTION = {ENS Lyon},
YEAR = {2003},
NUMBER = {RR-2003-46},
URL = {http://www.ens-lyon.fr/LIP/Pub/Rapports/RR/RR2003/RR2003-46.ps.gz},
ABSTRACT = {Mixin modules are a notion of modules that allows
cross-module recursion and late binding, two features missing in
ML-style modules. They have been well defined in a call-by-name
setting, but in a call-by-value setting, they tend to conflict with
the usual static restrictions on recursive definitions. Moreover, the
semantics of instantiation has to specify an order of evaluation,
which involves a difficult design choice. Previous proposals rely on
the dependencies between components to compute a valid order of
evaluation. In such systems, mixin module types must carry some
information about the dependencies between their components, which
makes them rather impractical. In this paper, we propose a new design
for mixin modules in a call-by-value setting, which avoids this
problem. The formalism we obtain is much simpler than previous notions
of mixin modules, although slightly less powerful.}
}
@PHDTHESIS{Hirscho-prethese,
TYPE = {Th{\`e}se de doctorat},
AUTHOR = {Tom Hirschowitz},
TITLE = {Modules mixins, modules et r{\'e}cursion {\'e}tendue
en appel par valeur},
URL = {http://pauillac.inria.fr/~hirschow/phd/these-tom.ps.gz},
YEAR = {2003},
SCHOOL = {Universit{\'e} Paris 7}
}
@MISC{Hirscho-thesis-extended,
TYPE = {Unpublished draft},
AUTHOR = {Tom Hirschowitz},
TITLE = {Mixin modules, modules, and extended recursion in a call-by-value setting (extended version)},
URL = {http://pauillac.inria.fr/~hirschow/phd/these-tom-extended.ps.gz},
YEAR = {2003}
}
@MASTERSTHESIS{Hirscho00,
AUTHOR = {Tom Hirschowitz},
TYPE = {Rapport de DEA},
TITLE = {Modules mixins: typage et implantation},
SCHOOL = {Universit{\'e} Paris 7},
YEAR = {2000},
URL = {http://pauillac.inria.fr/~hirschow/papers/deatom.ps}
}
This file has been generated by
bibtex2html 1.56