[plt-scheme] #lang signature/contract

From: Synx (plt at synx.us.to)
Date: Mon Nov 30 12:51:41 EST 2009

Signature contracts are useful, but the language 'signature' doesn't
support them, and it's also useful. So I combined the two making a
language called 'signature/contract' that provides a format to define a
signature with contracts. Really I'm not sure how useful it is (have run
into a few problems while switching around units) but it's a good first
foray into the mechanisms of writing languages in PLT. I had only one
question.

Where do I put the files?

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

I'll attach the language definition I used, pretty much just copied from
the scheme/signature language but with the contract parts added in.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: contract.zip
Type: application/zip
Size: 1418 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20091130/f5dedde1/attachment.zip>

Posted on the users mailing list.