norman@a.cs.okstate.edu (Norman Graham) (11/15/87)
A friend and I are planning to do an implementation of Poly this spring to serve as a basis for experimenting with polymorphism. We are interested in hearing from people with experience or interest in the implementation of polymorphic programming languages, Poly in particular. We would be estatic to hear from someone willing to share the source to an implementation of Poly and TAM :-) !!! We would be equally happy to hear from those who may have fallen into black holes trying to implement a polymorphic language. For those of you unfamiliar with Poly, it is an extremly regular language designed with strict adhearence to the principles of Completeness, Correspondence, Scope, and Orthogonality. Names are bound to locations, and locations can hold characters, integers, procedures, lists, functions, booleans, types, vectors, structures, structure fields, and enumerates. Locations can be type constant or type variable, value constant or value variable. All values in the language are "first class" values, eg. they can be assigned, built into data structures, or passed as parameters and returned as the result of a function (NOTE: this includes functions and procedures). Poly runs on a high level, abstract machine called TAM (tagged architecture model) designed to provide features needed to simplify the implementation of Poly. TAM provides constancy, polymorphism, user-defined types, orthogonal data structures, and field selectors and routines as assignable values. For more information see: Articles by Hamish Gunn and David Harland in "Software--Practice and Experience" vol 14, num 10 and 11 (Oct. and Nov. 1984). "Polymorphic Programming Languages", by David Harland, Ellis Harwood Ltd and John Wiley, Chichester, 1984. Norman Graham Oklahoma State University Computing and Information Sciences 219 Mathematical Sciences Building Stillwater, OK 74078-0599 CSNet: norman@a.cs.okstate.edu