Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!uunet!zephyr.ens.tek.com!uw-beaver!ubc-cs!fs1!ee.ubc.ca!mikeb From: mikeb@ee.ubc.ca (Mike Bolotski) Newsgroups: comp.lang.misc Subject: Re: Languages that allow extensions to classes Message-ID: <1240@fs1.ee.ubc.ca> Date: 12 Apr 90 17:57:47 GMT References: <16560@estelle.udel.EDU> <1238@fs1.ee.ubc.ca> <22413@cs.yale.edu> Sender: root@fs1.ee.ubc.ca Reply-To: mikeb@salmon.ee.ubc.ca Organization: Dept of EE, University of British Columbia Lines: 33 In article <22413@cs.yale.edu>, briscoe-duke@CS.YALE.EDU (Duke Briscoe) writes: |> Don't some CLOS systems have a browser which allows you to look at |> (and edit) the source for a class' methods regardless of what file was |> loaded to define the method? I'm not a big fan of depending on plain |> text files as a way of representing programs; richer data structures |> (like what a browser uses) would be preferable, which are offered to |> some extent by Smalltalk and some Lisp environments. Such a browser would be quite welcome but neither the Apollo nor Sun CL systems that I use include it. In any case, the browser is a reflection of the *environment*, not of the *language* itself. C++ enforces certain software engineering principles that CLOS doesn't. Whether those principles are a good idea is a different argument But this shouldn't really be surprising, seeing as CLOS allows you to dig out any instance variable/slot no matter how hard you try to hide it. A reflection of the CL philosophy of bypassing the package mechanism by the simple expedient of using :: instead of : . |> I think the other issue is whether a language has the capability of |> incrementally extending or redefining definitions without having to do |> massive recompilation. This often involves an extra level of |> indirection which has a performance price, but the performance price |> can be "unpaid" by having a "final version" compiler which eliminates |> the indirection, since that feature is mainly needed only during Very very interesting idea. Mike Bolotski, Department of Electrical Engineering, University of British Columbia, Vancouver, Canada mikeb@salmon.ee.ubc.ca | mikeb%salmon.ee.ubc.ca@relay.ubc.ca