Parse a message into the needed types.
Parse a message into the needed types.
The content of the message where each string is separated by a space.
The cache to use.
Left with an error message if it failed to parse, or Right with the remaining arguments, and the parsed value.
Apply a partial function of this parser, returning the error if the function isn't defined.
Apply a partial function of this parser, returning the error if the function isn't defined.
The new parser type.
The error to return if the partial function isn't defined.
The partial function to apply.
Create a new parser by filtering the values created by this parser.
Create a new parser by filtering the values created by this parser.
The predicate.
The error message if the value does not match the predicate.
Create a new parser by applying a function to the result of this parser
Create a new parser by applying a function to the result of this parser
The new parser type
The function to apply
Parse a message into the needed types, tossing away the remaining string.
Parse a message into the needed types, tossing away the remaining string.
The content of the message where each string is separated by a space.
The cache to use.
Left with an error message if it failed to parse, or Right with the parsed value.
MessageParser is a typeclass to simplify parsing messages. It can derive instances for any ADT, and makes it much easier to work with messages.
The type to parse.