guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug in syncase


From: Dirk Herrmann
Subject: bug in syncase
Date: Thu, 14 Nov 2002 12:59:04 +0100 (CET)

Hi Marius,

the separation of memoization and execution is going forward.  However,
there is one thing that I cannot solve by myself (or at least, which would
take me too long).  Guile now does not accept the following any more:

guile> define
ERROR: In procedure expression:
ERROR: Misplaced syntactic keyword
ABORT: (misc-error)

and similarly:

guile> (identity and)
ERROR: In procedure expression:
ERROR: Misplaced syntactic keyword
ABORT: (misc-error)

That is, syntactic keywords are only allowed at the operator position of
an expression.  (OK, the error messages are not quite helpful yet.
Please ignore this for the moment.)  This required to change some code
like
  (define foo <some-macro>)
into
  (defmacro foo args `(<some-macro> ,args))

However, in (ice-9 syncase) there is one place where I don't know how to
fix it correctly, namely in function putprop there is the following line:
  (variable-set! v sc-macro)
where sc-macro is a macro.  As a workaround, I have changed the line to
  (variable-set! v 'sc-macro)
but without being aware of the effects.  However, the test-suite almost
completes flawlessly now.  (There is only goops and the elisp macros that 
I have not yet worked on.)

Could you (or someone else being familiar with syncase) please check
syncase.scm for a correct patch?  Otherwise, it will cost me a lot of time
trying to figure it out by myself.

Best regards, 
Dirk





reply via email to

[Prev in Thread] Current Thread [Next in Thread]