summaryrefslogtreecommitdiff
path: root/Utility/Applicative.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Utility/Applicative.hs')
-rw-r--r--Utility/Applicative.hs16
1 files changed, 16 insertions, 0 deletions
diff --git a/Utility/Applicative.hs b/Utility/Applicative.hs
new file mode 100644
index 0000000..64400c8
--- /dev/null
+++ b/Utility/Applicative.hs
@@ -0,0 +1,16 @@
+{- applicative stuff
+ -
+ - Copyright 2012 Joey Hess <joey@kitenet.net>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+module Utility.Applicative where
+
+{- Like <$> , but supports one level of currying.
+ -
+ - foo v = bar <$> action v == foo = bar <$$> action
+ -}
+(<$$>) :: Functor f => (a -> b) -> (c -> f a) -> c -> f b
+f <$$> v = fmap f . v
+infixr 4 <$$>