[racket-dev] Falling through cond clauses

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Tue Oct 2 10:51:42 EDT 2012


On Tue, Oct 2, 2012 at 8: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

Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University

"The glory of God is Intelligence" - D&C 93

Posted on the dev mailing list.