[racket] wrapped TR functions given new name?

From: Shriram Krishnamurthi (sk at cs.brown.edu)
Date: Thu Sep 29 21:20:48 EDT 2011

I have two different files that provide a function called "isort".
One comes from untyped Racket and the other from typed/racket.  I am
importing them thus:

(require [rename-in "untyped-sort-server.rkt"
                    (isort u:isort)])

(require [rename-in "typed-sort-server.rkt"
                    (isort t:isort)])

when I invoke t:isort on a badly typed argument, the error shows as

> (t:isort "xyz")
. . isort2: contract violation, expected <list>, given: "xyz" ...

There is no function called "isort2" in any of the source files that
I've written.  Is it known that Typed Racket does this kind of
artificial renaming, or do I have to work harder to track down why
this might be happening?  (And if this is known, why does it do this?)


Posted on the users mailing list.