[plt-scheme] #lang signature/contract
On Mon, Nov 30, 2009 at 12:51 PM, Synx <plt at synx.us.to> wrote:
>
> When I specify "#lang scheme/signature/contract" in my file, according
> to strace PLT goes looking for the language definition in
> "$COLLECTS/scheme/signature/contract/lang.ss". But of course $COLLECTS
> is just the collects directory for my scheme install. I'm not sure if
> just... sticking the language files there is right. How would you
> install a language just per-user? Should I use planet for that? I can't
> imagine one would go #lang (planet synx/something/lang).
You can use #lang with planet, e.g. "#lang planet
synx/something/lang". But that's *not* going to look for
synx/something/lang.ss. It's going to look for
synx/something/lang/reader.ss -- that should usually be something
written in the "syntax/module-reader" language. See:
http://docs.plt-scheme.org/syntax/reader-helpers.html#(mod-path._syntax/module-reader)
If you want to set up a #lang with planet, see also (planet
cce/scheme/planet) and use "this-package-version-symbol" to create the
path to your language's implementation module. Normal relative module
paths like "../lang.ss" don't work the "obvious" way with
syntax/module-reader.
--Carl