Discussion:
[Larceny-users] A very broken error message
David Rush
2008-08-17 07:45:39 UTC
Permalink
The transcript below says it all. Yes, the macro is erroneous, but I
made this mistake in the middle of a much larger macro definition, and
well..."cdr: () is not a pair" just isn't very informative, although
now that I know what went wrong I can see how it would arise.

I don't know if this is bad enough to consider a bug, but I did want
to raise it in hopes of a better tomorrow :)
(define-syntax foo (syntax-rules () ((foo bar? ...) (begin bar ...))))
(define-syntax foo (syntax-rules () ((foo bar? ...) (begin bar ...))))
WARNING from macro expander:
Redefining
foo
foo
(foo x)
(foo x)


Error: cdr: () is not a pair.
Entering debugger; type "?" for help.
debug>
--
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt
William D Clinger
2008-08-19 15:51:20 UTC
Permalink
Post by David Rush
The transcript below says it all. Yes, the macro is erroneous, but I
made this mistake in the middle of a much larger macro definition, and
well..."cdr: () is not a pair" just isn't very informative, although
now that I know what went wrong I can see how it would arise.
I don't know if this is bad enough to consider a bug, but I did want
to raise it in hopes of a better tomorrow :)
Thanks! Logged as ticket #589:
https://trac.ccs.neu.edu/trac/larceny/ticket/589

Will

Loading...