> If you want to invoke the language as `#lang foo/bar` then you would put 
> this `reader` submodule in "foo/bar.rkt". This would make 
> "foo/bar/lang/reader.rkt" obsolete.
>

Duh. I think I understand how this resolves now and I have a flat 
structure, which I think works nicely:

foo*/:*
- main.rkt           [that simply reprovides bar.rkt and has a reader 
submodule with semantics in foo/bar-lang.rkt]
- foo.rkt             [foo library]
- foo-lang.rkt [foo language semantics, just provides and exceptions]
- bar.rkt             [bar library, but also has reader submodule with 
semantics in foo/bar-lang.rkt]
- bar-lang.rkt  [bar language semantics, just provides and exceptions]

Dunno if its the right way to do it, but all of the following seem to work 
now:
#lang foo
#lang foo/bar
(require foo)
(require foo/bar)

Thank you Matthew!

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