-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell preprocessor adding miscellaneous features -- -- The Strathclyde Haskell Enhancement is a somewhat inglorious bodge, -- equipping ghc with automatic lifting of types to kinds, pattern -- synonyms, and some kit for higgledy-piggledy literate programming. @package she @version 0.1 module ShePrelude data SheProxy ty tm SheProxy :: SheProxy ty tm class SheChecks ty tm sheTypes :: (SheChecks ty tm) => SheProxy ty tm -> SheSingleton ty tm data SheTyLeft x SheTyLeft :: x -> SheTyLeft x data SheTyRight x SheTyRight :: x -> SheTyRight x data SheTyTrue SheTyTrue :: SheTyTrue data SheTyFalse SheTyFalse :: SheTyFalse data SheSpecialNil SheSpecialNil :: SheSpecialNil data (:$#$#$#:) x y (:$#$#$#:) :: x -> y -> :$#$#$#: x y instance (SheChecks t x, SheChecks [t] xs) => SheChecks [t] (x :$#$#$#: xs) instance SheChecks [t] SheSpecialNil instance SheChecks Bool SheTyFalse instance SheChecks Bool SheTyTrue instance (SheChecks t x) => SheChecks (Either s t) (SheTyRight x) instance (SheChecks s x) => SheChecks (Either s t) (SheTyLeft x)