File tree Expand file tree Collapse file tree 1 file changed +11
-0
lines changed
Cabal/Distribution/Parsec Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -78,24 +78,35 @@ liftParsec p = PP $ \_ -> p
78
78
79
79
instance Functor ParsecParser where
80
80
fmap f p = PP $ \ v -> fmap f (unPP p v)
81
+ {-# INLINE fmap #-}
82
+
83
+ x <$ p = PP $ \ v -> x <$ unPP p v
84
+ {-# INLINE (<$) #-}
81
85
82
86
instance Applicative ParsecParser where
83
87
pure = liftParsec . pure
88
+ {-# INLINE pure #-}
84
89
85
90
f <*> x = PP $ \ v -> unPP f v <*> unPP x v
91
+ {-# INLINE (<*>) #-}
86
92
f *> x = PP $ \ v -> unPP f v *> unPP x v
93
+ {-# INLINE (*>) #-}
87
94
f <* x = PP $ \ v -> unPP f v <* unPP x v
95
+ {-# INLINE (<*) #-}
88
96
89
97
instance Alternative ParsecParser where
90
98
empty = liftParsec empty
91
99
92
100
a <|> b = PP $ \ v -> unPP a v <|> unPP b v
101
+ {-# INLINE (<|>) #-}
93
102
94
103
instance Monad ParsecParser where
95
104
return = pure
96
105
97
106
m >>= k = PP $ \ v -> unPP m v >>= \ x -> unPP (k x) v
107
+ {-# INLINE (>>=) #-}
98
108
(>>) = (*>)
109
+ {-# INLINE (>>) #-}
99
110
100
111
fail = Fail. fail
101
112
You can’t perform that action at this time.
0 commit comments