File tree Expand file tree Collapse file tree 2 files changed +24
-4
lines changed Expand file tree Collapse file tree 2 files changed +24
-4
lines changed Original file line number Diff line number Diff line change @@ -3,11 +3,11 @@ module Data.Maybe.First where
3
3
import Prelude
4
4
5
5
import Control.Extend (class Extend )
6
-
6
+ import Control.MonadZero ( class MonadZero , class Alternative , class Plus , class Alt )
7
7
import Data.Eq (class Eq1 )
8
8
import Data.Functor.Invariant (class Invariant )
9
9
import Data.Maybe (Maybe (..))
10
- import Data.Monoid (class Monoid )
10
+ import Data.Monoid (class Monoid , mempty )
11
11
import Data.Newtype (class Newtype )
12
12
import Data.Ord (class Ord1 )
13
13
@@ -56,3 +56,13 @@ instance semigroupFirst :: Semigroup (First a) where
56
56
57
57
instance monoidFirst :: Monoid (First a ) where
58
58
mempty = First Nothing
59
+
60
+ instance altFirst :: Alt First where
61
+ alt = append
62
+
63
+ instance plusFirst :: Plus First where
64
+ empty = mempty
65
+
66
+ instance alternativeFirst :: Alternative First
67
+
68
+ instance monadZeroFirst :: MonadZero First
Original file line number Diff line number Diff line change @@ -3,11 +3,11 @@ module Data.Maybe.Last where
3
3
import Prelude
4
4
5
5
import Control.Extend (class Extend )
6
-
6
+ import Control.MonadZero ( class MonadZero , class Alternative , class Plus , class Alt )
7
7
import Data.Eq (class Eq1 )
8
8
import Data.Functor.Invariant (class Invariant )
9
9
import Data.Maybe (Maybe (..))
10
- import Data.Monoid (class Monoid )
10
+ import Data.Monoid (class Monoid , mempty )
11
11
import Data.Newtype (class Newtype )
12
12
import Data.Ord (class Ord1 )
13
13
@@ -56,3 +56,13 @@ instance semigroupLast :: Semigroup (Last a) where
56
56
57
57
instance monoidLast :: Monoid (Last a ) where
58
58
mempty = Last Nothing
59
+
60
+ instance altLast :: Alt Last where
61
+ alt = append
62
+
63
+ instance plusLast :: Plus Last where
64
+ empty = mempty
65
+
66
+ instance alternativeLast :: Alternative Last
67
+
68
+ instance monadZeroLast :: MonadZero Last
You can’t perform that action at this time.
0 commit comments