summaryrefslogtreecommitdiff
path: root/src/Hakyll/Core/Util/Arrow.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hakyll/Core/Util/Arrow.hs')
-rw-r--r--src/Hakyll/Core/Util/Arrow.hs40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/Hakyll/Core/Util/Arrow.hs b/src/Hakyll/Core/Util/Arrow.hs
deleted file mode 100644
index 96a5e09..0000000
--- a/src/Hakyll/Core/Util/Arrow.hs
+++ /dev/null
@@ -1,40 +0,0 @@
---------------------------------------------------------------------------------
--- | Various arrow utility functions
-module Hakyll.Core.Util.Arrow
- ( ArrowMap (..)
- , constA
- , sequenceA
- , unitA
- ) where
-
-
---------------------------------------------------------------------------------
-import Control.Arrow (Arrow, ArrowChoice, arr, (&&&), (>>^))
-
-
---------------------------------------------------------------------------------
--- | Additional arrow typeclass for performance reasons.
-class ArrowChoice a => ArrowMap a where
- mapA :: a b c -> a [b] [c]
-
-
---------------------------------------------------------------------------------
-instance ArrowMap (->) where
- mapA = map
-
-
---------------------------------------------------------------------------------
-constA :: Arrow a => c -> a b c
-constA = arr . const
-
-
---------------------------------------------------------------------------------
-sequenceA :: Arrow a => [a b c] -> a b [c]
-sequenceA = foldr reduce $ constA []
- where
- reduce xa la = xa &&& la >>^ arr (uncurry (:))
-
-
---------------------------------------------------------------------------------
-unitA :: Arrow a => a b ()
-unitA = constA ()