@@ -24,7 +24,7 @@ sepBy v s = sepBy1 v s
24sepBy1 :: SemiIsoAlternative f => f a -> f () -> f [a]
24sepBy1 :: SemiIsoAlternative f => f a -> f () -> f [a]
25sepBy1 v s = _Cons /$/ v /*/ (s */ sepBy1 v s /|/ sipure _Empty)
25sepBy1 v s = _Cons /$/ v /*/ (s */ sepBy1 v s /|/ sipure _Empty)
27−-- | One or none occurences of @f@.
27+-- | One or zero occurences of @f@.
28optional :: SemiIsoAlternative f => f a -> f (Maybe a)
28optional :: SemiIsoAlternative f => f a -> f (Maybe a)
29optional f = _Just /$/ f /|/ sipure _Nothing
29optional f = _Just /$/ f /|/ sipure _Nothing
@@ -32,7 +32,7 @@ optional f = _Just /$/ f /|/ sipure _Nothing
32opt :: SemiIsoAlternative f => f () -> f ()
32opt :: SemiIsoAlternative f => f () -> f ()
33opt f = f /|/ sipure id
33opt f = f /|/ sipure id
35−-- | Parser one or more occurences of @f@, but prints nothing.
35+-- | Parser one or zero occurences of @f@, but prints nothing.
36opt_ :: SemiIsoAlternative f => f () -> f ()
36opt_ :: SemiIsoAlternative f => f () -> f ()
37opt_ f = semiIso (const (Left "opt_")) Right /$/ f
37opt_ f = semiIso (const (Left "opt_")) Right /$/ f
38 /|/ sipure id
38 /|/ sipure id