[racket-dev] Submodules & dependencies
Just now, Jay McCarthy wrote:
> I agree with your point #1 heartily.
>
> I don't follow point #2. Do you mean that currently by having two
> files the tests can depend on things that the code does not (for
> purposes of distribution, etc) and having those tests embedded in
> the files increases the cross-collection dependencies as well as
> increasing compilation time? I suppose that is true, but I don't
> know how severe it is and I value having the tests.
Say that the `foo' collection author sees that and thinks "ooh, a
useful feature", then folds the tests into the main code -- so
"foo/bar.rkt" has some library code as well as a `test' submodule that
uses `tests/eli-tester'. The collection becomes undistributable
because `tests/*' is not distributed. Variations: using `rackunit'
makes all of `foo' depend on rackunit, a dependency that is needed
only for tests, putting the scribble docs in the same file leads to a
dependency on scribble, etc.
[I guess that it could be argued that all of these dependencies are
justified, by my own argument is a proxy argument: linux distributions
usually have different sub-packages for docs and for developement
files (= tests), and I think that enough thought has been spent there
on deciding that this is a useful way to divide things. On one hand,
I choose to shoot for a distro-friendly packaging, which is why I take
this argument as valid without questioning it. On the other hand, as
someone who appreciates such division when I install other packages, I
*definitely* see the value in having it -- I imagine some random
application that is written in ruby/python/whatever, and I'd hesitate
to install it if it pulls in some IDE package, a documentation system,
and test files.]
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!