module HaScalaM.Types.Enums where
import HaScalaM.Classes.Base
import HaScalaM.Classes.Pat
import HaScalaM.Classes.Term
data SmCaseGeneratorE p b where
SmCaseGeneratorE :: ( Pat p
, Term b
) => { forall p b. SmCaseGeneratorE p b -> p
patCGE :: p
, forall p b. SmCaseGeneratorE p b -> b
rhsCGE :: b } -> SmCaseGeneratorE p b
data SmGeneratorE p b where
SmGeneratorE :: ( Pat p
, Term b
) => { forall p b. SmGeneratorE p b -> p
patGE :: p
, forall p b. SmGeneratorE p b -> b
rhsGE :: b } -> SmGeneratorE p b
data SmGuardE c where
SmGuardE :: Term c => { forall c. SmGuardE c -> c
condGE :: c } -> SmGuardE c
data SmValE p b where
SmValE :: ( Pat p
, Term b
) => { forall p b. SmValE p b -> p
patVE :: p
, forall p b. SmValE p b -> b
rhsVE :: b } -> SmValE p b