on master help sign in
Add implementations of fail (!?)
9f2062cBryan O'Sullivan
Data/Aeson/Types/Internal.hs+8
@@ -117,17 +117,25 @@ instance Functor Result where
117instance Monad IResult where
117instance Monad IResult where
118 return = ISuccess
118 return = ISuccess
119 {-# INLINE return #-}
119 {-# INLINE return #-}
120+
120 ISuccess a >>= k = k a
121 ISuccess a >>= k = k a
121 IError path err >>= _ = IError path err
122 IError path err >>= _ = IError path err
122 {-# INLINE (>>=) #-}
123 {-# INLINE (>>=) #-}
123
124
125+ fail err = IError [] err
126+ {-# INLINE fail #-}
127+
124instance Monad Result where
128instance Monad Result where
125 return = Success
129 return = Success
126 {-# INLINE return #-}
130 {-# INLINE return #-}
131+
127 Success a >>= k = k a
132 Success a >>= k = k a
128 Error err >>= _ = Error err
133 Error err >>= _ = Error err
129 {-# INLINE (>>=) #-}
134 {-# INLINE (>>=) #-}
130
135
136+ fail err = Error err
137+ {-# INLINE fail #-}
138+
131instance Applicative IResult where
139instance Applicative IResult where
132 pure = return
140 pure = return
133 {-# INLINE pure #-}
141 {-# INLINE pure #-}