slot-lambda-0.1.0.3: slot-lambda.cabal
name: slot-lambda
version: 0.1.0.3
synopsis: 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.
license: MIT
license-file: LICENSE
homepage: https://github.com/ducis/pa_slot
author: ducis
maintainer: ducis_cn@126.com
-- copyright:
category: Language
build-type: Simple
extra-source-files: README.md, examples/*.hs, Makefile
cabal-version: >=1.10
library
exposed-modules: Syntax.Slot
other-extensions: TemplateHaskell, QuasiQuotes
build-depends: base >=4.6 && < 5, template-haskell >=2.8, haskell-src-meta>=0.6.0.5, syb>=0.4.1, vector>=0.10.9.1, haskell-src-exts >= 1.14.0.1, containers >= 0.5.0.0
default-language: Haskell2010