@@ -480,7 +480,7 @@ parseDToK
480parseDToK pstep initial extract leftover (0, _) cont = do
480parseDToK pstep initial extract leftover (0, _) cont = do
481 res <- initial
481 res <- initial
482 case res of
482 case res of
483− IPartial r -> return $ K.Continue leftover (parseCont (return r))
483+ IPartial r -> return $ K.Partial leftover (parseCont (return r))
484 IDone b -> cont state (K.Success 0 b)
484 IDone b -> cont state (K.Success 0 b)
485 IError err -> cont state (K.Failure err)
485 IError err -> cont state (K.Failure err)
@@ -516,7 +516,7 @@ parseDToK pstep initial extract leftover (0, _) cont = do
516parseDToK pstep initial extract leftover (level, count) cont = do
516parseDToK pstep initial extract leftover (level, count) cont = do
517 res <- initial
517 res <- initial
518 case res of
518 case res of
519− IPartial r -> return $ K.Continue leftover (parseCont count (return r))
519+ IPartial r -> return $ K.Partial leftover (parseCont count (return r))
520 IDone b -> cont (level,count) (K.Success 0 b)
520 IDone b -> cont (level,count) (K.Success 0 b)
521 IError err -> cont (level,count) (K.Failure err)
521 IError err -> cont (level,count) (K.Failure err)
@@ -592,7 +592,7 @@ fromParserK parser = Parser step initial extract
592 return $ case r of
592 return $ case r of
593 K.Done n b -> assert (n == 0) (IDone b)
593 K.Done n b -> assert (n == 0) (IDone b)
594 K.Error e -> IError e
594 K.Error e -> IError e
595− K.Partial _ cont -> assert False (IPartial cont)
595+ K.Partial n cont -> assert (n == 0) (IPartial cont)
596 K.Continue n cont -> assert (n == 0) (IPartial cont)
596 K.Continue n cont -> assert (n == 0) (IPartial cont)
598 step cont a = do
598 step cont a = do
@@ -605,11 +605,11 @@ fromParserK parser = Parser step initial extract
606 extract cont = do
606 extract cont = do
607 r <- cont Nothing
607 r <- cont Nothing
608− return $ case r of
608+ case r of
609− K.Done n b -> Done n b
609+ K.Done n b -> return $ Done n b
610− K.Error e -> Error e
610+ K.Error e -> return $ Error e
611− K.Partial _ _ -> error "Bug: extract got Partial"
611+ K.Partial _ cont1 -> extract cont1
612− K.Continue n cont1 -> Continue n cont1
612+ K.Continue n cont1 -> return $ Continue n cont1
614#ifndef DISABLE_FUSION
614#ifndef DISABLE_FUSION
615{-# RULES "fromParserK/toParserK fusion" [2]
615{-# RULES "fromParserK/toParserK fusion" [2]