@@ -39,10 +39,13 @@ parseCols {n=S k} row l cs = helper last l
40 step : {b : Board (S k)} -> LegalBoard b -> Fin (S k) -> Parser (S k)
40 step : {b : Board (S k)} -> LegalBoard b -> Fin (S k) -> Parser (S k)
41 step {b=b} l x = do
41 step {b=b} l x = do
42− tok <- parseToken (index x cs)
42+ tok <- parseToken {n=S k} (index x cs)
44+ Nothing => return (_ ** l)
43− case legalVal b (x, row) tok of
46+ case legalVal b (x, row) val of
44− Yes prf => return (_ ** Step prf l)
47+ Yes prf => return (_ ** Step prf l)
45− No _ => Left ("Illegal cell " ++ index x cs)
48+ No _ => Left ("Illegal cell " ++ index x cs)
47 helper : {b : Board (S k)} -> Fin (S k) -> LegalBoard b -> Parser (S k)
50 helper : {b : Board (S k)} -> Fin (S k) -> LegalBoard b -> Parser (S k)
48 helper fO l = step l fO
51 helper fO l = step l fO