strange stk bug

From: Michael Hohn <hohn_at_math.utah.edu>
Date: Wed, 19 Jan 2000 21:55:55 -0700 (MST)

Hello,

I have a strange problem:
the macro

(define-macro (== l r)
  `(match-case <write-for
               (system-core
                (match-case <side-to-show
                            (lhs (-display ,l))
                            (rhs (-display ,r))
                            (?foo (error "invalid side for == : ~a " foo))))
               (traction-core
                (-display ,l " := " ,r ";" (newline-indent)))
               ;; HERE odd match discrepancy...
               (?other (error "invalid environment for == : ~a (matched as ~a)"
                              <write-for other))))

expands fine, and the expansion works several times, producing proper output.
At some point, it fails with the error message
       *** Error:
           invalid environment for == : system-core (matched as 4)
       Current eval stack:
Notice that 'other' and <write-for printed differently (strange...).

Further, by setting
         (set! *debug* #t)
the error goes away, and all output is produced (although with the factor
100 speed loss I reported earlier).

Any idea where this problem originates?

Thanks for any ideas,
Michael
Received on Thu Jan 20 2000 - 05:56:43 CET

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST