* Using APPLY with functions with #!key arguments @ 2017-12-28 1:29 Duncan Mak 2017-12-28 2:49 ` Per Bothner 0 siblings, 1 reply; 3+ messages in thread From: Duncan Mak @ 2017-12-28 1:29 UTC (permalink / raw) To: kawa mailing list I think this used to work in older Kawa releases, but how do I use APPLY to invoke a function like this in Kawa 3.0? #|kawa:1|# (define (foo x #!key y) (list x y)) #|kawa:2|# (foo 1 y: 2) (1 2) #|kawa:3|# (apply foo (list 1)) (1 #f) #|kawa:4|# (apply foo (list 1 2)) gnu.mapping.WrongArguments #|kawa:5|# (apply foo (list 1 y: 2)) gnu.mapping.WrongArguments In Kawa 2.4, this worked: duncan@furigana:~/Downloads/kawa-2.4/bin$ ./kawa #|kawa:1|# (define (foo x #!key y) (list x y)) #|kawa:2|# (apply foo (list 1 y: 2)) (1 2) #|kawa:3|# (apply foo (list 1 2)) (1 #f) Happy holidays! -- Duncan. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Using APPLY with functions with #!key arguments 2017-12-28 1:29 Using APPLY with functions with #!key arguments Duncan Mak @ 2017-12-28 2:49 ` Per Bothner 2017-12-28 3:57 ` Duncan Mak 0 siblings, 1 reply; 3+ messages in thread From: Per Bothner @ 2017-12-28 2:49 UTC (permalink / raw) To: Duncan Mak, kawa mailing list On 12/27/2017 05:28 PM, Duncan Mak wrote: > I think this used to work in older Kawa releases, but how do I use > APPLY to invoke a function like this in Kawa 3.0? > > #|kawa:1|# (define (foo x #!key y) (list x y)) You can do this: (apply foo (arglist 1 y: 2)) which is the same as: (foo @:(arglist 1 y: 2)) This chapter in the manual should be helpful: https://www.gnu.org/software/kawa/Application-and-Arguments-Lists.html -- --Per Bothner per@bothner.com http://per.bothner.com/ ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Using APPLY with functions with #!key arguments 2017-12-28 2:49 ` Per Bothner @ 2017-12-28 3:57 ` Duncan Mak 0 siblings, 0 replies; 3+ messages in thread From: Duncan Mak @ 2017-12-28 3:57 UTC (permalink / raw) To: Per Bothner; +Cc: kawa mailing list Thanks Per! That worked! On Wed, Dec 27, 2017 at 9:48 PM, Per Bothner <per@bothner.com> wrote: > On 12/27/2017 05:28 PM, Duncan Mak wrote: >> >> I think this used to work in older Kawa releases, but how do I use >> APPLY to invoke a function like this in Kawa 3.0? >> >> #|kawa:1|# (define (foo x #!key y) (list x y)) > > > You can do this: > > (apply foo (arglist 1 y: 2)) > > which is the same as: > > (foo @:(arglist 1 y: 2)) > > This chapter in the manual should be helpful: > https://www.gnu.org/software/kawa/Application-and-Arguments-Lists.html > > -- > --Per Bothner > per@bothner.com http://per.bothner.com/ -- Duncan. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-12-28 3:57 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-12-28 1:29 Using APPLY with functions with #!key arguments Duncan Mak 2017-12-28 2:49 ` Per Bothner 2017-12-28 3:57 ` Duncan Mak
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).