alex icon indicating copy to clipboard operation
alex copied to clipboard

Report multiple errors in Alex monad

Open gustavoaca1997 opened this issue 6 years ago • 0 comments

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.

gustavoaca1997 avatar Oct 01 '19 20:10 gustavoaca1997