[plt-scheme] Interaction of contract library and WebIt

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Dec 17 23:35:21 EST 2005

I was about to add another note -- that before jumping too quickly to
compare symbols, you should consider cases like

  (let ([else #f]) (cond [else 2]))

But then I saw that

On Dec 17, Dave Herman wrote:
> [...]
>      http://calculist.blogspot.com/2005/04/when-to-reserve-keywords.html

you have a nice summary of all this

An interesting thing that I didn't think of is the use of keywords in
the foreign library.  It currently provides `->' to avoid problems,
but it seems that `->' should be compared using the actual symbol,
since there is no good meaning for

  (_fun x y z -> t)

if `->' is an expression.  But this is not the same for `=' and `:'
syntax in foreign type specs.

(BTW, another good point to consider is that if `_fun' will compare
symbols, then you could use

  (let ([-> _int]) (_fun -> -> ->))

for int->int functions.)

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

Posted on the users mailing list.