This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: unquote in quasisyntax


On Feb 6, 2012, at 5:00 PM, Per Bothner wrote:

On 02/06/2012 12:48 PM, Jamison Hope wrote:
Another incompatibility/shortcoming when compared to R6RS/Dybvig is that
Kawa can't handle a syntax-case pattern that isn't a list with the macro
name in the first car.

It most certainly can - there are a number of examples - for example kawa/lib/syntax.scm.

OK, let me rephrase: s/the macro name/the macro name or _/. Dybvig's square brackets are an orthogonal issue.

My point was that Kawa can't do:

(define p (cons 4 5))
(define-syntax (pcar form)
  (syntax-case form ()
    (_ #'(car p))))

because if you then try to evaluate pcar you just get the macro object:

#|kawa:7|# (define p (cons 4 5))
#|kawa:8|# (define-syntax (pcar form) (syntax-case form () (_ #'(car p))))
#|kawa:9|# pcar
#<macro pcar>


and not 4, like in Racket.


-- Jamison Hope The PTR Group www.theptrgroup.com




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]