I checked how Python handles kwarg passing, and it only allows dictionaries with string keys.
I think a good solution for my lang would be to permit passing kwargs with generic, immutable dictionaries whose keys are either keywords, symbols, or strings.
> whose keys are either keywords, symbols, or strings why?
It’s easy to convert symbols and strings into keywords with predictable results, so I think allowing them as keys in a “kwarg dictionary” would make the process of kwarg passing a little more convenient.
I don’t know if that’s a good argument.
I can’t recall a time I actually wanted to pass a dictionary of keyword arguments along.
though I do think there are uses for it
Using a kwarg dictionary is just a way of abstracting over keyword-apply
.
The called procedure doesn’t actually get a dictionary, it just receives the keyword arguments normally.
have you seen the arguments package I made? http://docs.racket-lang.org/arguments/\|docs.racket-lang.org/arguments/
Hm, that does make manipulating arguments for wrappers and whatnot easier.
thank @alexknauth for that one :)