packOp | < | packOp ** packOp -> bool |
packOp | = | packOp ** packOp -> bool |
pair | &? | pair -> bool |
pair | 1st | pair -> data1 |
pair | 2nd | pair -> data2 |
pair | unpair | pair -> data1 ** data2 |
pair[data1, data2] | * | (data1 -> data11) ** (data2 -> data21) ** pair[data1, data2] -> pair[data11, data21] |
pair[data1, data2] | < | pair[data1, data2] ** pair[data1, data2] -> bool : [1], [2] |
pair[dom, codom] | less | pair[dom, codom] ** pair[dom, codom] -> bool : [1], [2], [3] |
parser | @ | parser ** string -> option[data] |
parser | @! | parser ** string -> data |
parser | asFct | parser -> string -> option[data] ** string |
parser | asParser? | parser -> bool |
parser | parser | parser -> seq[token] ** state -> either[option[error], a] ** seq[token] ** state |
parser | parser? | parser -> bool |
parser | run | seq[token] ** state ** (() -> parser) -> either[option[error], a] |
parser | | | parser ** parser -> parser |
parser[a, token, state, error] | & | (() -> parser[a, token, state, error]) ** (a -> () -> parser[b, token, state, error]) -> () -> parser[b, token, state, error] |
parser[a, token, state, error] | * | (() -> parser[a, token, state, error]) ** (a -> b) -> () -> parser[b, token, state, error] |
parser[a, token, state, error] | << | (() -> parser[a, token, state, error]) ** (() -> parser[b, token, state, error]) -> () -> parser[a, token, state, error] |
parser[a, token, state, error] | <> | (() -> parser[a, token, state, error]) ** (() -> parser[b, token, state, error]) -> () -> parser[pair[a, b], token, state, error] |
parser[a, token, state, error] | >> | (() -> parser[a, token, state, error]) ** (() -> parser[b, token, state, error]) -> () -> parser[b, token, state, error] |
parser[a, token, state, error] | reject | (() -> parser[a, token, state, error]) -> () -> parser[void, token, state, error] |
parser[a, token, state, error] | | | (() -> parser[a, token, state, error]) ** (() -> parser[a, token, state, error]) -> () -> parser[a, token, state, error] |
parser[a, token, state, error] | |^ | (() -> parser[a, token, state, error]) ** (() -> parser[a, token, state, error]) -> () -> parser[a, token, state, error] |
parser[b, token, state, error] | & | (() -> parser[a, token, state, error]) ** (a -> () -> parser[b, token, state, error]) -> () -> parser[b, token, state, error] |
parser[b, token, state, error] | << | (() -> parser[a, token, state, error]) ** (() -> parser[b, token, state, error]) -> () -> parser[a, token, state, error] |
parser[b, token, state, error] | <> | (() -> parser[a, token, state, error]) ** (() -> parser[b, token, state, error]) -> () -> parser[pair[a, b], token, state, error] |
parser[b, token, state, error] | >> | (() -> parser[a, token, state, error]) ** (() -> parser[b, token, state, error]) -> () -> parser[b, token, state, error] |
parser[data1] | & | parser[data1] ** (data1 -> parser[data2]) -> parser[data2] |
parser[data1] | & | parser[data1] ** parser[void] ** (data1 -> parser[data2]) -> parser[data2] |
parser[data1] | ; | parser[data1] ** (option[data1] -> parser[data2]) -> parser[data2] |
parser[data1] | ; | parser[data1] ** parser[void] ** (option[data1] -> parser[data2]) -> parser[data2] |
parser[data2] | & | parser[data1] ** (data1 -> parser[data2]) -> parser[data2] |
parser[data2] | & | parser[data1] ** parser[void] ** (data1 -> parser[data2]) -> parser[data2] |
parser[data2] | ; | parser[data1] ** (option[data1] -> parser[data2]) -> parser[data2] |
parser[data2] | ; | parser[data1] ** parser[void] ** (option[data1] -> parser[data2]) -> parser[data2] |
parser[data] | * | parser[data] ** parser[void] -> parser[seq[data]] |
parser[data] | * | parser[data] -> parser[seq[data]] |
parser[data] | + | parser[data] ** parser[void] -> parser[seq[data]] |
parser[data] | + | parser[data] -> parser[seq[data]] |
parser[data] | :: | parser[data] ** parser[seq[data]] -> parser[seq[data]] |
parser[data] | <| | parser[void] ** parser[data] -> parser[data] |
parser[data] | <|> | parser[data] ** parser[void] -> parser[data] |
parser[data] | ? | parser[data] -> parser[option[data]] |
parser[data] | ignore | parser[data] -> parser[void] |
parser[data] | max | nat ** parser[data] -> parser[seq[data]] |
parser[data] | min | nat ** parser[data] -> parser[seq[data]] |
parser[data] | phantom | parser[data] -> parser[data] |
parser[data] | until | parser[data] ** (string -> bool) -> parser[seq[data]] |
parser[data] | until | parser[data] ** parser[void] -> parser[seq[data]] |
parser[data] | x | nat ** nat ** parser[data] -> parser[seq[data]] |
parser[data] | x | nat ** parser[data] -> parser[seq[data]] |
parser[data] | |> | parser[data] ** parser[void] -> parser[data] |
parser[from] | * | (from -> to) ** parser[from] -> parser[to] |
parser[seq[data]] | ++ | parser[seq[data]] ** parser[seq[data]] -> parser[seq[data]] |
parser[seq[data]] | :: | parser[data] ** parser[seq[data]] -> parser[seq[data]] |
parser[void] | & | parser[data1] ** parser[void] ** (data1 -> parser[data2]) -> parser[data2] |
parser[void] | * | parser[data] ** parser[void] -> parser[seq[data]] |
parser[void] | + | parser[data] ** parser[void] -> parser[seq[data]] |
parser[void] | ; | parser[data1] ** parser[void] ** (option[data1] -> parser[data2]) -> parser[data2] |
parser[void] | <| | parser[void] ** parser[data] -> parser[data] |
parser[void] | <|> | parser[data] ** parser[void] -> parser[data] |
parser[void] | until | parser[data] ** parser[void] -> parser[seq[data]] |
parser[void] | |> | parser[data] ** parser[void] -> parser[data] |