Change search
ReferencesLink to record
Permanent link

Direct link
Propagation of location information in constrained type inference
2003 (English)Independent thesis Advanced level (professional degree), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

The Timber type system is an extension of the classical Hindley-Milner type system, incorporating both qualified types and first class polymorphism. Since we also have subtyping, type errors in this system manifest themselves as unsatisfiable constraints rather than as non-unifiable types as in the Hindley-Milner system. In this thesis, we present a theoretical model for propagating the source of a constraint so that it can be presented to the user in case of an error. We also present examples from an implementation of our system for the Timber compiler. We propagate the location information by adding annotations to the syntax tree and then preserve that information as we build the predicates and types needed for type checking. We conclude that the approach to annotation taken here is one possible solution for the propagation of location information in constrained type inference.

Place, publisher, year, edition, pages
Keyword [en]
Technology, computer science, functional programming, type inference, error reporting, subtyping, qualified types, type errors, Timber
Keyword [sv]
URN: urn:nbn:se:ltu:diva-50372ISRN: LTU-EX--03/323--SELocal ID: 7a4fbd04-bfa6-4cec-b1c6-4c50c0c0a96eOAI: diva2:1023731
Subject / course
Student thesis, at least 30 credits
Educational program
Computer Science and Engineering, master's level
Validerat; 20101217 (root)Available from: 2016-10-04 Created: 2016-10-04Bibliographically approved

Open Access in DiVA

fulltext(271 kB)0 downloads
File information
File name FULLTEXT01.pdfFile size 271 kBChecksum SHA-512
Type fulltextMimetype application/pdf

Search outside of DiVA

GoogleGoogle Scholar
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

ReferencesLink to record
Permanent link

Direct link