I'm writing a meta-language (a small extension of scribble/lp2), which delegates to a second language. I am using the neat trick suggested to me by Alex Knauth [1], but I have trouble getting the arrows to be drawn in DrRacket for language "built-ins".
A boiled down version of the language file "MyLang.rkt" follows: #lang racket (provide (rename-out [my-module-begin #%module-begin])) (define-syntax (my-module-begin stx) (syntax-case stx () [(_ real-lang body) (syntax-case (local-expand #'(module m real-lang body) 'top-level (list)) () [(module nm lng (#%plain-module-begin . body2)) #'(#%plain-module-begin ;; use (only lng) to avoid conflicts with other require (#%require (only lng)) . body2)])])) It is used by "m.rkt": (module m "MyLang.rkt" ;; MyLang acts as a meta-language racket/base ;; which delegates to this language (displayln "Hello")) ;; using this body The problem I have is that "displayln" is highlighted with a blue-green background in DrRacket, indicating that it is provided by the module's language, but there is no arrow drawn from the "racket/base" just above. If I change the last line of "MyLang.rkt" to put the fully-expanded module as a submodule (instead of merely extracting the contents of the #%plain-module-begin), then the arrow gets drawn: #'(#%plain-module-begin (module nm lng (#%plain-module-begin . body))) What conditions must be met for the arrow to be drawn? [1] http://stackoverflow.com/a/38032107/324969 -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.