About a minute ago, Matthias Felleisen wrote: > > I have come to accept that all modules should come with their tests > included, as an exportable test suite: > > -- you don't need to expose any 'private' identifiers > -- they are next to the function they test > -- it is easy to run them from the repl after loading the file > -- ... and from some 'test all' file > > BUT, I'd like two additions: > > -- run the tests automatically when the file is required in a > certain into racket or always into DrRacket's repl > -- if code size is a concern, racket should be able to eliminate > tests
I don't see this happen any time soon... How can you trim the file? For example, say that your tests use the rackunit gui thing -- you don't want to get *that* overhead whenever you want to just run the file. The missing bit here is a new language-level extension -- some lazy-require thing. (I've made such things here and there using `dynamic-require', but they are hacks.) I do see a point in such a feature -- for example, IIUC, Matthew's recent optimization to loading phase-1 code could be expressed inside the language by making all `for-syntax' requires default to lazy loading mode. But I doubt that such a thing will be added in the near future... > That's what I asked for, and this is what Jay's patch is supposed to > address though I don't see how it does. Also, like Eli, I don't like > the additional wrappers and with-deployment looks suspicious. Yes, I know what you asked for -- and Jay's thing is not addressing that at all. My proposal (on the other thread) does, and avoids the need for new wrappers. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev