Polymorphic type-checking in scheme

  • Authors:
  • Steven L. Jenkins;Gary T. Leavens

  • Affiliations:
  • Department of Computer Science, Iowa State University, Ames, IA 50011-1040, USA;Department of Computer Science, Iowa State University, Ames, IA 50011-1040, USA

  • Venue:
  • Computer Languages
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a type-inference system for Scheme that is designed to be used by students in an introductory programming course. The major goal of the work is to present a type system that is simple enough to be used by beginner students, yet is powerful enough to express the ideas of polymorphism, abstract data types (ADTs), and higher-order procedures. The system also performs some rudimentary syntax checking. The system uses subtyping, but only in a primitive fashion. It has a type datum which is a supertype of all types, and a type poof which is a subtype of all types. It uses intersection types to control the use of datum and to generate simple but accurate types.