| I feel CL's keyword arguments are a bit of
a hack in that the arguments to a function
are a plist, which must be parsed. Maybe
would it be better for it to be a list
of "argument objects", more like an alist? Arc could borrow the keyword syntax from
the unix command line arguments. For example
"--x y" could be read as "(argument 'x y)"
and "--x" (if not followed by another s-expr)
as "(argument 'x t)" or something similar. Then (def cut (--seq "" --start 0 --end (len seq))
...)
(cut "Hello World" 2 8)
===
(cut "Hello World" --start 2 --end 8)
===
(cut --end 8 --seq "Hello World" --start 2)
If functions/data could be overloaded by
the names of the arguments, this could even
work a bit like Smalltalk's messages, allowing
"nice" things like:(cut --help) |