<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div>I absolutely totally agree. -- Rudoplh, red-nodes raindeer </div><div><br></div><br><div><div>On Dec 14, 2010, at 8:33 AM, Doug Williams wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">How about Racket II as a unified literate (from the Scribble syntax), typed, contracted Racket?<br><br>Of all the syntaxes for defining things, the ones from Scribble (e.g., defproc) seems to be the most general since they capture all of the identifiers (e.g., procedure name, parameter names, keywords), default values, contracts etc. Come up with a unified defining syntax based on that.<br>
<br>Under that, unify Typed Racket and contracts. Maybe a 'type' could be synonymous with a contract at some level. Add sybtyping to add additional constraints (i.e., additional elements to be and/c'ed with the base contract). <br>
<br>Finally, allow in-line documentation within the defining construct.<br><br>While I'm dreaming, I would also like to see the module and unit constructs unified. In particular, I think a module signature (that also contains the contract) would be nice. It could simplify definition of mutually dependent modules - where the specifications (or signatures) are independent, but the implementations are.<br>
<br>Just some thoughts.<br><br>Doug<br><br><div class="gmail_quote">On Sun, Dec 12, 2010 at 5:13 PM, Matthias Felleisen <span dir="ltr"><<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><br>
All of this discussion suggests that we start developing RacketII, a language that is a true break from Scheme. Our backward compatibility constraints are just overwhelming our knowledge of what we know is 'bad' with Racket in relation to other languages.<br>
<br>
Perhaps TR is the proper place to start such a 'clean-break' movement.<br>
<font color="#888888"><br>
-- Matthias<br>
<br>
</font></blockquote></div><br>
</blockquote></div><br></body></html>