[racket-dev] consistency in names and signatures

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Wed Mar 28 14:24:31 EDT 2012

On 3/27/12, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
> Q: Would it be worth our while to comb through the libraries and make the
> world consistent, even breaking backwards compatibility? I would be willing
> to run such a project.

I think it would be good. I think we should do it as a new #lang to
preserve backwards compatibility.

My preference is to almost always throw exceptions and almost never
return false unless the function name as some convention to it. (I use
a * to indicate a function that propagates #f, a lot.)

I see a solution to the string->url to be that the function should
just throw a contract violation exn internally without specifying the
contract outside. You could document it as having some
valid-url-string? that called string->url, but the actual contract
applied to string->url would just be string?


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.