MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Soft Interfaces: Typing Scheme at the Module Level (2001)

by Martin Gasbichler ,  Holger Gast
Add To MetaCart

Abstract:

Soft Interfaces is a module system for Scheme with typed interfaces. This makes it possible to declare the types of exported procedures in a language with union types, parametric polymorphism and recursion. Soft Interfaces statically checks calls to these procedures to ensure that the arguments meet the declared types. Implementations of exported procedures are checked to have a subtype of their declared type. Unlike other systems for reconstructing types in a dynamically typed language Soft Interfaces supports abstract types including the inference of their implementation types. We have implemented Soft Interfaces within Scheme 48.

Citations

719 On understanding types, data abstraction, and polymorphism – Cardelli, Wegner - 1985
304 Towards a theory of type structure – Reynolds - 1974
279 Subtyping recursive types – Amadio, Cardelli - 1993
251 Abstract types have existential type – Mitchell, Plotkin - 1988
228 Control-Flow Analysis of Higher-Order Languages or Taming Lambda – Shivers - 1991
175 On Understanding Types – Cardelli, Wegner - 1985
170 Soft typing with conditional types – Aiken, Wimmers, et al. - 1994
133 Operations on records – Cardelli, Mitchell - 1991
94 A practical soft type system for scheme – Wright, Cartwright - 1997
90 Type inference with simple subtypes – Mitchell - 1991
78 A Theory of Type Polymorphism – Milner - 1978
58 Finding bugs in the web of program invariants – Flanagan, Flatt, et al. - 1996
56 CLU Reference Manual – Liskov - 1979
54 A tractable Scheme implementation – Kelsey, Rees - 1995
24 Safe polymorphic type inference for a dynamically typed language: Translating scheme to ml – Henglein, Rehof - 1995
15 A scheme shell – Shivers - 1994
10 Practical Soft Typing – Wright - 1994
5 Polymorphic splitting: An eective polyvariant analysis – Jagannathan, Wright - 1998
1 Bigloo User's Manual for Bigloo 2.3a. http://kaolin.unice.fr/~serrano/bigloo – Serrano - 2001