[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


It seems that if X is implemented as specified, but X is subject to debate,
then the specification of X should not change.  Some people are making appeals
to taste, but there are other less tasteful features of the language that no
one's trying to change.  Should CMU and DEC and Data General and Symbolics and
whoever else out there be forced to reimplement something because it's not as
tasteful (in someone's opinion -- not everyone's) as could be?

Sure, the compiler could easily figure out where an EQ-Throw could be used.
I'll go and fix our implementation if everyone thinks I should.  But that's not
my idea of a stable language specification.

Hey, why not have Throw take a keyword argument for the test to use?  Or an
abitrary predicate that the tag must satisfy?  Other keyword arguments would be
useful as well...

   (unless (throw *zinger* 'hi! :test #'equalp :if-does-not-exist nil)
     (format t "Catch tag ~S was not found.~%" *zinger*))