Just now, Matthias Felleisen wrote: > > Eli knows all this -- which is why he wrote that the tool cannot be > used without human post-processing. It isn't an automatic tool -- it > must be placed in context.
There are two reasons for not being completely automatic. The first is a silly one: I didn't bother making it completely robust: it's easy to have easy rules that get false positives if there's a human that goes over the results to weed them out. The second reason is what Matthias is talking about: a proper script would need to have a bunch of settings and a way to easily plug "style filters" in and out. That could possibly come with a bunch of pre-configured setups, which would work very well for HtDP since it's very consistent. BTW, because of that the HtDP style should also have a bunch of additional rules that are easy to check -- like a single toplevel `cond' per function etc. There are also probably a bunch of variations for different parts in the book. In any case, with the above disclaimers in mind, and also noting that it is a kind of a rough first sketch for proper code, I've put it here: http://tmp.barzilay.org/code-ayatollah.rkt (Seeing the "code nazi" comment made the above tentative name obvious to me, since a number of years ago when I worked in a company, I was called a "Code Ayatollah", which I took as a compliment...) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! ____________________ Racket Users list: http://lists.racket-lang.org/users

