[plt-scheme] Problems with eval

From: Doug Williams (m.douglas.williams at gmail.com)
Date: Thu Jul 3 14:01:13 EDT 2008

I am converting the inference collection over to run on V4.0.1 and I'm
having a problem with dynamically evaluating a lambda expression.  Here is a
snippet of the code that gives the error:

#lang scheme/base
...
(define (activate-rule rule initial-node)
...
                  (if (null? match-constraints) ; match-constraint-predicate
                      #f
                      (eval
                       `(lambda ,(if assertion-variable
                                     (cons assertion-variable
                                           (pattern-variables pattern))
                                     (pattern-variables pattern))
                          (and , at match-constraints))))
...
  )

And, the error I get is:

compile: bad syntax; function application is not allowed, because no #%app
syntax transformer is bound in: (lambda (?size ?peg) (and (not (eq? ?peg
(quote right)))))

This code works in V372.

Any ideas?

Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20080703/2560c56d/attachment.html>

Posted on the users mailing list.