2 research outputs found

    A Compiler for the dependently typed language Beluga

    Full text link
    Les structures avec des lieurs sont très communes en informatique. Les langages de programmation et les systèmes logiques sont des exemples de structures avec des lieurs. La manipulation de lieurs est délicate, de sorte que l’écriture de programmes qui ma- nipulent ces structures tirerait profit d’un soutien spécifique pour les lieurs. L’environ- nement de programmation Beluga est un exemple d’un tel système. Nous développons et présentons ici un compilateur pour ce système. Parmi les programmes pour lesquels Beluga est spécialement bien adapté, plusieurs peuvent bénéficier d’un compilateur. Par exemple, les programmes pour valider les types (les "type-checkers"), les compilateurs et les interpréteurs tirent profit du soutien spécifique des lieurs et des types dépendants présents dans le langage. Ils nécessitent tous également une exécution efficace, que l’on propose d’obtenir par le biais d’un compilateur. Le but de ce travail est de présenter un nouveau compilateur pour Beluga, qui emploie une représentation interne polyvalente et permet de partager du code entre plusieurs back-ends. Une contribution notable est la compilation du filtrage de Beluga, qui est particulièrement puissante dans ce langage.In computer science, structures with variable binders are very common. Program- ming languages and logical frameworks are examples of structures with binders. Thus writing programs that deal with these kinds of data benefits with explicit support for data binding. The Beluga programming environment is an example of such a system. In this work we develop and present a compiler for the system. Many of the programs that Beluga is specially well suited for writing can benefit from a compiler. For example, some of the kinds programs that would benefit more are type-checkers, compilers and interpreters that take advantage of the binder support and dependent types present in the language, and also require a reasonably fast run-time. Our goal in this work, is to present a compiler for the Beluga system, that uses a very versatile internal representation that helps with the development of the system, and allows a sharing of code between several back-ends. Furthermore, we present a way of compiling the uniquely powerful pattern language supported by Beluga

    Nominal Models of Linear Logic

    Get PDF
    PhD thesisMore than 30 years after the discovery of linear logic, a simple fully-complete model has still not been established. As of today, models of logics with type variables rely on di-natural transformations, with the intuition that a proof should behave uniformly at variable types. Consequently, the interpretations of the proofs are not concrete. The main goal of this thesis was to shift from a 2-categorical setting to a first-order category. We model each literal by a pool of resources of a certain type, that we encode thanks to sorted names. Based on this, we revisit a range of categorical constructions, leading to nominal relational models of linear logic. As these fail to prove fully-complete, we revisit the fully-complete game-model of linear logic established by Melliès. We give a nominal account of concurrent game semantics, with an emphasis on names as resources. Based on them, we present fully complete models of multiplicative additive tensorial, and then linear logics. This model extends the previous result by adding atomic variables, although names do not play a crucial role in this result. On the other hand, it provides a nominal structure that allows for a nominal relationship between the Böhm trees of the linear lambda-terms and the plays of the strategies. However, this full-completeness result for linear logic rests on a quotient. Therefore, in the final chapter, we revisit the concurrent operators model which was first developed by Abramsky and Melliès. In our new model, the axiomatic structure is encoded through nominal techniques and strengthened in such a way that full completeness still holds for MLL. Our model does not depend on any 2-categorical argument or quotient. Furthermore, we show that once enriched with a hypercoherent structure, we get a static fully complete model of MALL
    corecore