scholarly journals Type checking modular multiple dispatch with parametric polymorphism and multiple inheritance

2011 ◽  
Vol 46 (10) ◽  
pp. 973-992
Author(s):  
Eric Allen ◽  
Justin Hilburn ◽  
Scott Kilpatrick ◽  
Victor Luchangco ◽  
Sukyoung Ryu ◽  
...  
Author(s):  
Eric Allen ◽  
J. J. Hallett ◽  
Victor Luchangco ◽  
Sukyoung Ryu ◽  
Guy L. Steele

Author(s):  
LUCA PADOVANI

AbstractInspired by the continuation-passing encoding of binary sessions, we describe a simple approach to embed a hybrid form of session type checking into any programming language that supports parametric polymorphism. The approach combines static protocol analysis with dynamic linearity checks. To demonstrate the effectiveness of the technique, we implement a well-integrated OCaml module for session communications. For free, OCaml provides us with equirecursive session types, parametric behavioural polymorphism, complete session type inference, and session subtyping.


1989 ◽  
Vol 18 (295) ◽  
Author(s):  
Michael I. Schwartzbach

A system of hierarchical, imperative, fully recursive types allows program fragments written for small types to be reused for all larger types. To exploit this property to enable type-safe hierarchical procedures, it is necessary to impose a <em>static requirement</em> on procedure calls. We introduce an example language and prove the existence of a <em>sound</em> requirement which preserves static correctness while allowing hierarchical procedures. This requirement is further shown to be <em>optimal</em>, in the sense that it imposes as few restrictions as possible. This establishes the theoretical basis for a very powerful and general type hierarchy with static type checking, which enables 1st order polymorphism and (multiple) inheritance in a language with assignments.


Sign in / Sign up

Export Citation Format

Share Document