On 12/16/2012 05:58 PM, Eli Barzilay wrote:
20 minutes ago, Neil Toronto wrote:
I got this email from DrDr after I added `typed/plot'. The error:
[....]

BTW, I did point out the failure when it happened...

It had an "I told you so" kind of tone, so I ignored it. :p

To explain it,
maybe for future similar questions too (though this explanation gets
lost in the noise and comes up relatively frequently), we have five
levels of "distributions": mz, mr, dr, plt, full -- each is a subset
of the next.  (Note that only the "mz" and the "plt" distros are
actually made, the rest are just as a sanity checking, which is what
you're up against.)  You've introduced a dependenct of typed -> plot,
and there is already a dependency of dr -> typed -- which means that
the dr distribution requires plot, but plot is not included in it.
(It's included in the plt distro.)

That makes perfect sense. Thanks.

It looks like `plot/typed' is the way to go. I'll do it after I have dinner and play Weeping Angel Tag with my kids. :D

Another way to deal with it is to have a specific rule for
`typed/plot', and that's what came up in the previous thread.  The
thing is that such odd distribution rules are something that IMO are
best avoided.  There was a suggestion that typed/foo automatically
gets to be part of the `foo' package (in the sense of the distribution
specs) -- but that's making a convention out of something that is iffy
to begin with.

I think I'd rather have a convention in Typed Racket that (require foo) imports `foo/typed' when it exists.

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.

Neil ⊥

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

Reply via email to