I have a #lang that does some funny stuff with #%module-begin (maybe too 
funny), the result being that when I run it in DrRacket, the `provide`d 
identifiers aren't visible at the top level:

(module my-lang-module my-lang
  ...
  (define id 42)
  (provide id))

> id
id : undefined;
 cannot reference undefined identifier


I've found a simple cure (maybe too simple) whereby I wrap my-lang-module with 
the usual racket/base module, which satisfies DrRacket:


(module repl-wrapper racket/base
  (module my-lang-module my-lang
    ...
    (define id 42)
    (provide id))
  (require 'my-lang-module)
  (provide (all-from-out 'my-lang-module))

> id
42


Question: is there an approved way to make this #lang-wrapping happen for the 
REPL, and only for the REPL? AFAICT `#%top-interaction` is not the cure, 
because it wraps the commands coming off the REPL (as opposed to the code in 
the definitions window). 

-- 
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.

Reply via email to