Haskellに次のようなデータ型があるとします。
data Token = THEN AlexPosn
| ELSE AlexPosn
アレックスから、私はそれを得る:
data AlexPosn = AlexPn !Int !Int !Int
deriving (Eq,Show)
私はこのようなパターンマッチングを行うことができます:
eat_token :: Token -> [Token] -> [Token]
eat_token (THEN p1)((THEN p2):rest) = rest
eat_token (ELSE p1)((ELSE p2):rest) = rest
しかし、私がここで本当に達成したいのはこれです:
eat_token (_ p) tk2 = error "Syntax Error at:"++(show p)
ただし、次のようになります。
Parse error in pattern.
助言がありますか?