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

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sat Dec 11 22:53:21 EST 2010

On Sat, Dec 11, 2010 at 9:49 PM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> On Sat, Dec 11, 2010 at 9:47 PM, Robby Findler
> <robby at eecs.northwestern.edu> wrote:
>> This seems like an unfortunate naming discrepancy.
> I agree.  I think the solution is to change Racket, however.  From the
> perspective of the type system, inexact integers are useless - they
> have no closure properties, don't obey various laws we'd like the
> integers to obey, etc.

This seems like it would cause far too much breakage to far too much
code. I certainly wouldn't want to attempt it. Changing TR (as I
suggest below) seems far easier.

> Changing Racket is tricky, but I think using the `Integer' type for
> something useless (it's not even currently represented in the TR type
> system) would be a mistake.

Well, the change to TR would be to change "Integer" to "ExactInteger"
(or similar) presumably, not to add a useless type.


Posted on the dev mailing list.