Jack Firth <jackhfirth@gmail.com>
This library defines arguments structures, values containing a set of positional and keyword argument values. Various utility procedures for constructing and manipulating these structures are provided.
Source code for this library is avaible on Github and is provided under the terms of the MIT License.
procedure
(arguments 1 2 3 #:foo "bar")
procedure
( make-arguments positionalkeyword)→arguments?
positional:list?keyword:keyword-hash?
(arguments 1 2 3 #:foo "bar")
value
procedure
( arguments-positional arguments)→list?
arguments:arguments?procedure
( arguments-keyword arguments)→keyword-hash?
arguments:arguments?
procedure
( apply/arguments fargs)→any
args:arguments?
'("bar" "bazz" "fooooo")
Added in version 1.1 of package arguments.
Changed in version 1.2.1: caused nondeterministic contract exceptions
procedure
( arguments-merge args...)→arguments?
args:arguments?
(arguments 1 'a 'b #:bar 3 #:foo 'c)
(arguments)
Added in version 1.3 of package arguments.
syntax
( lambda/arguments args-idbody...+)
> (pos-sum123)6
> (pos-sum123#:foo'bar)6
Added in version 1.2 of package arguments.
syntax
( define/arguments (idargs-id)body...+)
v))> (keywords-product#:foo2#:bar3)6
> (keywords-product'ignored#:baz6#:blah4)24
Added in version 1.2 of package arguments.
value
value
#t
#f
#f