6 research outputs found

    Type Inference for Records in a Natural Extension of ML

    Get PDF
    We describe an extension of ML with records where inheritance is given by ML generic polymorphism. All operations on records introduced by Wand in [Wan87] are supported, in particular the unrestricted extension of a field, and other operations such as renaming of fields are added. The solution relies on both an extension of ML, where the language of types is sorted and considered modulo equations [Rem9Ob], and on a record extension of types [Rem9Oc]. The solution is simple and modular and the type inference algorithm is efficient in practice

    Linear Rank Intersection Types

    Get PDF
    Non-idempotent intersection types provide quantitative information about typed programs, and have been used to obtain time and space complexity measures. Intersection type systems characterize termination, so restrictions need to be made in order to make typability decidable. One such restriction consists in using a notion of finite rank for the idempotent intersection types. In this work, we define a new notion of rank for the non-idempotent intersection types. We then define a novel type system and a type inference algorithm for the ?-calculus, using the new notion of rank 2. In the second part of this work, we extend the type system and the type inference algorithm to use the quantitative properties of the non-idempotent intersection types to infer quantitative information related to resource usage

    A characterization of F-complete type assignments

    Get PDF
    AbstractThe aim of this paper is to investigate the soundness and completeness of the intersection type discipline (for terms of the (untyped λ-calculus) with respect to the F-semantics (F-soundness and F-completeness).As pointed out by Scott, if D is the domain of a Îł-model, there is a subset F of D whose elements are the ‘canonical’ representatives of functions. The F-semantics of types takes into account that theintuitive meaning of “σ→τ” is ‘the type of functions with domain σ and range τ’ and interprets σ→τ as a subset of F.The type theories which induce F-complete type assignments are characterized. It follows that a type assignment is F-complete iff equal terms get equal types and, whenever M has a type ϕ∧ωn, where ϕ is a type variable and ϕ is the ‘universal’ type, the term λz1
zn
Mz1
zn has type ϕ. Here we assume that z1
z.n do not occur free in M

    Type assignment in programming languages

    Get PDF
    corecore