[racket-dev] 'case' using equal?

From: Jon Zeppieri (zeppieri at gmail.com)
Date: Sun Nov 25 21:57:52 EST 2012

On Sun, Nov 25, 2012 at 7:49 PM, Jon Zeppieri <zeppieri at gmail.com> wrote:
>
> Looking back at the users thread, I see what you mean. I'll create a
> branch that will do what you suggest: evaluate the expression both
> ways, compare, and complain if the results differ.
>

This is not turning out to be as simple as expected.

I created modules equal-case.rkt and eqv-case.rkt, and then a simple
case macro in case.rkt that uses both. However, the build fails at:

make xsrc/precomp.h
env XFORM_PRECOMP=yes ../racketcgc -cqu ../../../racket/gc2/xform.rkt
--setup . --cpp "gcc -E -I./.. -I../../../racket/gc2/../include -DOS_X
-D_DARWIN_UNLIMITED_SELECT -pthread  -fno-common   "  --keep-lines -o
xsrc/precomp.h ../../../racket/gc2/precomp.c
/Users/jaz/src/racket/collects/s-exp/lang/reader.rkt:1:36:
syntax/module-reader: got two #:language keywords
  in: #:language
  context...:
   /Users/jaz/src/racket/collects/syntax/module-reader.rkt:19:14: loop
   /Users/jaz/src/racket/collects/syntax/module-reader.rkt:35:4:
construct-reader
   standard-module-name-resolver
   standard-module-name-resolver
   standard-module-name-resolver
   /Users/jaz/src/racket/src/racket/gc2/xform.rkt:95:24
   /Users/jaz/src/racket/src/racket/gc2/xform.rkt: [running body]
make[4]: *** [xsrc/precomp.h] Error 1
make[3]: *** [all] Error 2
make[2]: *** [3m] Error 2
make[1]: *** [3m] Error 2
make: *** [all] Error 2

Posted on the dev mailing list.