[racket-dev] Removing Xexpr preference from Web Server

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sun Dec 5 11:31:27 EST 2010

Jay, coercions aka casts in our world are compound words with -> in between them. Why do you need a new name? 

(There is an inconsistency in their behavior. To wit

Welcome to Racket v5.0.99.4.
> (integer->char 1000000000000000)
integer->char: expects argument of type <exact integer in [0,#x10FFFF], not in [#xD800,#xDFFF]>; given 1000000000000000

 === context ===
> (string->number "a10")

But that is a historical problem.) 

;; --- 

I am also reluctant to throw contracts at dynamic places. Contract boundaries should be syntactically distinct, e.g., module boundaries or define/contract. 

;; --- 

I think you're really just checking an assertion. So perhaps you want to go with /a as a suffix. 

-- Matthias

Posted on the dev mailing list.