François-Régis Sinot
École Polytechnique
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by François-Régis Sinot.
Mathematical Structures in Computer Science | 2005
Maribel Fernández; Ian Mackie; François-Régis Sinot
Starting from the
international conference on typed lambda calculi and applications | 2005
François-Régis Sinot
\lambda
Electronic Notes in Theoretical Computer Science | 2006
François-Régis Sinot
-calculus with names, we develop a family of calculi with explicit substitutions that overcome the usual syntactical problems of substitution. The key idea is that only closed substitutions can be moved through certain constructs. This gives a weak form of reduction, called closed reduction, which is rich enough to capture both the call-by-value and call-by-name evaluation strategies in the
Applicable Algebra in Engineering, Communication and Computing | 2005
Maribel Fernández; Ian Mackie; François-Régis Sinot
\lambda
Electronic Notes in Theoretical Computer Science | 2006
Maribel Fernández; Ian Mackie; François-Régis Sinot
-calculus. Moreover, since substitutions can move through abstractions and reductions are allowed under abstractions (if certain conditions hold), closed reduction naturally provides an efficient notion of reduction with a high degree of sharing and low overheads. We present a family of abstract machines for closed reduction. Our benchmarks show that closed reduction performs better than all standard weak strategies, and its low overheads make it more efficient than optimal reduction in many cases.
Electronic Notes in Theoretical Computer Science | 2007
Florent Kirchner; François-Régis Sinot
Two common misbeliefs about encodings of the λ-calculus in interaction nets (INs) are that they are good only for strategies that are not very well understood (e.g. optimal reduction) and that they always have to deal in a complex way with boxes. In brief, the theory of interaction nets is more or less disconnected from the standard theory: we can do things in INs that we cannot do with terms, which is true [5,10]; and we cannot do in INs things that can easily be done with terms. This paper contributes to fighting this misbelief by showing that the standard call-by-name and call-by-value strategies of the λ-calculus are encoded in interaction nets in a very simple and extensible way, and in particular that these encodings do not need any notion of box. This work can also be seen as a first step towards a generic approach to derive graph-based abstract machines.
Mathematical Structures in Computer Science | 2006
François-Régis Sinot
Recently, encodings in interaction nets of the call-by-name and call-by-value strategies of the @l-calculus have been proposed. The purpose of these encodings was to bridge the gap between interaction nets and traditional abstract machines, which are both used to provide lower-level specifications of strategies of the @l-calculus, but in radically different ways. The strength of these encodings is their simplicity, which comes from the simple idea of introducing an explicit syntactic object to represent the flow of evaluation. In particular, no artifact to represent boxes is needed. However, these encodings purposefully follow as closely as possible the implemented strategies, call-by-name and call-by-value, hence do not benefit from the ability of interaction nets to easily represent sharing. The aim of this note is to show that sharing can indeed be achieved without adding any structure. We thus present the call-by-need strategy following the same philosophy, which is indeed not any more complicated than call-by-name. This continues the task of bridging the gap between interaction nets and abstract machines, thus pushing forward a more uniform framework for implementations of the @l-calculus.
Journal of Logic and Computation | 2005
François-Régis Sinot
Abstract.We present a name free λ-calculus with explicit substitutions, based on a generalised notion of director strings. Terms are annotated with information – directors – that indicate how substitutions should be propagated. We first present a calculus where we can simulate arbitrary β-reduction steps, and then simplify the rules to model the evaluation of functional programs (reduction to weak head normal form). We also show that we can define the closed reduction strategy. This is a weak strategy which, in contrast with standard weak strategies, allows certain reductions to take place inside λ-abstractions thus offering more sharing. Our experimental results confirm that, for large combinator-based terms, our weak evaluation strategies out-perform standard evaluators. Moreover, we derive two abstract machines for strong reduction which inherit the efficiency of the weak evaluators.
Electronic Notes in Theoretical Computer Science | 2005
François-Régis Sinot; Ian Mackie
Abstract The ρ -calculus generalises both term rewriting and the λ -calculus in a uniform framework. Interaction nets are a form of graph rewriting which proved most successful in understanding the dynamics of the λ -calculus, the prime example being the implementation of optimal β -reduction. It is thus natural to study interaction net encodings of the ρ -calculus as a first step towards the definition of efficient reduction strategies. We give two interaction net encodings which bring a new understanding to the operational semantics of the ρ -calculus; however, these encodings have some drawbacks and to overcome them we introduce bigraphical nets —a new paradigm of computation inspired by Lafonts interactions nets and Milners bigraphs.
rewriting techniques and applications | 2003
François-Régis Sinot; Maribel Fernández; Ian Mackie
Operational semantics for programming languages usually come in two flavours: big-step and small-step. Both are defined using deduction rules with a congruence rule allowing reduction in certain contexts. For a description based on rewrite rules, known approaches consist in deriving an abstract machine, which is very close to implementation. In this paper, we describe the operational semantics of an imperative language in a rule-based style, arguably as abstract as the other kinds of semantics. Moreover, we combine the approach with the store-based semantics, which puts the focus on memory states rather than values, which is more appropriate for imperative languages.