[racket] style: nested cond (fine!)
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!