module Data.Type.Symbol.Parser
(
Parser
, Run
, Isolate
, (:<*>:)
, (:*>:)
, (:<*:)
, (:<|>:)
, Take
, Drop
, Literal
, End
, NatDec
, NatHex
, NatBin
, NatOct
, NatBase
) where
import Data.Type.Symbol.Parser.Run
import Data.Type.Symbol.Parser.Types
import Data.Type.Symbol.Parser.Parser.Isolate
import Data.Type.Symbol.Parser.Parser.Drop
import Data.Type.Symbol.Parser.Parser.Natural
import Data.Type.Symbol.Parser.Parser.Then
import Data.Type.Symbol.Parser.Parser.Then.VoidLeft
import Data.Type.Symbol.Parser.Parser.Then.VoidRight
import Data.Type.Symbol.Parser.Parser.Literal
import Data.Type.Symbol.Parser.Parser.End
import Data.Type.Symbol.Parser.Parser.Take
import Data.Type.Symbol.Parser.Parser.Or
type pl :<*>: pr = Then pl pr
type pl :*>: pr = ThenVL pl pr
type pl :<*: pr = ThenVR pl pr
type pl :<|>: pr = Or pl pr