VLDB 2026 Research / reviewers in the wild / expert
Roberto Di Cosmo
dblp:34/6390
· DBLP profile ↗
55ranked-venue papers
28as first author
3since 2021 · last 2025
0000-0002-7493-5349ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 31 · 11 first-author · 2 since 2021Theory of computation · 22 · 16 first-authorDatabases, data management, data science and information retrieval · 5 · 1 first-author · 2 since 2021Artificial intelligence and machine learning · 4 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 1 first-authorSystems, architecture and hardware · 1Human-computer interaction and ubiquitous computing · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | 50 Years of Programming Language Evolution through the Software Heritage looking glassabstractProgramming languages have evolved rapidly over the past five decades, reflecting broader shifts in software development practices and technological advances. Early on, entities like the U.S. Department of Defense recognized the challenges posed by diverse programming languages, leading to initiatives such as the Ada programming language. Since then, indexes like Tiobe, RedMonk, and Open Hub have attempted to track language popularity, though their metrics provide only a snapshot view, and most of them do not make available their data. We show that Software Heritage, the largest public archive of source code, makes it now possible, and easy, to address this question in a comprehensive, transparent and reproducible manner through its unified dataset, which includes over 20 billion source files and 4 billion commits. As a result of our study, we have created a dataset and pipeline that allows to analyze five decades of programming language trends, by measuring the programming activity as seen in the Software Heritage archive, confirming trends in language adoption, shifts in popularity, and significant transitions linked to technological changes. The comparison with the existing indexes shows rather good alignment for the first positions in the rankings, but differences emerge down the line, as programmer activity, and language popularity are not necessary aligned. To facilitate further research on programming language evolution, we publish the whole software pipeline as Open Source, and make available the full dataset, that will be updated bi-annually. Adèle Desmazières, Roberto Di Cosmo, Valentin Lorentz |
MSR | 2 |
| 2025 | On the compressibility of large-scale source code datasetsabstractStoring ultra-large amounts of unstructured data (often called objects or blobs) is a fundamental task for several object-based storage engines, data warehouses, data-lake systems, and key–value stores. These systems cannot currently leverage similarities between objects, which could be vital in improving their space and time performance. An important use case in which we can expect the objects to be highly similar is the storage of large-scale versioned source code datasets, such as the Software Heritage Archive (Di Cosmo and Zacchiroli, 2017). This use case is particularly interesting given the extraordinary size (1.5 PiB), the variegated nature, and the high repetitiveness of the at-issue corpus. In this paper we discuss and experiment with content- and context-based compression techniques for source-code collections that tailor known and novel tools to this setting in combination with state-of-the-art general-purpose compressors and the information coming from the Software Heritage Graph. We experiment with our compressors over a random sample of the entire corpus, and four large samples of source code files written in different popular languages: C/C ++ , Java, JavaScript, and Python. We also consider two scenarios of usage for our compressors, called Backup and File-Access scenario, where the latter adds to the former the support for single file retrieval. As a net result, our experiments show (i) how much “compressible” each language is, (ii) which content- or context-based techniques compress better and are faster to (de)compress by possibly supporting individual file access, and (iii) the ultimate compressed size that, according to our estimate, our best solution could achieve in storing all the source code written in these languages and available in the Software Heritage Archive: namely, in 3 TiB (down from their original 78 TiB total size, with an average compression ratio of 4%). Antonio Boffa, Roberto Di Cosmo, Paolo Ferragina, Andrea Guerra, Giovanni Manzini, Giorgio Vinciguerra, Stefano Zacchiroli |
J. Syst. Softw. | 2 |
| 2022 | Should We Preserve the World's Software History, And Can We?abstractAbstract Cultural heritage is the legacy of physical artifacts and intangible attributes of a group or society that a re inherited from past generations, maintained in the present and bestowed for the benefit of future generations. What role does software play in it? We claim that software source code is an important product of human creativity, and embodies a growing part of our scientific, organisational and technological knowledge: it is a part of our cultural heritage, and it is our collective responsibility to ensure that it is not lost. Preserving the history of software is also a key enabler for reproducibility of research, and as a means to foster better and more secure software for society. This is the mission of Software Heritage, a non-profit organization dedicated to building the universal archive of software source code, catering to the needs of science, industry and culture, for the benefit of society as a whole. In this keynote talk we survey the principles and key technology used in the archive that contains over 12 billion unique source code files from some 180 millions projects worldwide. Roberto Di Cosmo |
TPDL | 1 |
| 2020 | Dependency Solving Is Still Hard, but We Are Getting Better at ItabstractDependency solving is a hard (NP-complete) problem in all non-trivial component models due to either mutually incompatible versions of the same packages or explicitly declared package conflicts. As such, software upgrade planning needs to rely on highly specialized dependency solvers, lest falling into pitfalls such as incompleteness—a combination of package versions that satisfy dependency constraints does exist, but the package manager is unable to find it. In this paper we look back at proposals from dependency solving research dating back a few years. Specifically, we review the idea of treating dependency solving as a separate concern in package manager implementations, relying on generic dependency solvers based on tried and tested techniques such as SAT solving, PBO, MILP, etc. By conducting a census of dependency solving capabilities in state-of-the-art package managers we conclude that some proposals are starting to take off (e.g., SAT-based dependency solving) while—with few exceptions—others have not (e.g., outsourcing dependency solving to reusable components). We reflect on why that has been the case and look at novel challenges for dependency solving that have emerged since. Pietro Abate, Roberto Di Cosmo, Georgios Gousios, Stefano Zacchiroli |
SANER | 2 |
| 2020 | Software provenance tracking at the scale of public source code
Guillaume Rousseau, Roberto Di Cosmo, Stefano Zacchiroli |
Empir. Softw. Eng. | 2 |
| 2018 | Software heritage: collecting, preserving, and sharing all our source code (keynote)abstractSoftware Heritage is a non profit initiative whose ambitious goal is to collect, preserve and share the source code of all software ever written, with its full development history, building a universal source code software knowledge base. Software Heritage addresses a variety of needs: preserving our scientific and technological knowledge, enabling better software development and reuse for society and industry, fostering better science, and building an essential infrastructure for large scale, reproducible software studies. We have already collected over 4 billions unique source files from over 80 millions repositories, and organised them into a giant Merkle graph, with full deduplication across all repositories. This allows us to cope with the growth of collaborative software development, and provides a unique vantage point for observing its evolution. In this talk, we will highlight the new challenges and opportunities that Software Heritage brings up. Roberto Di Cosmo |
ASE | 1 |
| 2017 | NightSplitter: A Scheduling Tool to Optimize (Sub)group Activities
Tong Liu 0004, Roberto Di Cosmo, Maurizio Gabbrielli, Jacopo Mauro |
CP | 2 |
| 2017 | Scaling up functional programming education: under the hood of the OCaml MOOCabstractThis article describes the key innovations used in the massive open online course ``Introduction to Functional Programming using OCaml'' that has run since the fall semester of 2015. A fully in-browser development environment with an integrated grader provides an exceptional level of feedback to the learners. A functional library of grading combinators greatly simplifies the notoriously complex task of writing test suites for the exercises, and provides static type-safety guarantees on the tested user code. Even the error-prone manual process of importing the course content in the learning platform has been replaced by a functional program that describes the course and statically checks its contents. A detailed statistical analysis of the data collected during and after the course assesses the effectiveness of these innovations. Benjamin Canou, Roberto Di Cosmo, Grégoire Henry |
Proc. ACM Program. Lang. | 2 |
| 2015 | Automatic Application Deployment in the Cloud: from Practice to Theory and Back (Invited Paper)abstractThe problem of deploying a complex software application has been formally investigated in previous work by means of the abstract component model named Aeolus. As the problem turned out to be undecidable, simplified versions of the model were investigated in which decidability was restored by introducing limitations on the ways components are described. In this paper, we take an opposite approach, and investigate the possibility to address a relaxed version of the deployment problem without limiting the expressiveness of the component model. We identify three problems to be solved in sequence: (i) the verification of the existence of a final configuration in which all the constraints imposed by the single components are satisfied, (ii) the generation of a concrete configuration satisfying such constraints, and (iii) the synthesis of a plan to reach such a configuration possibly going through intermediary configurations that violate the non-functional constraints. Roberto Di Cosmo, Michael Lienhardt, Jacopo Mauro, Stefano Zacchiroli, Gianluigi Zavattaro, Jakub Zwolakowski |
CONCUR | 1 |
| 2015 | Automatic Deployment of Services in the Cloud with Aeolus Blender
Roberto Di Cosmo, Antoine Eiche, Jacopo Mauro, Stefano Zacchiroli, Gianluigi Zavattaro, Jakub Zwolakowski |
ICSOC | 1 |
| 2015 | Mining Component Repositories for Installability IssuesabstractComponent repositories play an increasingly relevant role in software life-cycle management, from software distribution to end-user, to deployment and upgrade management. Software components shipped via such repositories are equipped with rich metadata that describe their relationship (e.g., Dependencies and conflicts) with other components. In this practice paper we show how to use a tool, distcheck, that uses component metadata to identify all the components in a repository that cannot be installed (e.g., Due to unsatisfiable dependencies), provides detailed information to help developers understanding the cause of the problem, and fix it in the repository. We report about detailed analyses of several repositories: the Debian distribution, the OPAM package collection, and Drupal modules. In each case, distcheck is able to efficiently identify not installable components and provide valuable explanations of the issues. Our experience provides solid ground for generalizing the use of distcheck to other component repositories. Pietro Abate, Roberto Di Cosmo, Louis Gesbert, Fabrice Le Fessant, Ralf Treinen, Stefano Zacchiroli |
MSR | 2 |
| 2015 | A Historical Analysis of Debian Package IncompatibilitiesabstractUsers and developers of software distributions are often confronted with installation problems due to conflicting packages. A prototypical example of this are the Linux distributions such as Debian. Conflicts between packages have been studied under different points of view in the literature, in particular for the Debian operating system, but little is known about how these package conflicts evolve over time. This article presents an extensive analysis of the evolution of package incompatibilities, spanning a decade of the life of the Debian stable and testing distributions for its most popular architecture, i386. Using the technique of survival analysis, this empirical study sheds some light on the origin and evolution of package incompatibilities, and provides the basis for building indicators that may be used to improve the quality of package-based distributions. Maëlick Claes, Tom Mens, Roberto Di Cosmo, Jérôme Vouillon |
MSR | 3 |
| 2014 | Easing software component repository evolutionabstractModern software systems are built by composing components drawn from large repositories, whose size and complexity increase at a fast pace. Maintaining and evolving these software collections is a complex task, and a strict qualification process needs to be enforced. We studied in depth the Debian software repository, one of the largest and most complex existing ones, and we developed comigrate, an extremely efficient tool that is able to identify the largest sets of components that can migrate to the reference repository without violating its quality constraints. This tool outperforms significantly all existing tools, and provides detailed information that is crucial to understand the reasons why some components cannot migrate. Extensive validation on the Debian distribution has been performed. The core architecture of the tool is quite general, and can be easily adapted to other software repositories. Jérôme Vouillon, Mehdi Dogguy, Roberto Di Cosmo |
ICSE | 3 |
| 2014 | Automated synthesis and deployment of cloud applicationsabstractComplex networked applications are assembled by connecting software components distributed across multiple machines. Building and deploying such systems is a challenging problem which requires a significant amount of expertise: the system architect must ensure that all component dependencies are satisfied, avoid conflicting components, and add the right amount of component replicas to account for quality of service and fault-tolerance. In a cloud environment, one also needs to minimize the virtual resources provisioned upfront, to reduce the cost of operation. Once the full architecture is designed, it is necessary to correctly orchestrate the deployment phase, to ensure all components are started and connected in the right order. Roberto Di Cosmo, Michael Lienhardt, Ralf Treinen, Stefano Zacchiroli, Jakub Zwolakowski, Antoine Eiche, Alexis Agahi |
ASE | 1 |
| 2014 | Aeolus: A component model for the cloud
Roberto Di Cosmo, Jacopo Mauro, Stefano Zacchiroli, Gianluigi Zavattaro |
Inf. Comput. | 1 |
| 2014 | Learning from the future of component repositories
Pietro Abate, Roberto Di Cosmo, Ralf Treinen, Stefano Zacchiroli |
Sci. Comput. Program. | 2 |
| 2013 | Component Reconfiguration in the Presence of Conflicts
Roberto Di Cosmo, Jacopo Mauro, Stefano Zacchiroli, Gianluigi Zavattaro |
ICALP (2) | 1 |
| 2013 | Broken sets in software repository evolutionabstractModern software systems are built by composing components drawn from large repositories, whose size and complexity increase at a fast pace. Software systems built with components from a release of a repository should be seamlessly upgradeable using components from the next release. Unfortunately, users are often confronted with sets of components that were installed together, but cannot be upgraded together to the latest version from the new repository. Identifying these broken sets can be of great help for a quality assurance team, that could examine and fix these issues well before they reach the end user. Building on previous work on component co-installability, we show that it is possible to find these broken sets for any two releases of a component repository, computing extremely efficiently a concise representation of these upgrade issues, together with informative graphical explanations. A tool implementing the algorithm presented in this paper is available as free software, and is able to process the evolution between two major releases of the Debian GNU/Linux distribution in just a few seconds. These results make it possible to integrate seamlessly this analysis in a repository development process. Jérôme Vouillon, Roberto Di Cosmo |
ICSE | 2 |
| 2013 | A modular package manager architecture
Pietro Abate, Roberto Di Cosmo, Ralf Treinen, Stefano Zacchiroli |
Inf. Softw. Technol. | 2 |
| 2013 | On software component co-installabilityabstractModern software systems are built by composing components drawn from large repositories , whose size and complexity is increasing at a very fast pace. A fundamental challenge for the maintainability and the scalability of such software systems is the ability to quickly identify the components that can or cannot be installed together: this is the co-installability problem, which is related to boolean satisfiability and is known to be algorithmically hard. This article develops a novel theoretical framework, based on formally certified semantic preserving graph-theoretic transformations, that allows us to associate to each concrete component repository a much smaller one with a simpler structure, that we call strongly flat , with equivalent co-installability properties. This flat repository can be displayed in a way that provides a concise view of the co-installability issues in the original repository, or used as a basis for various algorithms related to co-installability, like the efficient computation of strong conflicts between components. The proofs contained in this work have been machine checked using the Coq proof assistant. Jérôme Vouillon, Roberto Di Cosmo |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2012 | Why do software packages conflict?abstractDetermining whether two or more packages cannot be installed together is an important issue in the quality assurance process of package-based distributions. Unfortunately, the sheer number of different configurations to test makes this task particularly challenging, and hundreds of such incompatibilities go undetected by the normal testing and distribution process until they are later reported by a user as bugs that we call “conflict defects”. We performed an extensive case study of conflict defects extracted from the bug tracking systems of Debian and Red Hat. According to our results, conflict defects can be grouped into five main categories. We show that with more detailed package meta-data, about 30 % of all conflict defects could be prevented relatively easily, while another 30 % could be found by targeted testing of packages that share common resources or characteristics. These results allow us to make precise suggestions on how to prevent and detect conflict defects in the future. Cyrille Artho, Kuniyasu Suzaki, Roberto Di Cosmo, Ralf Treinen, Stefano Zacchiroli |
MSR | 3 |
| 2012 | Towards a Formal Component Model for the Cloud
Roberto Di Cosmo, Stefano Zacchiroli, Gianluigi Zavattaro |
SEFM | 1 |
| 2012 | Dependency solving: A separate concern in component evolution management
Pietro Abate, Roberto Di Cosmo, Ralf Treinen, Stefano Zacchiroli |
J. Syst. Softw. | 2 |
| 2011 | On software component co-installabilityabstractModern software systems are built by composing components drawn from large repositories, whose size and complexity is increasing at a very fast pace. A fundamental challenge for the maintainability and the scalability of such software systems is the ability to quickly identify the components that can or cannot be installed together: this is the co-installability problem, which is related to boolean satisfiability and is known to be algorithmically hard. This paper develops a novel theoretical framework, based on formally certified. semantic preserving graph-theoretic transformations, that allows to associate to each concrete component repository a much smaller one with a simpler structure, but with equivalent co-installability properties. This smaller repository can be represented graphically, giving a concise view of the co-installability issues in the original repository, or used as a basis for various algorithms related to co-installability, like the efficient computation of strong conflicts between components. The proofs contained in this work have been machine checked in Coq. Roberto Di Cosmo, Jérôme Vouillon |
SIGSOFT FSE | 1 |
| 2011 | Supporting software evolution in component-based FOSS systems
Roberto Di Cosmo, Davide Di Ruscio, Patrizio Pelliccione, Alfonso Pierantonio, Stefano Zacchiroli |
Sci. Comput. Program. | 1 |
| 2010 | Feature Diagrams as Package Dependencies
Roberto Di Cosmo, Stefano Zacchiroli |
SPLC | 1 |
| 2010 | On isomorphisms of intersection typesabstractThe study of type isomorphisms for different λ-calculi started over twenty years ago, and a very wide body of knowledge has been established, both in terms of results and in terms of techniques. A notable missing piece of the puzzle was the characterization of type isomorphisms in the presence of intersection types. While, at first thought, this may seem to be a simple exercise, it turns out that not only finding the right characterization is not simple, but that the very notion of isomorphism in intersection types is an unexpectedly original element in the previously known landscape, breaking most of the known properties of isomorphisms of the typed λ-calculus. In particular, isomorphism is not a congruence and types that are equal in the standard models of intersection types may be nonisomorphic. Mariangiola Dezani-Ciancaglini, Roberto Di Cosmo, Elio Giovannetti, Makoto Tatsuta |
ACM Trans. Comput. Log. | 2 |
| 2009 | Strong dependencies between software componentsabstractComponent-based systems often describe context requirements in terms of explicit inter-component dependencies. Studying large instances of such systems - such as free and open source software (FOSS) distributions - in terms of declared dependencies between packages is appealing. It is however also misleading when the language to express dependencies is as expressive as Boolean formulae, which is often the case. In such settings, a more appropriate notion of component dependency exists: strong dependency. This paper introduces such notion as a first step towards modeling semantic, rather then syntactic, inter-component relationships. Furthermore, a notion of component sensitivity is derived from strong dependencies, with applications to quality assurance and to the evaluation of upgrade risks. An empirical study of strong dependencies and sensitivity is presented, in the context of one of the largest, freely available, component-based system. Pietro Abate, Roberto Di Cosmo, Jaap Boender, Stefano Zacchiroli |
ESEM | 2 |
| 2008 | Improving the Quality of GNU/Linux DistributionsabstractThe widespread adoption of Free and Open Source Software (FOSS) has lead to a freer and more agile marketplace where there is a higher number of components that can be used to build systems in many original and often unforeseen ways. One of the most prominent examples of complex systems built with FOSS components are GNU/Linux-based distributions. In this paper we present some tools that aim at helping distribution editors with maintaining the huge package bases associated with these distributions, and improving their quality, by detecting errors and inconsistencies in an effective, fast and automatic way. Jaap Boender, Roberto Di Cosmo, Jérôme Vouillon, Berke Durak, Fabio Mancinelli |
COMPSAC | 2 |
| 2007 | A calculus for parallel computations over multidimensional dense arrays
Roberto Di Cosmo, Susanna Pelagatti |
Comput. Lang. Syst. Struct. | 1 |
| 2006 | Educating the e-citizen
Roberto Di Cosmo |
ITiCSE | 1 |
| 2006 | Managing the Complexity of Large Free and Open Source Package-Based Software DistributionsabstractThe widespread adoption of free and open source software (FOSS) in many strategic contexts of the information technology society has drawn the attention on the issues regarding how to handle the complexity of assembling and managing a huge number of (packaged) components in a consistent and effective way. FOSS distributions (and in particular GNU/Linux-based ones) have always provided tools for managing the tasks of installing, removing and upgrading the (packaged) components they were made of While these tools provide a (not always effective) way to handle these tasks on the client side, there is still a lack of tools that could help the distribution editors to maintain, on the server side, large and high-quality distributions. In this paper we present our research whose main goal is to fill this gap: we show our approach, the tools we have developed and their application with experimental results. Our contribution provides an effective and automatic way to support distribution editors in handling those issues that were, until now, mostly addressed using ad-hoc tools and manual techniques Fabio Mancinelli, Jaap Boender, Roberto Di Cosmo, Jérôme Vouillon, Berke Durak, Xavier Leroy, Ralf Treinen |
ASE | 3 |
| 2006 | Remarks on isomorphisms in typed lambda calculi with empty and sum types
Marcelo P. Fiore, Roberto Di Cosmo, Vincent Balat |
Ann. Pure Appl. Log. | 2 |
| 2006 | Domain decomposition and skeleton programming with OCamlP3l
François Clément, A. Vodicka, Roberto Di Cosmo, Pierre Weis |
Parallel Comput. | 4 |
| 2005 | A short survey of isomorphisms of typesabstractWe were all taught in high school that two objects $A$ and $B$ are isomorphic iff there exist two functions $f$ and $g$ such that Roberto Di Cosmo |
Math. Struct. Comput. Sci. | 1 |
| 2004 | The Equational Theory of < N, 0, 1, +, ×, uparrow > Is Decidable, but Not Finitely Axiomatisable
Roberto Di Cosmo, Thomas Dufour |
LPAR | 1 |
| 2004 | Extensional normalisation and type-directed partial evaluation for typed lambda calculus with sumsabstractWe present a notion of η-long β-normal term for the typed lambda calculus with sums and prove, using Grothendieck logical relations, that every term is equivalent to one in normal form. Based on this development we give the first type-directed partial evaluator that constructs %able to construct normal forms of terms in this calculus. Vincent Balat, Roberto Di Cosmo, Marcelo P. Fiore |
POPL | 2 |
| 2003 | Proof Nets And Explicit SubstitutionsabstractWe refine the simulation technique introduced in Di Cosmo and Kesner (1997) to show strong normalisation of $\l$ -calculi with explicit substitutions via termination of cut elimination in proof nets (Girard 1987). We first propose a notion of equivalence relation for proof nets that extends the one in Di Cosmo and Guerrini (1999), and show that cut elimination modulo this equivalence relation is terminating. We then show strong normalisation of the typed version of the $\ll$ -calculus with de Bruijn indices (a calculus with full composition defined in David and Guillaume (1999)) using a translation from typed $\ll$ to proof nets. Finally, we propose a version of typed $\ll$ with named variables, which helps to give a better understanding of the complex mechanism of the explicit weakening notation introduced in the $\ll$ -calculus with de Bruijn indices (David and Guillaume 1999). Roberto Di Cosmo, Delia Kesner, Emmanuel Polonowski |
Math. Struct. Comput. Sci. | 1 |
| 2002 | Remarks on Isomorphisms in Typed Lambda Calculi with Empty and Sum TypesabstractTarski asked whether the arithmetic identities taught in high school are complete for showing all arithmetic equations valid for the natural numbers. The answer to this question for the language of arithmetic expressions using a constant for the number one and the operations of product and exponentiation is affirmative, and the complete equational theory also characterises isomorphism in the typed lambda calculus, where the constant for one and the operations of product and exponentiation respectively correspond to the unit type and the product and arrow type constructors. This paper studies isomorphisms in typed lambda calculi with empty and sum types from this viewpoint. We close an open problem by establishing that the theory of type isomorphisms in the presence of product, arrow, and sum types (with or without the unit type) is not finitely axiomatisable. Further, we observe that for type theories with arrow, empty and sum types the correspondence between isomorphism and arithmetic equality generally breaks down, but that it still holds in some particular cases including that of type isomorphism with the empty type and equality with zero. Marcelo P. Fiore, Roberto Di Cosmo, Vincent Balat |
LICS | 2 |
| 2000 | Proof Nets and Explicit Substitutions
Roberto Di Cosmo, Delia Kesner, Emmanuel Polonowski |
FoSSaCS | 1 |
| 2000 | Playing Logic Programs with the Alpha-Beta Algorithm
Jean-Vincent Loddo, Roberto Di Cosmo |
LPAR | 2 |
| 1999 | Strong Normalization of Proof Nets Modulo Structural Congruences
Roberto Di Cosmo, Stefano Guerrini |
RTA | 1 |
| 1997 | On Modular Properties of Higher Order Extensional Lambda Calculi
Roberto Di Cosmo, Neil Ghani |
ICALP | 1 |
| 1997 | Strong Normalization of Explicit Substitutions via Cut Elimination in Proof Nets (Extended Abstract)abstractIn this paper, we show the correspondence existing between normalization in calculi with explicit substitution and cut elimination in sequent calculus for linear logic, via proof nets. This correspondence allows us to prove that a typed version of the /spl lambda/x-calculus is strongly normalizing, as well as of all the calculi that can be translated to it keeping normalization properties such as /spl lambda//sub v/, /spl lambda//sub s/, /spl lambda//sub d/ and /spl lambda//sub f/. In order to achieve this result, we introduce a new notion of reduction in proof nets: this extended reduction is still confluent and strongly normalizing, and is of interest of its own, as it corresponds to more identifications of proofs in linear logic that differ by inessential details. These results show that calculi with explicit substitutions are really an intermediate formalism between lambda calculus and proof nets, and suggest a completely new way to look at the problems still open in the field of explicit substitutions. Roberto Di Cosmo, Delia Kesner |
LICS | 1 |
| 1996 | On the Power of Simple Diagrams
Roberto Di Cosmo |
RTA | 1 |
| 1996 | A Confluent Reduction for the lambda-Calculus with Surjective Pairing and Terminal ObjectabstractAbstract We exhibit confluent and effectively weakly normalizing (thus decidable) rewriting systems for the full equational theory underlying cartesian closed categories, and for polymorphic extensions of it. The λ-calculus extended with surjective pairing has been well-studied in the last two decades. It is not confluent in the untyped case, and confluent in the typed case. But to the best of our knowledge the present work is the first treatment of the lambda calculus extended with surjective pairing and terminal object via a confluent rewriting system, and is the first solution to the decidability problem of the full equational theory of Cartesian Closed Categories extended with polymorphic types . Our approach yields conservativity results as well. In separate papers we apply our results to the study of provable type isomorphisms, and to the decidability of equality in a typed λ-calculus with subtyping. Pierre-Louis Curien, Roberto Di Cosmo |
J. Funct. Program. | 2 |
| 1996 | Combining Algebraic Rewriting, Extensional Lambda Calculi, and Fixpoints
Roberto Di Cosmo, Delia Kesner |
Theor. Comput. Sci. | 1 |
| 1995 | Second Order Isomorphic Types: A Proof Theoretic Study on Second Order lambda-Calculus with Surjective Paring and Terminal Object
Roberto Di Cosmo |
Inf. Comput. | 1 |
| 1994 | Combining First Order Algebraic Rewriting Systems, Recursion and Extensional Lambda Calculi
Roberto Di Cosmo, Delia Kesner |
ICALP | 1 |
| 1994 | Simulating Expansions without ExpansionsabstractWe add extensional equalities for the functional and product types to the typed λ-calculus with, in addition to products and terminal object, sums and bounded recursion (a version of recursion that does not allow recursive calls of infinite length). We provide a confluent and strongly normalizing (thus decidable) rewriting system for the calculus that stays confluent when allowing unbounded recursion. To do this, we turn the extensional equalities into expansion rules, and not into contractions as is done traditionally. We first prove the calculus to be weakly confluent, which is a more complex and interesting task than for the usual λ-calculus. Then we provide an effective mechanism to simulate expansions without expansion rules, so that the strong normalization of the calculus can be derived from that of the underlying, traditional, non-extensional system. These results give us the confluence of the full calculus, but we also show how to deduce confluence directly form our simulation technique without using the weak confluence property. Roberto Di Cosmo, Delia Kesner |
Math. Struct. Comput. Sci. | 1 |
| 1993 | A Confluent Reduction for the Extensional Typed lambda-Calculus with Pairs, Sums, Recursion and terminal Object
Roberto Di Cosmo, Delia Kesner |
ICALP | 1 |
| 1993 | Deciding Type Isomorphisms in a Type-Assignment FrameworkabstractAbstract This paper provides a formal treatment of isomorphic types for languages equipped with an ML style polymorphic type inference mechanism. The results obtained make less justified the commonplace feeling that (the core of) ML is a subset of second order λ-calculus: we can provide an isomorphism of types that holds in the core ML language, but not in second order λ-calculus. This new isomorphism allows to provide a complete (and decidable) axiomatization of all the types isomorphic in ML style languages, a relevant issue for the type as specifications paradigm in library searches. This work is a very extended version of Di Cosmo (1992): we provide both a thorough theoretical treatment of the topic and describe a practical implementation of a library search system so that the paper can be used as a reference both by those interested in the formal theory of ML style languages, and by those simply concerned with implementation issues. The new isomorphism can also be used to extend the usual ML type-inference algorithm, as suggested by Di Cosmo (1992). Building on that proposal, we introduce a better type-inference algorithm that behaves well in the presence of non-functional primitives like references and exceptions. The algorithm described here has been implemented easily as a variation to the Caml-Light 0.4 system. Roberto Di Cosmo |
J. Funct. Program. | 1 |
| 1992 | Type Isomorphisms in a Type-Assignment FrameworkabstractThis paper contains a full treatment of isomorphic types for languages equipped with an ML style polymorphic type inference mechanism. Surprisingly enough the results obtained contradict the common-place feeling that (the core of) ML is a subset of second order λ-calculus: we can provide an isomorphism of types that holds in the core ML language, but not in second order λ-calculus. This new isomorphism not only allows to provide a complete (and decidable) axiomatisation of all the type isomorphic in ML style languages, a relevant issue for the type as specifications paradigm in library searches, but also suggest a natural extension that in a sense completes the type-inference mechanism in ML. This extension is easy to implement and allows to get a further insight in the nature of the let polymorphic construct. Roberto Di Cosmo |
POPL | 1 |
| 1992 | Provable Isomorphisms of TypesabstractA constructive characterization is given of the isomorphisms which must hold in all models of the typed lambda calculus with surjective pairing. Using the close relation between closed Cartesian categories and models of these calculi, we also produce a characterization of those isomorphisms which hold in all CCC's. Using the correspondence between these calculi and proofs in intuitionistic positive propositional logic, we thus provide a characterization of equivalent formulae of this logic, where the definition of equivalence of terms depends on having “invertible” proofs between the two terms. Work of Rittri (1989), on types as search keys in program libraries, provides an interesting example of use of these characterizations. Kim B. Bruce, Roberto Di Cosmo, Giuseppe Longo |
Math. Struct. Comput. Sci. | 2 |
| 1991 | A Concluent Reduction for the Lambda-Calculus with Surjective Pairing and Terminal Object
Pierre-Louis Curien, Roberto Di Cosmo |
ICALP | 2 |