alex
alex copied to clipboard
Report multiple errors in Alex monad
Alexis defined as
newtype Alex a = Alex { unAlex :: AlexState
-> Either String (AlexState, a) }
where any error is stored in the Left as String. It would be great if the programmer could define its own "error state" or maybe if Alex could already report more than one lexical error. I had to define my AlexUserState as
data AlexUserState = AlexUserState {
matches :: Either [Error] [Token]
}
for storing all lexical errors that have occurred and then show them to the user.