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

From: Norman Gray (norman at astro.gla.ac.uk)
Date: Mon Feb 25 18:56:07 EST 2013

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

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 Gray  :  http://nxg.me.uk
SUPA School of Physics and Astronomy, University of Glasgow, UK

Posted on the users mailing list.