unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#12929: case-lambda*
@ 2012-11-19 10:38 Daniel Llorens
  2012-11-28 22:36 ` Ludovic Courtès
  2013-03-05 17:54 ` Andy Wingo
  0 siblings, 2 replies; 3+ messages in thread
From: Daniel Llorens @ 2012-11-19 10:38 UTC (permalink / raw)
  To: 12929


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






^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-03-05 17:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-19 10:38 bug#12929: case-lambda* Daniel Llorens
2012-11-28 22:36 ` Ludovic Courtès
2013-03-05 17:54 ` Andy Wingo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).