diff options
Diffstat (limited to 'src/Hakyll/Core/Util/Arrow.hs')
-rw-r--r-- | src/Hakyll/Core/Util/Arrow.hs | 40 |
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 () |