We offer an alternative method for type checking expressions in an extension of Hindley and Milner’s lambda calculus with generalized algebraic data types. The approach foregoes all mention of type equalities and unifiers and only applies type conversions at case statements in a deterministic fashion. What we introduce is a method for finding out the appropriate types of pattern bound variables within a type derivation and how to convert them back so that they are valid types in the context of the enclosing expression. Everything is done locally so scoping is no longer an issue. The system is proven sound and complete. An implementation of the system is discussed. / Ce document propose une methode alternative de verification du type dans une extension du systeme de typage de Hindley et Milner avec des types de donnees algebriques generalises. Cette methode n’utilise pas d’unificateur et d’egalite de type. De plus, elle ne convertit les types qu’a l’expression de case, et ce de maniere deterministique. Tout est fait localement dans ce systeme. Le systeme est prouve complet et correcte et une implementation est decrite.
Identifer | oai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:QMM.18303 |
Date | January 2007 |
Creators | Le Normand, Jacques |
Contributors | Brigitte Pientka (Internal/Cosupervisor2), Prakash Panangaden (Internal/Supervisor) |
Publisher | McGill University |
Source Sets | Library and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada |
Language | English |
Detected Language | English |
Type | Electronic Thesis or Dissertation |
Format | application/pdf |
Coverage | Master of Science (School of Computer Science) |
Rights | All items in eScholarship@McGill are protected by copyright with all rights reserved unless otherwise indicated. |
Relation | Electronically-submitted theses. |
Page generated in 0.0045 seconds