slot-lambda

Write lambdas without naming the parameters.

https://github.com/ducis/pa_slot

Latest on Hackage:0.1.0.3

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

MIT licensed by ducis
Maintained by [email protected]

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.