module ASCII.Lift (Lift (..)) where
import ASCII.Case (Case (..))
import ASCII.CaseRefinement (ASCII'case)
import ASCII.Char (Char)
import ASCII.Refinement (ASCII)
import ASCII.Superset (CharSuperset, StringSuperset)
import qualified ASCII.Refinement as Refinement
import qualified ASCII.Superset as Superset
import qualified ASCII.CaseRefinement as CaseRefinement
import qualified Prelude
import Data.Function ((.))
class Lift subset superset where
lift :: subset -> superset
instance Lift (ASCII superset) superset where lift :: ASCII superset -> superset
lift = ASCII superset -> superset
forall superset. ASCII superset -> superset
Refinement.lift
instance Lift (ASCII'case letterCase superset) superset where lift :: ASCII'case letterCase superset -> superset
lift = ASCII'case letterCase superset -> superset
forall (letterCase :: Case) superset.
ASCII'case letterCase superset -> superset
CaseRefinement.lift
instance CharSuperset superset => Lift Char superset where lift :: Char -> superset
lift = Char -> superset
forall char. FromChar char => Char -> char
Superset.fromChar
instance StringSuperset superset => Lift [Char] superset where lift :: [Char] -> superset
lift = [Char] -> superset
forall string. FromString string => [Char] -> string
Superset.fromCharList