OrPatterns-0.1: OrPatterns.cabal
name: OrPatterns
version: 0.1
synopsis: A quasiquoter for or-patterns
description: A quasiquoter for or-patterns. It allows one additional
form for patterns:
.
> f [o| p1 | p2 | p3 |] = rhs
.
Above, @p1@, @p2@ and @p3@ are three arbitrary patterns
that bind the same variables. These variables are
available in the expression @rhs@. Nesting of or-patterns
is not supported yet.
.
See also:
.
* http://hackage.haskell.org/package/first-class-patterns
supports @\\\/@ (or). However, variables bound with
those patterns are not named. This means:
.
> g :: Either (x, y) (y, x) -> (x, y)
> g [o| Left (x,y) | Right (y,x) |] = (x,y)
.
> -- ends up slightly longer
> g = elim $ left (pair var var) \/ right flipped ->> (,)
> where
> flipped = (\(a,b) -> (b,a)) --> pair var var
.
* http://hackage.haskell.org/trac/ghc/ticket/3919
is the feature request for or-patterns in ghc
license: BSD3
license-file: LICENSE
author: Adam Vogt <vogt.adam@gmail.com>
maintainer: Adam Vogt <vogt.adam@gmail.com>
category: Development
build-type: Simple
cabal-version: >=1.10
tested-with: GHC == 7.8.2,
GHC == 7.6.2,
GHC == 7.4.1
source-repository head
type: darcs
location: http://code.haskell.org/~aavogt/OrPatterns
library
exposed-modules: OrPatterns
OrPatterns.Internal
other-extensions: TemplateHaskell
build-depends: base >=4.5 && <4.8,
template-haskell >=2.4 && <2.10,
mtl >=2.1 && <2.2,
syb >=0.4 && <0.5,
split >=0.2 && <0.3,
haskell-src-meta >=0.6 && <0.7,
haskell-src-exts >=1.15 && <1.16,
containers >=0.3 && <0.6
default-language: Haskell2010