[plt-scheme] Expansion of `case' in context with `else' bound

From: Casey Klein (clklein at calpoly.edu)
Date: Tue Oct 31 12:48:15 EST 2006

The expansion of the expression 

   (let ([else #f]) (case 'foo [else 42])) 

fails with the error "case: bad syntax (not a datum sequence) in:
else."

Is there a reason that a binding for the `else' identifier here must
prevent the use of an "else clause" in a case expression? If the
definition of case is comparing the binding of the provided `else' to
its own, could it instead simply check for symbol equality?

Incidentally, where can I find the definition of the case macro?

-Casey


Posted on the users mailing list.