Sonia Fagorzi

dblp:09/1772 · DBLP profile ↗
← Back
3ranked-venue papers
1as first author
0since 2021 · last 2007
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 3 · 1 first-authorSoftware engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%

Topics — the 3 heaviest of 3, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › module systems
mixin modules
0.012003
Mixin Modules and Computational Effects · ICALP 2003
Programming languages and type systems
module systems
0.012003
Mixin Modules and Computational Effects · ICALP 2003
Programming languages and type systems
computational effects
0.012003
Mixin Modules and Computational Effects · ICALP 2003
YearPublicationVenuePosition
2007 A calculus of open modules: call-by-need strategy and confluence
abstract
We present a simple module calculus where selection and execution of a component is possible onopenmodules, that is, modules that still need to import some external definitions. Hence, it provides a kernel model for a computational paradigm in which standard execution (that is, execution of a single computation described by a fragment of code) can be interleaved with operations at the meta-level, which can manipulate in various ways the context in which this computation takes place. Formally, this is achieved by introducingconfigurationsas basic terms. These are, roughly speaking, pairs consisting of an (open, mutually recursive) collection of named components and a term representing a program running in the context of these components. Configurations can be manipulated by classical module/fragment operators, hence reduction steps can be either execution steps of the program or steps that perform module operations (calledreconfigurationsteps). Since configurations combine the features of lambda abstractions (first-class functions), records, environments with mutually recursive definitions and modules, the calculus extends and integrates both traditional module calculi and recursive lambda calculi. We state confluence of the calculus, and propose different ways to prevent errors arising from the lack of some required component, either by a purely static type system or by a combination of static and run-time checks. Moreover, we define a call-by-need strategy that performs module simplificationonly when needed and only once, leading to a generalisation of call-by-need lambda calculi that includes module features. We prove the soundness and completeness of this strategy using an approach based on information content, which also allows us to preserve confluence, even when local substitution rules are added to the calculus.
Sonia Fagorzi, Elena Zucca
Math. Struct. Comput. Sci.1
2003 A Monadic Multi-stage Metalanguage
Eugenio Moggi, Sonia Fagorzi
FoSSaCS2
2003 Mixin Modules and Computational Effects
Davide Ancona, Sonia Fagorzi, Eugenio Moggi, Elena Zucca
ICALP2