syntax pattern variable list length mismatch error is obscure

Bug #181105 reported by Derick Eddington on 2008-01-07
2
Affects Status Importance Assigned to Milestone
Ikarus Scheme
Low
Abdulaziz Ghuloum

Bug Description

Ikarus Scheme version 0.0.2patched+ (revision 1332, build 2008-01-06)
Copyright (c) 2006-2007 Abdulaziz Ghuloum

> (syntax-case #'((a b c d) (1 2 3)) ()
    [((x ...) (y ...))
     #'((x y) ...)])
Unhandled exception
 Condition components:
   1. &assertion
   2. &who: map
   3. &message: "length mismatch"

Abdulaziz Ghuloum (aghuloum) wrote :

I'll see what I can do. There is another similar case for "append" I believe which also needs fixing.

Changed in ikarus:
assignee: nobody → aghuloum
importance: Undecided → Low
status: New → Confirmed
Abdulaziz Ghuloum (aghuloum) wrote :

Added fix in revision 1336. Is this better:

> (syntax-case #'((a b c d) (1 2 3)) ()
    [((x ...) (y ...))
     #'((x y) ...)])

Unhandled exception
 Condition components:
   1. &assertion
   2. &who: ...
   3. &message: "length mismatch"
   4. &irritants: ((#<syntax 1> #<syntax 2> #<syntax 3>) (#<syntax a> #<syntax b> #<syntax c> #<syntax d>))

Changed in ikarus:
status: Confirmed → Fix Committed
Abdulaziz Ghuloum (aghuloum) wrote :

The append case I was talking about is for quasiquote, not syntax:

> `(,@12 13)
Unhandled exception
 Condition components:
   1. &assertion
   2. &who: append
   3. &message: "not a proper list"
   4. &irritants: (12)

On Jan 9, 2008 5:51 AM, Abdulaziz Ghuloum <email address hidden> wrote:
> Added fix in revision 1336. Is this better:
>
> > (syntax-case #'((a b c d) (1 2 3)) ()
> [((x ...) (y ...))
> #'((x y) ...)])
>
> Unhandled exception
> Condition components:
> 1. &assertion
> 2. &who: ...
> 3. &message: "length mismatch"
> 4. &irritants: ((#<syntax 1> #<syntax 2> #<syntax 3>) (#<syntax a> #<syntax b> #<syntax c> #<syntax d>))

Yeah, who of ... and seeing the list of syntax objects works great.

Abdulaziz Ghuloum (aghuloum) wrote :

This bug report is about to be closed as the fix comitted
previously will be incorporated in the next 0.0.3 release of
Ikarus Scheme, scheduled for January 31, 2008. A release
candidate tarball is available for download from:
http://www.cs.indiana.edu/~aghuloum/ikarus/ikarus-0.0.3-rc1.tar.gz
Please do test it if you have the time and report any issues
you might encounter. Thank you very much for your support.
(Sorry for the duplicates; I'm updating every open bug.)

Changed in ikarus:
milestone: none → 0.0.3
Changed in ikarus:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers