Description
Write lambdas without naming the parameters.
Description
Write lambdas without naming the parameters. Example:
[s| ı : ı : _ı : ı : _ı : _ı : _0 : [] |] 'a' 'b' 'c'
= (\x y z -> x:y:y:z:z:z:x:[]) 'a' 'b' 'c'
= "abbccca"
The unicode character ı(U+0131, not the number 1!) representing a 'slot' can be input in vim with the digraph 'i.' . _ı stands for the same argument as the immediate left ı does. Any suggestions of another unicode character in the 'Letter, Lowercase' category that
1)no one would use as a variable name, and
2)can be easily input in vim
are welcome. You can also use _0,_1,_2,... to refer to the 1st, 2nd, 3rd, ... arguments.
Just import Syntax.Slot and use either [s| ... |] or [slot| ... |], which are the same thing given two names for convenience.
README.md
pa_slot
Write lambdas without naming the parameters.
[s| ı : ı : _ı : ı : _ı : _ı : _0 : [] |] 'a' 'b' 'c' = "abbccca"