[racket-dev] Falling through cond clauses

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Oct 2 10:22:54 EDT 2012

I think this a great change for a future `racket2' (someone should be
keeping a list of these), but it's too incompatible a change for `cond'
in `racket'.

At Tue, 2 Oct 2012 09:52:38 -0400, Carl Eastlund wrote:
> I often wish cond would raise an exception if all the tests failed and
> there were no else clause.  I have taken to writing a macro to enforce
> this; I usually call it cond!.  The void default for cond seems like an
> un-Racketish holdover from primarily-imperative programming.  With some of
> the other changes we've made in Racket, are we willing to consider changing
> the fall-through behavior of cond?  It seems like an experiment worth
> running to me.
> 
> If not, I would at least like to add an erroring version of cond somewhere
> in the language.  It's a shame to have to keep writing such a primitive
> feature.  Right now in my dracula github repo I have cond! implemented in
> racket/cond and re-exported from racket, but I'm not thrilled about either
> the location or the name.  I kept it out of racket/base so I could depend
> on the syntax collection for good source location reporting in the error
> message.
> 
> Carl Eastlund
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.