@@ -9,7 +9,9 @@ module Hakyll.Core.Compiler
9 , getResourceString
9 , getResourceString
10 , fromDependency
10 , fromDependency
12 , requireAll
13 , requireAll
14 , unsafeCompiler
16 , unsafeCompiler
@@ -108,6 +110,14 @@ require identifier f =
108 y <- getDependency identifier
110 y <- getDependency identifier
109 return $ f x y
111 return $ f x y
113+-- | Arrow-based variant of 'require'
115+requireA :: (Binary a, Typeable a, Writable a)
117+ -> Compiler (b, a) c
119+requireA identifier = (require identifier (,) >>>)
111-- | Require a number of targets. Using this function ensures automatic handling
121-- | Require a number of targets. Using this function ensures automatic handling
112-- of dependencies
122-- of dependencies
@@ -124,6 +134,14 @@ requireAll pattern f =
124 items <- mapM (unCompilerM . getDependency) deps
134 items <- mapM (unCompilerM . getDependency) deps
125 return $ f x items
135 return $ f x items
137+-- | Arrow-based variant of 'require'
139+requireAllA :: (Binary a, Typeable a, Writable a)
141+ -> Compiler (b, [a]) c
143+requireAllA pattern = (requireAll pattern (,) >>>)
127cached :: (Binary a, Typeable a, Writable a)
145cached :: (Binary a, Typeable a, Writable a)
128 => String
146 => String
129 -> Compiler () a
147 -> Compiler () a