bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#12929: case-lambda*


From: Daniel Llorens
Subject: bug#12929: case-lambda*
Date: Mon, 19 Nov 2012 11:38:17 +0100

See the thread here 

http://lists.gnu.org/archive/html/guile-user/2012-11/msg00032.html

In Guile 2.0.6

(define f (case-lambda*
             ((x #:optional y) 1)
             ((x #:key y)      2)
             ((x y #:key z)    3)))

(f 1 2 #:z 3) -> Odd length of keyword argument list

Also

(define g (case-lambda*
                      ((a #:key x) 1)
                      ((a b c #:key x) 3)))

(g 1 2 3) - > Invalid keyword

This behavior doesn't seem useful and doesn't follow from the doc on 
case-lambda*, which is rather vague and lacks examples.

The case-lambda* test in tree-il.test also fails on the REPL

(let ((f (case-lambda*
          ((x #:optional y) 1)
          ((x #:key y)      2)
          ((x y #:key z)    3))))
  (list (f 1)
        (f 1 2)
        (f #:y 2)
        (f 1 2 #:z 3)))

-> Odd length of keyword argument list

Thanks,

        Daniel






reply via email to

[Prev in Thread] Current Thread [Next in Thread]