-- 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.6 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)