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 maintainer: Adam Vogt 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