[racket-dev] module->language-info and submodules

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Feb 1 16:24:25 EST 2013

Some languages attach language info to their modules, but not all; for
those that do, the intent isn't really to record the implementing
language, but to potentially configure things like the printer.
Looking forward, I think submodules should take over the role of
language info.

Language info is is attached to a top-level module via a `#lang' reader
--- so that's why submodules tend not to have this information, and it
also points to why (sub-)submodules are a better solution.


At Fri, 01 Feb 2013 14:51:19 -0500, Vincent St-Amour wrote:
> In all the cases I've tried, `module->language-info' returns `#f' when
> passed a submodule path. Is that the intended behavior? If so, is there
> a way to know which language a submodule is written in?
> 
> I've observed the same thing with `module-compiled-language-info'.
> 
> An example program is below.
> 
> Vincent
> 
> 
> 
> #lang racket
> 
> (displayln ; prints: #(racket/language-info get-info #f)
>  (module->language-info
>   '(lib "math/private/matrix/untyped-matrix-arithmetic")
>   #t))
> (displayln ; prints: #f
>  (module->language-info
>   ;; (module typed-multiply-defs typed/racket/base ...)
>   '(submod (lib "math/private/matrix/untyped-matrix-arithmetic")
>            typed-multiply-defs)
>   #t))
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.