[racket-dev] (round), etc. in Typed Racket

From: Doug Williams (m.douglas.williams at gmail.com)
Date: Tue Dec 14 08:33:30 EST 2010

How about Racket II as a unified literate (from the Scribble syntax), typed,
contracted Racket?

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.

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

Finally, allow in-line documentation within the defining construct.

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.

Just some thoughts.


On Sun, Dec 12, 2010 at 5:13 PM, Matthias Felleisen <matthias at ccs.neu.edu>wrote:

> 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.
> Perhaps TR is the proper place to start such a 'clean-break' movement.
> -- Matthias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20101214/73e486a8/attachment.html>

Posted on the dev mailing list.