foo(=a, =1+bar)

Unfortunately, that won't help with Jonathan's inital example
expression "big_array[5:20]" as it's not a valid keyword.

I didn't understand that. The example you are referring to is

print('big_array[5:20] =', big_array[5:20])


Nothing is a keyword in that example or in my example. My suggestion is that we could do:


And it would be compile time transformed into

my_func(**{'big_array[5:20]': big_array[5:20]})

and then my_func is just a normal function:

def my_func(**kwargs):

It's a very simple textual transformation.

/ Anders