• Login
    View Item 
    •   Home
    • UA Graduate and Undergraduate Research
    • UA Theses and Dissertations
    • Honors Theses
    • View Item
    •   Home
    • UA Graduate and Undergraduate Research
    • UA Theses and Dissertations
    • Honors Theses
    • View Item
    JavaScript is disabled for your browser. Some features of this site may not work without it.

    Browse

    All of UA Campus RepositoryCommunitiesTitleAuthorsIssue DateSubmit DateSubjectsPublisherJournalThis CollectionTitleAuthorsIssue DateSubmit DateSubjectsPublisherJournal

    My Account

    LoginRegister

    About

    AboutUA Faculty PublicationsUA DissertationsUA Master's ThesesUA Honors ThesesUA PressUA YearbooksUA CatalogsUA Libraries

    Statistics

    Most Popular ItemsStatistics by CountryMost Popular Authors

    TYPE INFERENCE IN PROGRAMMING LANGUAGES

    • CSV
    • RefMan
    • EndNote
    • BibTex
    • RefWorks
    Thumbnail
    Name:
    azu_etd_hr_2023_0229_sip1_m.pdf
    Size:
    388.2Kb
    Format:
    PDF
    Download
    Author
    Vogt, Gavin
    Issue Date
    2023
    Advisor
    Debray, Saumya
    
    Metadata
    Show full item record
    Publisher
    The University of Arizona.
    Rights
    Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
    Abstract
    The purpose of this paper is to familiarize a beginner with the field of type inference. By the end, the reader should be comfortable with common concepts in type inference and understand how to implement it. The paper introduces types and the lambda calculus as preliminary concepts that are important to understand when reading papers in the field. It walks through a simple example to build the reader’s intuition for type inference and motivate further discussion. Then, it delves into the unification process, which appears when solving the type equations that are generated according to typing rules. This paper focuses specifically on type inference for the Hindley-Milner type system, which is readily applied to functional programming languages. Hindley-Milner typing provides parametric polymorphism and guarantees that code is well-typed. The limitations and potential extensions to Hindley-Milner typing are examined by considering the ideas contributed by various papers in the field. Use of type inference in real-world programming languages is explored to show its practical applications and how it can benefit programmers. My implementation of unification and type inference algorithms discussed can be found at https://github.com/gavinvogt/type-inference-survey.
    Type
    Electronic thesis
    text
    Degree Name
    B.S.
    Degree Level
    bachelors
    Degree Program
    Computer Science
    Honors College
    Degree Grantor
    University of Arizona
    Collections
    Honors Theses

    entitlement

     
    The University of Arizona Libraries | 1510 E. University Blvd. | Tucson, AZ 85721-0055
    Tel 520-621-6442 | repository@u.library.arizona.edu
    DSpace software copyright © 2002-2017  DuraSpace
    Quick Guide | Contact Us | Send Feedback
    Open Repository is a service operated by 
    Atmire NV
     

    Export search results

    The export option will allow you to export the current search results of the entered query to a file. Different formats are available for download. To export the items, click on the button corresponding with the preferred download format.

    By default, clicking on the export buttons will result in a download of the allowed maximum amount of items.

    To select a subset of the search results, click "Selective Export" button and make a selection of the items you want to export. The amount of items that can be exported at once is similarly restricted as the full export.

    After making a selection, click one of the export format buttons. The amount of items that will be exported is indicated in the bubble next to export format.