Abitbol : un langage sur mesure pour la métaprogrammation
dc.contributor.advisor | Monnier, Stefan | |
dc.contributor.advisor | Feeley, Marc | |
dc.contributor.author | Archambault-Bouffard, Vincent | |
dc.date.accessioned | 2016-04-12T15:30:27Z | |
dc.date.available | NO_RESTRICTION | fr |
dc.date.available | 2016-04-12T15:30:27Z | |
dc.date.issued | 2016-03-23 | fr |
dc.date.submitted | 2015-04 | |
dc.identifier.uri | http://hdl.handle.net/1866/13407 | |
dc.subject | Fonctions transparentes | fr |
dc.subject | Métaprogrammation | fr |
dc.subject | Compilation | fr |
dc.subject | Langages fonctionnels | fr |
dc.subject | Réification | fr |
dc.subject | Transparent functions | fr |
dc.subject | Metaprogramming | fr |
dc.subject | Functional languages | fr |
dc.subject.other | Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984) | fr |
dc.title | Abitbol : un langage sur mesure pour la métaprogrammation | fr |
dc.type | Thèse ou mémoire / Thesis or Dissertation | |
etd.degree.discipline | Informatique | fr |
etd.degree.grantor | Université de Montréal | fr |
etd.degree.level | Maîtrise / Master's | fr |
etd.degree.name | M. Sc. | fr |
dcterms.abstract | Ce mémoire a pour thèse que les fonctions devraient être transparentes lors de la phase de métaprogrammation. En effet, la métaprogrammation se veut une possibilité pour le programmeur d’étendre le compilateur. Or, dans un style de programmation fonctionnelle, la logique du programme se retrouve dans les définitions des diverses fonctions le composant. Puisque les fonctions sont généralement opaques, l’impossibilité d’accéder à cette logique limite les applications possibles de la phase de métaprogrammation. Nous allons illustrer les avantages que procurent les fonctions transparentes pour la métaprogrammation. Nous donnerons notamment l’exemple du calcul symbolique et un exemple de nouvelles optimisations désormais possibles. Nous illustrerons également que la transparence des fonctions permet de faire le pont entre les datatypes du programme et les fonctions. Nous allons également étudier ce qu'implique la présence de fonctions transparentes au sein d'un langage. Nous nous concentrerons sur les aspects reliés à l'implantation de ces dernières, aux performances et à la facilité d'utilisation. Nous illustrerons nos propos avec le langage Abitbol, un langage créé sur mesure pour la métaprogrammation. | fr |
dcterms.abstract | Our main thesis is that functions should be transparent during the metaprogramming stage. Metaprogramming is intended as a possibility for the programmer to extend the compiler. But in a functional programming style, the program logic is found in the definition of its functions. Since functions are generally opaque, it is impossible for the programmer to access this information and this limits the metaprogramming possibilities. We will illustrate the benefits of transparent functions for metaprogramming. We will give the example of symbolic computation and also show new forms of optimizations now available at the metaprogramming stage. We will also illustrate that transparency allows us to bridge the gap between the datatypes of a program and its functions. We will also examine how transparent functions affects other aspects of the language. We will focus on how to implement them, their performance impact and their ease of use. We illustrate our thesis with Abitbol, a language designed for metaprogramming. | fr |
dcterms.language | fra | fr |
Files in this item
This item appears in the following Collection(s)
This document disseminated on Papyrus is the exclusive property of the copyright holders and is protected by the Copyright Act (R.S.C. 1985, c. C-42). It may be used for fair dealing and non-commercial purposes, for private study or research, criticism and review as provided by law. For any other use, written authorization from the copyright holders is required.