Module

Polyform.Input.Interpret.Record

#VariantFieldsType

class VariantFieldsType (rl :: RowList) (vo :: # Type) a | rl a -> vo

Instances

#onMatch

onMatch :: forall a rl r v. RowToList r rl => VariantFieldsType rl v a => {  | r } -> Variant v -> a

#handleInt

handleInt :: forall e n m q ql. Monoid e => Monad m => RowToList q ql => VariantFieldsType ql n Int => (IntF (Variant n) e ({  | q })) ~> m

#handleString

handleString :: forall err n m q ql. Monoid err => Monad m => RowToList q ql => VariantFieldsType ql n String => (StringF (Variant n) err ({  | q })) ~> m

#handle

handle :: forall ei es n n' m q ql. Monoid ei => Monoid es => Monad m => RowToList q ql => VariantFieldsType ql n String => VariantFieldsType ql n' Int => (VariantF (string :: FProxy (StringF (Variant n) es ({  | q })), int :: FProxy (IntF (Variant n') ei ({  | q })))) ~> m

#interpret

interpret :: forall a e n n' m q ql. Monoid e => Monad m => RowToList q ql => VariantFieldsType ql n String => VariantFieldsType ql n' Int => Run (string :: FProxy (StringF (Variant n) e ({  | q })), int :: FProxy (IntF (Variant n') e ({  | q }))) a -> m a

Modules