inl add a b = a + b
inl f = add 1
f 2, f 3
is just awesome inl add a b = a + b
inl f = add 1
f 2, f 3
is just awesome inl add a b = a + b
is basically a macro #define add(a,b) a+b inl f = add 1
is a macro #define f add(1) f 2, f 3
but e.g. inl f = add c
would create a closure to capture c. inl would guarantee that the capturing is lexical, not dynamic.There's no need for the comma operator in args, comma is to create lists.
add:{x+y}
f:add 1
f 2
3 add = (+)
f = add 1
f 2
This kind of syntax is great for small code samples or to play in a CLI, but in larger programs more traditional (verbose) syntax works better for me. YMMV.Also, and this isn’t really an FP point, if you’ve got a lot of positional parameters you’re already Doing It Wrong.