functor-combo-0.3.6: Functor combinators with tries & zippers

Copyright(c) Conal Elliott 2010
LicenseBSD3
Maintainerconal@conal.net
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell98

FunctorCombo.Strict

Description

Strict products and sums.Strict

Synopsis

Documentation

data a :*! b infixl 7 Source

Strict pair

Constructors

!a :*! !b infixl 7 

Instances

(HasTrie a, HasTrie b) => HasTrie ((:*!) a b) 
type STrie ((:*!) a b) = (:.) (STrie a) (STrie b) 

curry' :: ((a :*! b) -> c) -> a -> b -> c Source

Curry on strict pairs

uncurry' :: (a -> b -> c) -> (a :*! b) -> c Source

Uncurry on strict pairs

data a :+! b infixl 6 Source

Strict sum

Constructors

Left' !a 
Right' !b 

Instances

(HasTrie a, HasTrie b) => HasTrie ((:+!) a b) 
type STrie ((:+!) a b) = (:*:) (STrie a) (STrie b) 

either' :: (a -> c) -> (b -> c) -> (a :+! b) -> c Source

Case analysis for strict sums. Like either.