Safe Haskell | None |
---|---|
Language | Haskell2010 |
Type DumpInstr
newtype DumpInstr inp (vs :: [Type]) (es :: Peano) a Source #
Instances
Joinable DumpInstr Source # | |
Defined in Symantic.Parser.Machine.Dump | |
Routinable DumpInstr Source # | |
Defined in Symantic.Parser.Machine.Dump subroutine :: forall v inp (vs :: [Type]) (es :: Peano) ret. LetName v -> DumpInstr inp '[] ('Succ 'Zero) v -> DumpInstr inp vs ('Succ es) ret -> DumpInstr inp vs ('Succ es) ret Source # call :: forall v inp (vs :: [Type]) (es :: Peano) ret. LetName v -> DumpInstr inp (v ': vs) ('Succ es) ret -> DumpInstr inp vs ('Succ es) ret Source # ret :: forall inp ret (es :: Peano). DumpInstr inp '[ret] es ret Source # jump :: forall ret inp (es :: Peano). LetName ret -> DumpInstr inp '[] ('Succ es) ret Source # | |
Inputable DumpInstr Source # | |
Defined in Symantic.Parser.Machine.Dump | |
Failable DumpInstr Source # | |
Defined in Symantic.Parser.Machine.Dump fail :: forall inp (vs :: [Type]) (es :: Peano) ret. [ErrorItem (InputToken inp)] -> DumpInstr inp vs ('Succ es) ret Source # popFail :: forall inp (vs :: [Type]) (es :: Peano) ret. DumpInstr inp vs es ret -> DumpInstr inp vs ('Succ es) ret Source # catchFail :: forall inp (vs :: [Type]) (es :: Peano) ret. DumpInstr inp vs ('Succ es) ret -> DumpInstr inp (Cursor inp ': vs) es ret -> DumpInstr inp vs es ret Source # | |
Branchable DumpInstr Source # | |
Defined in Symantic.Parser.Machine.Dump case_ :: forall inp x (vs :: [Type]) (n :: Peano) r y. DumpInstr inp (x ': vs) n r -> DumpInstr inp (y ': vs) n r -> DumpInstr inp (Either x y ': vs) n r Source # choices :: forall v inp (vs :: [Type]) (es :: Peano) ret. [InstrPure (v -> Bool)] -> [DumpInstr inp vs es ret] -> DumpInstr inp vs es ret -> DumpInstr inp (v ': vs) es ret Source # | |
Stackable DumpInstr Source # | |
Defined in Symantic.Parser.Machine.Dump push :: forall v inp (vs :: [Type]) (n :: Peano) ret. InstrPure v -> DumpInstr inp (v ': vs) n ret -> DumpInstr inp vs n ret Source # pop :: forall inp (vs :: [Type]) (n :: Peano) ret v. DumpInstr inp vs n ret -> DumpInstr inp (v ': vs) n ret Source # liftI2 :: forall x y z inp (vs :: [Type]) (es :: Peano) ret. InstrPure (x -> y -> z) -> DumpInstr inp (z ': vs) es ret -> DumpInstr inp (y ': (x ': vs)) es ret Source # swap :: forall inp x y (vs :: [Type]) (n :: Peano) r. DumpInstr inp (x ': (y ': vs)) n r -> DumpInstr inp (y ': (x ': vs)) n r Source # | |
Readable DumpInstr inp Source # | |
Show (DumpInstr inp vs es a) Source # | |
IsString (DumpInstr inp vs es a) Source # | |
Defined in Symantic.Parser.Machine.Dump fromString :: String -> DumpInstr inp vs es a # |