[racket-dev] Falling through cond clauses

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Oct 2 10:36:18 EDT 2012

IIRC, we even experimented with this one briefly and quickly gave up
as we got overwhelmed.


On Tue, Oct 2, 2012 at 9:22 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> 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
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.