[plt-scheme] Checking to see if a key is present in a hash table
>> The problem wasn't strictness or anything like that.
>
> I don't doubt you, but what I had in mind was something like this
>
> (define x 0)
> (define (f)
> (let ((y
> (call/cc
> (lambda (k)
> k 0))))
> (set! x 1)))
I think you aren't understanding what Ryan's telling you.
(lambda (k)
k 0)
is not the same as
(lambda (k)
(k 0))
This has ABSOLUTELY nothing to do with continuations, strictness, or any
such complicated nonsense. Rather, you are consistently making a very
simple syntax error.
In Scheme, procedure application MUST begin with an opening parenthesis.
(lambda (k)
k 0)
is the same as
(lambda (k)
(begin
k
0))
which is also equivalent in behavior to
(lambda (k)
(begin
256974
0))
as well as
(lambda (k) 0)
Dave