Design and implementation of a reusable type inference engine and its application to Scheme Dorn, Brian
dc.contributor.department Computer Science 2018-02-14T00:53:29.000 2020-06-30T01:56:42Z 2020-06-30T01:56:42Z 2005-07-01
dc.description.abstract <p>Static type checking allows programmers to locate potential bugs prior to code execution. However, developing a static type checker is a complicated endeavor. Implementers must address a number of concerns including recursion over syntax elements, unification of type variables within environments, and generation of meaningful error messages for users. The inherent complexity of type checkers can lead to code that is difficult to both understand and maintain. This thesis presents the design and implementation of an abstract type inference engine and its use in the revision of a student-oriented type checker for the Scheme programming language. Our inference engine provides a complete set of unification facilities to programmers for the specication of a type checking system. It allows for a clean separation of unification algorithms, inference rules, and error generation. We also demonstrate the applicability of the engine by using it to construct a type checker for Scheme targeted at novice programmers. This checker borrows a student-friendly type notation from a previous version and extends its system, providing for language native module support, a more complete treatment of advanced data types, and better error messages.</p>
dc.identifier archive/
dc.identifier.articleid 1312
dc.identifier.contextkey 5539958
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath cs_techreports/323
dc.source.bitstream archive/|||Fri Jan 14 23:35:30 UTC 2022
dc.subject.disciplines Programming Languages and Compilers
dc.subject.keywords type inference
dc.subject.keywords Scheme language
dc.subject.keywords Typedscm language
dc.title Design and implementation of a reusable type inference engine and its application to Scheme
dc.type article
dc.type.genre article
dspace.entity.type Publication
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
456.22 KB
Adobe Portable Document Format