|This is why my repo's been unstable lately: it now has pervasive (python-inspired) keyword args. Observe:|
I've also changed the syntax for optional args:
> (def foo(a b) (cons a b))
> (foo 3 4)
(3 . 4) ; expected
> (foo :b 3 4)
(4 . 3) ; whoa!
Optional args come after a '?' and must explicitly provide a default. (alternatives: http://arclanguage.org/item?id=12565)
> (def foo(a ? b nil) (cons a b))
> (foo 3)
I find the best documentation for this feature is test cases:
Let me know if anybody sees bugs or other issues. I've tested it on both news.arc and readwarp and everything seems to work.