Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!wuarchive!uunet!visix!news From: amanda@visix.com (Amanda Walker) Newsgroups: comp.object Subject: Re: A Hard Problem for Static Type Systems Message-ID: <1991May3.212005.29453@visix.com> Date: 3 May 91 21:20:05 GMT References: <554@eiffel.UUCP> <1991Apr26.203642.17387@leland.Stanford.EDU> <556@eiffel.UUCP> <52166@nigel.ee.udel.edu> <1991May1.143831.2065@maths.nott.ac.uk> <1991May3.184332.28319@visix.com> Sender: news@visix.com Organization: Visix Software Inc., Reston, VA Lines: 25 In article <1991May3.184332.28319@visix.com> adam@visix.com writes: However, I think you overemphasize the importance of completely specified problems. In my view, underspecified problems are not just quick prototypes. System browsers are underspecified. AI programs are underspecified. Indeed. In fact, one of the advantages I have found in OO design and implementation is that it makes it possible to attack problems over incompletely specified domains. In particular, dynamic type systems allow existing code to work over domains which were not originally specified, as long as those domains have the necessary characteristics. A trivial example of this idea is that a heapsort should operate on any set of objects for which I can provide comparison and exchange operations. One all too common example of this situation is using a precompiled module with a new data type (i.e., code reuse at the binary level), which we can expect to happen more and more often as OO concepts become more "mainstream." -- Amanda Walker amanda@visix.com Visix Software Inc. ...!uunet!visix!amanda -- "It's not the tragedies that kill us, it's the messes." --Dorothy Parker