> In fact, MacRuby had to add syntax to Ruby[1] in order to be able to represent Objective C keyword arguments.
On the other hand, Objective-C's keyword messages, inherited from Smalltalk, are very different from Python's keyword arguments (to the point that PyObjC can not map one to the other, and uses name mangling for ObjC method calls instead, similar to RubyCocoa's method): in Obj-C, the keywords are part of the method name (in fact, they are the method name) and changing their order or adding new arguments will change the message sent to the object.
Not so in Python, C#, or using Ruby's hash-hack, where keyword arguments are basically a `String -> Any` map sent to the method.
As a result, even if Ruby implemented "proper" keyword arguments it's quite unlikely unlikely they would match Obj-C's, and MacRuby would still have to implement their own.
On the other hand, Objective-C's keyword messages, inherited from Smalltalk, are very different from Python's keyword arguments (to the point that PyObjC can not map one to the other, and uses name mangling for ObjC method calls instead, similar to RubyCocoa's method): in Obj-C, the keywords are part of the method name (in fact, they are the method name) and changing their order or adding new arguments will change the message sent to the object.
Not so in Python, C#, or using Ruby's hash-hack, where keyword arguments are basically a `String -> Any` map sent to the method.
As a result, even if Ruby implemented "proper" keyword arguments it's quite unlikely unlikely they would match Obj-C's, and MacRuby would still have to implement their own.