summaryrefslogtreecommitdiff
path: root/src/Hakyll
diff options
context:
space:
mode:
authorChris Wells <chris@mathematicaster.org>2025-02-04 10:26:00 -0600
committerChris Wells <chris@mathematicaster.org>2025-02-04 10:26:00 -0600
commit7085075a90c03025e5d53a256d42e317805b879b (patch)
tree69d2dfe53cf35258818482bec3b2ff52acfdb37d /src/Hakyll
parentceb898747ad287e83fe18f81a955c186b7abac8e (diff)
downloadmain-7085075a90c03025e5d53a256d42e317805b879b.tar
main-7085075a90c03025e5d53a256d42e317805b879b.tar.gz
main-7085075a90c03025e5d53a256d42e317805b879b.tar.bz2
main-7085075a90c03025e5d53a256d42e317805b879b.tar.lz
main-7085075a90c03025e5d53a256d42e317805b879b.tar.xz
main-7085075a90c03025e5d53a256d42e317805b879b.tar.zst
main-7085075a90c03025e5d53a256d42e317805b879b.zip
Working on alias resolution
Diffstat (limited to 'src/Hakyll')
-rw-r--r--src/Hakyll/Alias.hs42
1 files changed, 0 insertions, 42 deletions
diff --git a/src/Hakyll/Alias.hs b/src/Hakyll/Alias.hs
deleted file mode 100644
index b127a05..0000000
--- a/src/Hakyll/Alias.hs
+++ /dev/null
@@ -1,42 +0,0 @@
-module Hakyll.Alias where
-
-import Prolog
-import Data.HashSet qualified as HS
-
-
-newtype Aliased a x = Aliased { unAliased :: Either a x }
- deriving newtype (Binary, Eq, Foldable, Functor, Generic, Generic1, Hashable, Ord, Show, Traversable)
-
-class (Eq a, Hashable a) => ToAliases x a where
- toAliases :: x -> HashSet a
-
-instance Hashable a => ToAliases a a where
- toAliases = HM.singleton
-
-instance (Eq a, Hashable a) => ToAliases (HashSet a) a where
- toAliases = id
-
-instance ToAliases x a => ToAliases [x] a where
- toAliases = foldMap toAliases
-
-
-class FromAlias a x where
- fromAlias :: MonadThrow m => a -> m x
-
-instance FromAlias a a where
- fromAlias = pure
-
-instance (FromAlias a x, FromAlias b x) => FromAlias (Either a b) x where
- fromAlias = either fromAlias fromAlias
-
-instance FromAlias a x => FromAlias (Aliased a x) x where
- fromAlias = fromAlias . unAliased
-
-newtype NoAlias a =NoAlias a
- deriving (Eq, Show)
-
-instance Show a => Exception (NoAlias a) where
- displayException (NoAlias a) = show a <> " is not an alias"
-
-missingAlias :: MonadThrow m => a -> m b
-missingAlias = throwM . NoAlias