syntax pattern variable list length mismatch error is obscure

Bug #181105 reported by Derick Eddington
2
Affects Status Importance Assigned to Milestone
Ikarus Scheme
Fix Released
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"

Revision history for this message
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
Revision history for this message
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
Revision history for this message
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)

Revision history for this message
Derick Eddington (derick-eddington) wrote : Re: [Bug 181105] Re: syntax pattern variable list length mismatch error is obscure

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.

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.