[racket-dev] Fwd: [DrDr] R25903 (timeout 0) (unclean 1) (stderr 1) (changes 63)

From: Neil Toronto (neil.toronto at gmail.com)
Date: Sun Dec 16 20:27:42 EST 2012

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 ⊥


Posted on the dev mailing list.