[racket-dev] Falling through cond clauses

From: Carl Eastlund (cce at ccs.neu.edu)
Date: Tue Oct 2 09:52:38 EDT 2012

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20121002/e42d32d2/attachment.html>

Posted on the dev mailing list.