[plt-scheme] Graphs
On Feb 8, 2005, at 3:35 PM, Robby Findler wrote:
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> At Tue, 08 Feb 2005 15:19:32 -0500, Guillaume Marceau wrote:
>> I always wondered why plt-scheme doesn't come with a standard assert
>> macro.
>
> I've tried to make contracts fill most of this need. I can see why you
> might still want it occasionally, but most of the time you'd rather
> have blame attached, so would rather use a contract, imo.
Just to say this again, because it might make sense then:
an ASSERT is NOT the same as a CONTRACT,
and a CONTRACT does not play the role of ASSERT.
However, a _good_ assert macro for Scheme (and I haven't seen one that
fills Schemers needs, though I have seen plenty that fills the need of
C programmers who like parentheses) would have to deal with the same
issues that Robby figured out for his dissertation.
[If you're wondering, here is an example:
(define (g k)
(let ([f (ASSERT (positive? . -> . positive?) (lambda (x) ... k ...)])
(f ..)
...
f)
]
And yes, I know we owe the world a paper that explains the difference.
-- Matthias