diff --git a/README.md b/README.md index da9658f3..839c65d6 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ ### Type Class Instances + instance altArray :: Alt Prim.Array + instance alternativeArray :: Alternative Prim.Array instance applicativeArray :: Applicative Prim.Array @@ -16,6 +18,10 @@ instance monadArray :: Monad Prim.Array + instance monadPlusArray :: MonadPlus Prim.Array + + instance plusArray :: Plus Prim.Array + instance semigroupArray :: Semigroup [a] diff --git a/bower.json b/bower.json index 8288b7e7..2627f84b 100644 --- a/bower.json +++ b/bower.json @@ -18,6 +18,7 @@ "package.json" ], "dependencies": { - "purescript-maybe": "*" + "purescript-maybe": "~0.2.0", + "purescript-control": "~0.2.0" } } diff --git a/src/Data/Array.purs b/src/Data/Array.purs index e840460f..e821bb9b 100644 --- a/src/Data/Array.purs +++ b/src/Data/Array.purs @@ -42,6 +42,10 @@ module Data.Array , span ) where +import Control.Alt +import Control.Plus +import Control.Alternative +import Control.MonadPlus import Data.Maybe import Prelude.Unsafe (unsafeIndex) @@ -363,6 +367,12 @@ instance monadArray :: Monad [] instance semigroupArray :: Semigroup [a] where (<>) = append -instance alternativeArray :: Alternative [] where - empty = [] +instance altArray :: Alt [] where (<|>) = append + +instance plusArray :: Plus [] where + empty = [] + +instance alternativeArray :: Alternative [] + +instance monadPlusArray :: MonadPlus []