2 research outputs found

    A prototype-based approach to object evolution

    Get PDF
    International audienceWe investigate, in the context of functional prototype-based languages , a calculus of objects which might extend themselves upon receiving a message, a possibility referred to by Cardelli as a self-inflicted operation. We present a sound type system for this calculus which guarantees that evaluating a well-typed expression will never yield a message-not-found runtime error. The resulting calculus is an attempt towards the definition of a language combining the safety advantage of static type check with the flexibility normally found in dynamically typed languages

    Subtyping Constraints for Incomplete Objects (Extended Abstract)

    Get PDF
    We extend the type system for the Lambda Calculus of Objects [14] to account for a notion of width subtyping. The main novelties over previous work are the use of bounded quantification to achieve a new and more direct rendering of MyType polymorphism, and a uniform treatment for other features that were accounted for via different systems in subsequent extensions [7, 6] of [14]. In particular, the new system provides for (i) appropriate type specialization of inherited methods, (ii) static detection of errors, (iii) width subtyping compatible with object extension, and (iv) complete freedom in the order of method addition
    corecore