Path: news.daimi.aau.dk!news.uni-c.dk!newsfeed.sunet.se!news00.sunet.se!sunic!mn6.swip.net!plug.news.pipex.net!pipex!tank.news.pipex.net!pipex!newsfeed.internetmci.com!news.mathworks.com!fu-berlin.de!marie.physik.tu-berlin.DE!not-for-mail From: wpp@marie.physik.TU-Berlin.DE (Kai Petzke) Newsgroups: comp.lang.beta Subject: Re: What's wrong with this picture? Date: 20 Dec 95 23:44:41 GMT Lines: 44 Message-ID: References: <4aodps$70h@netnews.upenn.edu> <4b6p2p$dua@fbi-news.Informatik.Uni-Dortmund.DE> NNTP-Posting-Host: marie.physik.tu-berlin.de (130.149.40.96) X-Access: 16 915 X-Newsreader: NN version 6.5.0 #7 (NOV) wr@polly.informatik.uni-dortmund.de (Wilfried Rupflin) writes: >>------ Wolfgang Ziller >> >>One language question (which I need answered in order to >>compare Dylan and BETA -- I'm still not sure which to go >>with). Is it possible to add methods to a class without >>having to rename the class. I would think yes since >>extension of patterns is allowed. >> >You are right in the case of virtual classes: > A_class: (# my_class:< (# a: ... #); ... #); > B_class: A_class (# my_class::< (# b: ... #); ... #); >In this example my_class is a virtual class which can >be extended without defining a new class name (this >feature is called direct qualification). If you put an slot into a class, you can later add attributes to that class without having to re-name it or create a subclass. I think, that that feature is very convenient, and use it a lot. Example: bigClass: (# <>; ... (* (more attributes) *) enter ... do ... exit ... #); --- bigClassLib: Attributes --- myMethod1: (# (* this is a true method of bigClass #); Kai -- Kai Petzke, Technical University of Berlin, Germany http://www.physik.tu-berlin.de/~wpp/ to learn about Linux, Postgres and BETA. wpp@marie.physik.tu-berlin.de for regular e-mail How fast can computers get? -- Warp 9, of course, on Star Trek.