[racket-dev] Falling through cond clauses
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>