Liens externes
  • Directories
  • Faculties
  • Libraries
  • Campus maps
  • Sites A to Z
  • My UdeM
    • Mon portail UdeM
    • My email
    • StudiUM
Dessin du pavillon Roger Gaudry/Sketch of Roger Gaudry Building
University Home pageUniversity Home pageUniversity Home page
Papyrus : Institutional Repository
Papyrus
Institutional Repository
Papyrus
    • français
    • English
  • English 
    • français
    • English
  • Login
  • English 
    • français
    • English
  • Login
View Item 
  •   Home
  • Faculté des arts et des sciences
  • FAS - Département d'informatique et de recherche opérationnelle
  • FAS - Département d'informatique et de recherche opérationnelle - Thèses et mémoires
  • View Item
  •   Home
  • Faculté des arts et des sciences
  • FAS - Département d'informatique et de recherche opérationnelle
  • FAS - Département d'informatique et de recherche opérationnelle - Thèses et mémoires
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

My Account

To submit an item or subscribe to email alerts.
Login
New user?

Browse

All of PapyrusCommunities and CollectionsTitlesIssue DatesAuthorsAdvisorsSubjectsDisciplinesAffiliationTitles indexThis CollectionTitlesIssue DatesAuthorsAdvisorsSubjectsDisciplinesAffiliationTitles index

Statistics

View Usage Statistics
Show metadata
Permalink: http://hdl.handle.net/1866/8676

A Compiler for the dependently typed language Beluga

Thesis or Dissertation
Thumbnail
Ferreira_Francisco_2012_memoire.pdf (361.4Kb)
2012-05 (degree granted: 2012-10-11)
Author(s)
Ferreira Ruiz, Francisco
Advisor(s)
Monnier, Stefan
Pientka, Brigitte
Level
Master's
Discipline
Informatique
Keywords
  • binders
  • compilation
  • dependent types
  • pattern matching
  • lieurs
  • filtrage
  • compilation
  • types dépendents
  • Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)
Abstract(s)
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.
Collections
  • Thèses et mémoires électroniques de l’Université de Montréal [15031]
  • FAS - Département d'informatique et de recherche opérationnelle - Thèses et mémoires [629]

DSpace software [version 5.8 XMLUI], copyright © 2002-2015  DuraSpace
Contact Us | Send Feedback
Certificat SSL / SSL Certificate
les bibliothéques/UdeM
  • Emergency
  • Private life
  • Careers
  • My email
  • StudiUM
  • iTunes U
  • Contact us
  • Facebook
  • YouTube
  • Twitter
  • University RSS
 

 


DSpace software [version 5.8 XMLUI], copyright © 2002-2015  DuraSpace
Contact Us | Send Feedback
Certificat SSL / SSL Certificate
les bibliothéques/UdeM
  • Emergency
  • Private life
  • Careers
  • My email
  • StudiUM
  • iTunes U
  • Contact us
  • Facebook
  • YouTube
  • Twitter
  • University RSS