
31 Aug
2008
31 Aug
'08
2:45 a.m.
2008/8/31 Tillmann Rendel
instance Monad NMEAParser where return a = NMEAParser(\s -> (SingleVal a,s)) NMEAParser k >>= f = NMEAParser(\s0 -> let (r1, s1) = k s0 k2 = f r1 (r2, s2) = k2 s1 in (r1,s2))
"f r1" evaluates to a parser, you forgot to pattern match, k2 isn't a function, it's a parser. -- Jedaï