diff options
Diffstat (limited to 'src/Hakyll/Core/Writable/WritableTuple.hs')
-rw-r--r-- | src/Hakyll/Core/Writable/WritableTuple.hs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/Hakyll/Core/Writable/WritableTuple.hs b/src/Hakyll/Core/Writable/WritableTuple.hs deleted file mode 100644 index 741d2c7..0000000 --- a/src/Hakyll/Core/Writable/WritableTuple.hs +++ /dev/null @@ -1,37 +0,0 @@ --- | This module exposes a writable type 'WritableTuple' which is a simple --- newtype wrapper around a tuple. --- --- The idea is that, given a tuple @(a, b)@, @a@ is the value you actually want --- to save to the disk, and @b@ is some additional info that you /don't/ want to --- save, but that you need later, for example in a 'require' clause. --- -{-# LANGUAGE GeneralizedNewtypeDeriving, DeriveDataTypeable #-} -module Hakyll.Core.Writable.WritableTuple - ( WritableTuple (..) - , writableTupleFst - , writableTupleSnd - , writableTupleCompiler - ) where - -import Control.Arrow (arr) - -import Data.Typeable (Typeable) -import Data.Binary (Binary) - -import Hakyll.Core.Writable -import Hakyll.Core.Compiler - -newtype WritableTuple a b = WritableTuple {unWritableTuple :: (a, b)} - deriving (Show, Eq, Ord, Binary, Typeable) - -instance Writable a => Writable (WritableTuple a b) where - write dst (WritableTuple (x, _)) = write dst x - -writableTupleFst :: WritableTuple a b -> a -writableTupleFst = fst . unWritableTuple - -writableTupleSnd :: WritableTuple a b -> b -writableTupleSnd = snd . unWritableTuple - -writableTupleCompiler :: Compiler (a, b) (WritableTuple a b) -writableTupleCompiler = arr WritableTuple |