Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!wugate!uunet!dino!uxc.cso.uiuc.edu!uxc.cso.uiuc.edu!m.cs.uiuc.edu!p.cs.uiuc.edu!johnson From: johnson@p.cs.uiuc.edu Newsgroups: comp.lang.smalltalk Subject: Re: Performance of "doesNotUnderstand:" Message-ID: <80500071@p.cs.uiuc.edu> Date: 2 Sep 89 23:03:22 GMT References: <9070@june.cs.washington.edu> Lines: 21 Nf-ID: #R:june.cs.washington.edu:9070:p.cs.uiuc.edu:80500071:000:1057 Nf-From: p.cs.uiuc.edu!johnson Sep 1 13:03:00 1989 The type system that Russ Abbott described is basically the same as that of Emerald. There was a paper at OOPSLA 86 about it and some later papers in IEEE Transactions on Software Engineering. There was also a PhD thesis by Norman Hutchinson at the U. of Washington that described the type system in detail. A signature based type system will not always work in Smalltalk, because there are a lot of explicit checks for nil and a few other explicit checks for the class of objects. These require a type system based on discriminated unions. However, signatures fit in well with unions. The type system for Typed Smalltalk uses both. Discriminated unions are also better for code optimization. Justin Graver just finished a thesis that describes the type system for Typed Smalltalk. The thesis also describes type inference. The thesis is still in the process of being copied, but I would be glad to send anyone a copy if they want it. The main part of the thesis is a formal description of the type system, so casual readers beware! Ralph Johnson