On Tue, Aug 28, 2012 at 12:23 PM, Eric Dobson <eric.n.dob...@gmail.com> wrote: > Possibly, how is it not working for you? > > With: > #lang typed/racket/base > > (module mytypes racket/base > > (provide S) > > (struct S ())) > > (module tyuser racket/base > > (require > (submod ".." mytypes)) > > (define (mkS value) > (S))) > > (note submodules are now in plain racket) > > > I get: > tmp.rkt:17:5: link: module mismatch; > possibly, bytecode file needs re-compile because dependencies changed > importing module: 'tyuser > exporting module: 'tmp > exporting phase level: 0 > internal explanation: variable not provided (directly or indirectly) > at: make-S > in: make-S.1 > context...: > /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:308:0: compile-zo* > /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:508:26 > /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:501:42 > /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:466:0: > maybe-compile-zo > /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:579:2: do-check > /Users/endobson/proj/racket/plt/collects/compiler/cm.rkt:653:4 > /Users/endobson/proj/racket/plt/collects/compiler/commands/make.rkt:77:8: > for-loop > /Users/endobson/proj/racket/plt/collects/compiler/commands/make.rkt: > [running body] > /Users/endobson/proj/racket/plt/collects/raco/raco.rkt: [running body] > /Users/endobson/proj/racket/plt/collects/raco/main.rkt: [running body] > > Which looks like a bug in TR handling of submodules.
I believe that this is a bug in Racket, although I'm not sure. You can see a simpler example here: http://drdr.racket-lang.org/25284/collects/tests/typed-racket/succeed/internal-typed-submod.rkt > > On Tue, Aug 28, 2012 at 7:32 AM, Ray Racine <ray.rac...@gmail.com> wrote: >> The following does not work. Bug? >> >> #lang typed/racket/base >> >> (module mytypes typed/racket/base >> >> (provide >> (struct-out S)) >> >> (struct: S ())) >> >> (module tyuser typed/racket/base >> >> (require >> (submod ".." mytypes)) >> >> (: mkS (Any -> S)) >> (define (mkS value) >> (S))) >> >> ____________________ >> Racket Users list: >> http://lists.racket-lang.org/users >> > ____________________ > Racket Users list: > http://lists.racket-lang.org/users -- sam th sa...@ccs.neu.edu ____________________ Racket Users list: http://lists.racket-lang.org/users