The contract profiler has to solve a similar problem, to distinguish typed and untyped modules in its module view.
ISTR attempting to use `module->language-info`, unsuccessfully. I forget what went wrong. Instead, it checks for the presence of a `#%type-decl` submodule which, by convention, only appears in typed modules. Vincent At Mon, 24 Nov 2014 15:59:14 -0500 (EST), Daniel Feltey wrote: > > I'm trying to use `module->language-info` to determine if a module I am > requiring is written in typed/racket or racket, since if the module is > implemented in racket `module->language-info` will return #f, but a vector if > the module was typed. > > The problem I'm running into is that with files of the form: > > ;; foo.rkt > (module foo typed/racket > ...) > > (module->language-info "foo.rkt" #t) returns #f even though I expect a > language-info that tells me the file is written in typed/racket. > > Changing foo.rkt to the following: > > ;; foo.rkt > #lang typed/racket > ... > > Then gives a non-false language-info vector when calling > (module->language-info "foo.rkt" #t). > > Is this the expected behavior? I thought that the #lang version of the file > should be equivalent to the (module ...) version. > > This seems to be addressed somewhat in > http://docs.racket-lang.org/guide/module-runtime-config.html but it doesn't > explain why (module ...) doesn't get language-info. > > > Thanks > Dan > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users

