[racket] Typed racket and rack unit (Was: Type of curry)

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Tue Feb 26 00:42:02 EST 2013

This is, sadly, a known problem with Racket, Typed Racket, and
submodules, which Matthew doesn't think there's much hope of fixing
without major surgery on the expander.  So for now you'll need to
write your test cases in a separate module.

On Mon, Feb 25, 2013 at 3:56 PM, Norman Gray <norman at astro.gla.ac.uk> wrote:
>
> Vincent and Carl, hello.
>
> On 2013 Feb 25, at 19:37, Vincent St-Amour <stamourv at ccs.neu.edu> wrote:
>
>> As Carl said, TR's type system can't fully describe the behavior of
>> `curry'. With its new type, `curry' works on n-ary functions, but the
>> returned function is limited to accepting its arguments in two steps,
>> the first one first, then all the others.
>
> Thanks for this explanation -- it makes a lot of sense.
>
> However (sorry), I've again run into a typed/racket problem and (as ever) I'm not sure if this is betraying my misunderstanding, or indicating that I'm closer to the edge of what's working than I possibly want to be.
>
> If I type the following program into DrRacket,
>
> #lang typed/racket
>
> (: p1 (Integer -> Integer))
> (define (p1 i)
>   (+ i 1))
>
> (module+ test
>   (require typed/rackunit)
>   (check-equal? (p1 1) 2))
>
> ...and run it, then it works, and the check passes.  If, however, I _save_ this file, and run the test again, I get:
>
> Welcome to DrRacket, version 5.3.3 [3m].
> Language: typed/racket; memory limit: 128 MB.
> . . ../../../Data/LocalApplications/Racket/5.3.3/collects/typed-racket/env/env-req.rkt:9:4: standard-module-name-resolver: cycle in loading
>   at path: /Users/norman/Desktop/p1.rkt
>   paths:
>    /Users/norman/Desktop/p1.rkt
>>
>
> It's the change in behaviour on saving that's rather disorienting.  I've noticed similar (claimed) cycles with other bits of rackunit+typed-racket.  Should I not be using these together?
>
> Given the little flood of typed-racket questions I've unleashed on the list in the last few days (for the answers to which I am of course most grateful), I'm wondering whether I should be steering clear of typed racket for the moment.  I'm aware that typed racket is still advertised as a little rough around the edges, but I appear to be running into quite a few head-scratchers, and I suspect I've misunderstood its current intended audience.
>
> All the best,
>
> Norman
>
>
> --
> Norman Gray  :  http://nxg.me.uk
> SUPA School of Physics and Astronomy, University of Glasgow, UK
>
>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users


Posted on the users mailing list.