Add instance Foldable Maybe
commitd39f2347c9958919cf8a93173f1abd658890256a
authorMelvar Chen <Melvar.Chen@googlemail.com>
dateFri 2 Aug 2013, 23:17 (13 years ago)
parentd4f173d
lib/Prelude/Maybe.idr+5
@@ -3,6 +3,7 @@ module Prelude.Maybe
33import Builtins
44import Prelude.Algebra
55import Prelude.Cast
6+import Prelude.Foldable
67
78%access public
89%default total
@@ -81,3 +82,7 @@ instance (Monoid a, Eq a) => Cast a (Maybe a) where
8182
8283instance (Monoid a) => Cast (Maybe a) a where
8384 cast = lowerMaybe
85+
86+instance Foldable Maybe where
87+ foldr _ z Nothing = z
88+ foldr f z (Just x) = f x z