Changing the subject line for wider appeal.

On 12/16/2012 06:41 PM, Eli Barzilay wrote:
10 minutes ago, Neil Toronto wrote:
I think I'd rather have a convention in Typed Racket that (require foo)
imports `foo/typed' when it exists.

+14.  I think it came up in the past, but I don't know why it wasn't
done...

No consensus? That happens a lot.

Speaking of conventions, I see that none of the `typed/*'
collections are documented. It would be easy to get them at least
indexed by putting a `defmodule*/no-declare' after the `defmodule'
for the untyped module.  I wouldn't have known about
`typed/rackunit' without Jens Axel using it for his test cases. I
have no idea how he found out about it.

Actually, if the above is implemented, then there's no need to
document the `foo/typed' modules, instead, the docs for `foo' would
mention that it has a typed version.

It's one more thing for people to look up or remember, both library developers and users. If it could be done in Typed Racket's `require' only once, it would save aggregate trouble.

Also, I'm eventually going to reimplement most of `plot' in TR. Then `plot/typed' would become redundant because it would just re-export `plot/main'. I'd rather be able to delete it. If I couldn't, after the documentation stops indexing `plot/typed', there would be programs out there that apparently refer to undocumented libraries. That, or the `plot' documentation would have to index `plot/typed', like, forever.

There are other ways to do it, of course. One is to have TR's `require' try importing a submodule called `typed' first. IOW, (require plot) in TR code means (require (submod plot typed)) when that submodule exists. Isn't that kind of thing what submodules are for?

Neil ⊥

_________________________
 Racket Developers list:
 http://lists.racket-lang.org/dev

Reply via email to