The GPU thing? https://github.com/eholk/harlan
Not at all. You'd have to Google my brain, sorry.
Smalltalk does that as well. And IIRC Swift and Objective-C who got it
from Smalltalk.
In a sense, but in these languages order matters: the keywords are really labels for positional arguments. Algol 60 had them too in an even weaker sense: you could specify and use a keyword, but the wrong keyword was not an error, so they were more like formalized comments on positional arguments. In Python (before the latest versions) any argument may be called with or without a keyword; an argument is optional iff it has a default value, but required arguments must precede optional ones. There are also analogues of &rest and &allow-other-keys. Those who do not remember their history are compelled to reinvent it, badly.