> I think it's a design mistake that CL doesn't simply have a :abstract-class > option. Flavors had it (can't remember what it was called, but probably > :abstract-flavor), and I'm not sure why it was omitted for CLOS. Perhaps > it was just accidental.
ISLISP has a class option :abstractp which allows one to create abstract classes. How did it make its way in there?
> > I think it's a design mistake that CL doesn't simply have a :abstract-class > > option.
OK, i have a fix.
I suggest that any abstract class be named: @class-name@
there's a nice precedent in the fix we settled on for *specials* being so different.
I like @ because it's got an "a" for abstract in it, and because: sometimes I have heard the term "mix-in" used for such things, and the full @ character looks like the swirl you get when you are mixing stuff in a bowl.
> > > I think it's a design mistake that CL doesn't simply have a :abstract-class > > > option.
> OK, i have a fix.
> I suggest that any abstract class be named: @class-name@
> there's a nice precedent in the fix we settled on for *specials* being > so different.
> I like @ because it's got an "a" for abstract in it, and because: > sometimes I have heard the term "mix-in" used for such things, and the > full @ character looks like the swirl you get when you are mixing stuff > in a bowl.
> :)
Hmm.
I'll assume the :) at the end means I don't have to point out that * was already in use as an operator name and so didn't rob the space of possible readmacro characters but that @ is something some users might not want taken away from them as such an option. (I think ,@ is handled specially in comma's syntax so that it wouldn't matter.)
So probably **class-name** is better. Still leaving ***...***, etc. for other purposes.
* Kenny Tilton | I suggest that any abstract class be named: @class-name@
Please do not use up a very useful macro character like that. This is almost as bad as suggesting that people actually _use_ $ as the first position in symbol names -- it is such an obvious thing to want to use for non-constituent macro purposes. % is always available as a normal constituent character and is frequently used to mar "internal" symbols, which to me seems what an abstract class is, but I do _not_ see the need for syntactic suger-coating of symbol names just to keep losers from instantiating an abstract class.
/// -- THE past is not more important than the future, despite what your culture has taught you. Your future observations, conclusions, and beliefs are more important to you than those in your past ever will be. The world is changing so fast the balance between the past and the future has shifted.
> Kenny Tilton <ktil...@nyc.rr.com> writes: [...] > > I suggest that any abstract class be named: @class-name@ [...] > > :) [...] > So probably **class-name** is better. Still leaving ***...***, etc. for > other purposes.
> :)
And using gensyms as names of `abstract' classes is left as an exercise for the programmer...
Erik Naggum <e...@naggum.net> writes: > * Kenny Tilton > | I suggest that any abstract class be named: @class-name@
> Please do not use up a very useful macro character like that. This is > almost as bad as suggesting that people actually _use_ $ as the first > position in symbol names -- it is such an obvious thing to want to use > for non-constituent macro purposes. % is always available as a normal > constituent character and is frequently used to mar "internal" symbols, > which to me seems what an abstract class is, but I do _not_ see the need > for syntactic suger-coating of symbol names just to keep losers from > instantiating an abstract class.
As an aside, using '$' breaks under (older?) versions of MCL. This is the reason why the infix package uses
#I(a + b)
instead of the LaTeX-ish
$a + b$
(as it did in an earlier version).
Cheers
-- Marco Antoniotti ======================================================== NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488 719 Broadway 12th Floor fax +1 - 212 - 995 4122 New York, NY 10003, USA http://bioinformatics.cat.nyu.edu "Hello New York! We'll do what we can!" Bill Murray in `Ghostbusters'.
I've used virtual classes a bit in Meroon, a CLOS-like (sort-of) object system for Scheme. After struggling with things a bit, I decided that I shouldn't use virtual classes unless the virtual class defines at least some slots that will be common to all subclasses of the class. Otherwise, having the virtual classes just get in the way.
Erik Naggum <e...@naggum.net> writes: > * Andreas Bogk > | Well, how would you feel if someone keeps calling you retarded, a > | lunatic, an idiot, a fool, imbecile? For no other reason than that you > | disagree on a certain point?
[...] > Some people are so amazingly smart (by your standards) that they wonder > what happened when something unexpected occurs. You are not that smart. > That means that you react with an urge to defend yourself when you think > you see something hurtful to yourself. Only insecure _and_ stupid people > do that. Only people with _inflated_ egos respond violently when others > challenge their inflated egos with _facts_. Only people with _inflated_ > egos respond violently when people _disagree_ with them, and therefore > think that others react to disagreement. Spread of disinformation is not > disagreement. Osama bin Laden does not "disagree" with George W. Bush on > the policies of the United States in the Middle East. Yet you can bet > that if he were half a smart as he is rumored to be, he will argue that > he "only expressed his disagreement" when defending himself and cannot > understand why he caused Afghanistan to be bombed.
BPT's collary to Godwin's law: As a Usenet discussion grows longer, the probability of a comparison involving Osama bin Laden or al Queda approaches one.
:)
[...]
-- BPT <b...@tunes.org> /"\ ASCII Ribbon Campaign backronym for Linux: \ / No HTML or RTF in mail Linux Is Not Unix X No MS-Word in mail Meme plague ;) ---------> / \ Respect Open Standards
> > * Andreas Bogk > > | Well, how would you feel if someone keeps calling you retarded, a > > | lunatic, an idiot, a fool, imbecile? For no other reason than that you > > | disagree on a certain point?
> [...] > > Some people are so amazingly smart (by your standards) that they wonder > > what happened when something unexpected occurs. You are not that smart. > > That means that you react with an urge to defend yourself when you think > > you see something hurtful to yourself. Only insecure _and_ stupid people > > do that. Only people with _inflated_ egos respond violently when others > > challenge their inflated egos with _facts_. Only people with _inflated_ > > egos respond violently when people _disagree_ with them, and therefore > > think that others react to disagreement. Spread of disinformation is not > > disagreement. Osama bin Laden does not "disagree" with George W. Bush on > > the policies of the United States in the Middle East. Yet you can bet > > that if he were half a smart as he is rumored to be, he will argue that > > he "only expressed his disagreement" when defending himself and cannot > > understand why he caused Afghanistan to be bombed. > BPT's collary to Godwin's law: As a Usenet discussion grows longer, > the probability of a comparison involving Osama bin Laden or al > Queda approaches one.
The strange part is that in the above, the two "leaders'" names could be switched in position and it would make about the same amount of sense in about the same way.
Another "strange but true" thing is that about the only previously-known use (before the O.b.L. situation) of the term "al Quaeda" was as the title of the translation, into Arabic, of the apparently-rather-popular-in-Arabic novel, _Foundation_, by Isaac Asimov. Some parallels between its story and the expectations of the Arab terror network can be drawn.
(On the other hand, Isaac Asimov was an atheist Russian Jew who moved to the United States, and, more particularly, New York City. None of those qualities would appear terribly appealing to a terrorist network that conspicuously despises Russians, Americans, Jews, and considers itself a sort of "Hand of Allah.") -- (reverse (concatenate 'string "moc.enworbbc@" "enworbbc")) http://www.cbbrowne.com/info/x.html "It is always convenient to have villains whom you can have no qualms about seeing shot, blown up, or run over by large man-made objects; the Gestapo are particularly appropriate for this." -- Jeff Meyer