[racket-dev] Falling through cond clauses

From: Carl Eastlund (cce at ccs.neu.edu)
Date: Tue Oct 2 10:39:51 EDT 2012

I'm not surprised, I pretty much expected this response, but I'm curious
what the difficulty was.  Is cond-as-void relied on that much more
pervasively than mutable pairs?  Is it exceedingly hard to add else-clauses
to all the necessary conds?  You two, Robby and Matthew, probably have a
better idea than I do about the prevailing trends in the Racket code base.

Carl Eastlund

On Tue, Oct 2, 2012 at 10:36 AM, Robby Findler
<robby at eecs.northwestern.edu>wrote:

> IIRC, we even experimented with this one briefly and quickly gave up
> as we got overwhelmed.
>
> Robby
>
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20121002/94586aeb/attachment-0001.html>

Posted on the dev mailing list.