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! _________________________ Racket Developers list: http://lists.racket-lang.org/dev