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.<br>
<br>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.<br>
<br clear="all">Carl Eastlund<br>