[racket] Thoughts on Overeasy

From: Eli Barzilay (eli at barzilay.org)
Date: Mon Aug 29 06:06:00 EDT 2011

An hour ago, Neil Van Dyke wrote:
> I agree in general, especially for general programming in the Racket
> language.
> Part of the rationale is that Overeasy might be considered a
> minilanguage for testing, perhaps used by a software test engineer,
> and by incorporating the setup and teardown into the "test" form,
> "test" can provide a nice little self-contained specification of
> most individual tests.

Not that it matters (or that it will convince you), but this is where
I think the problems start: you clearly don't want to implement a
complete language since you already have one, so why extend the
mini-language to do things that are already in the language...  IOW, I
don't see a problem with deciding that

  (test (dynamic-wind foo (λ () X) baz) Y)

is the test case instead of having `test' construct the extra code.

> When the dumbed-down syntactic sugar is adequate, it's prettier.

There is of course the problem of that `dynamic-wind' not being too
pretty, but it's not the fact that it's inside a `test' form that
causes that -- making a prettier form would beautify other uses too.

Meanwhile, there is already some concrete damage in you providing a
pretty alternative: you reduce the pressure on the language designer
to provide a prettier form, since your users are protected from the
ugly form.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the users mailing list.