From af4b360afc093c7594180d026c6e7737c74d634a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= <mordae@anilinux.org>
Date: Sat, 21 Sep 2019 11:42:07 +0200
Subject: [PATCH] Drop the Web. module prefix
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Jan Hamal Dvořák <mordae@anilinux.org>
---
 examples/Simple.hs               |  2 +-
 hikaru.cabal                     | 22 +++++++++----------
 lib/Hikaru.hs                    | 36 ++++++++++++++++++++++++++++++++
 lib/{Web => }/Hikaru/Action.hs   | 10 ++++-----
 lib/{Web => }/Hikaru/Dispatch.hs | 10 ++++-----
 lib/{Web => }/Hikaru/Form.hs     |  8 +++----
 lib/{Web => }/Hikaru/Link.hs     |  6 +++---
 lib/{Web => }/Hikaru/Localize.hs | 14 ++++++-------
 lib/{Web => }/Hikaru/Media.hs    |  4 ++--
 lib/{Web => }/Hikaru/Route.hs    |  8 +++----
 lib/{Web => }/Hikaru/Types.hs    |  6 +++---
 lib/Web/Hikaru.hs                | 36 --------------------------------
 package.yaml                     | 19 +++++++++--------
 13 files changed, 91 insertions(+), 90 deletions(-)
 create mode 100644 lib/Hikaru.hs
 rename lib/{Web => }/Hikaru/Action.hs (99%)
 rename lib/{Web => }/Hikaru/Dispatch.hs (97%)
 rename lib/{Web => }/Hikaru/Form.hs (97%)
 rename lib/{Web => }/Hikaru/Link.hs (96%)
 rename lib/{Web => }/Hikaru/Localize.hs (91%)
 rename lib/{Web => }/Hikaru/Media.hs (98%)
 rename lib/{Web => }/Hikaru/Route.hs (99%)
 rename lib/{Web => }/Hikaru/Types.hs (98%)
 delete mode 100644 lib/Web/Hikaru.hs

diff --git a/examples/Simple.hs b/examples/Simple.hs
index 442b8d9..d018faf 100644
--- a/examples/Simple.hs
+++ b/examples/Simple.hs
@@ -26,7 +26,7 @@ where
   import Network.Wai
   import Network.Wai.Handler.Warp
   import Network.Wai.Middleware.RequestLogger
-  import Web.Hikaru
+  import Hikaru
 
 
   -- Action ------------------------------------------------------------------
diff --git a/hikaru.cabal b/hikaru.cabal
index c97ab5c..ca5fba8 100644
--- a/hikaru.cabal
+++ b/hikaru.cabal
@@ -2,7 +2,7 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 137f697c69bc978fa0edf845d6ab4d71c1759e216cdb95f6b6c3f45c212ad639
+-- hash: ec8f75c55cd1cdb48ba2e77fa77a1586494297b85c9582601ebecf2c5e230fdb
 
 name:           hikaru
 version:        0.1.0.0
@@ -32,20 +32,20 @@ source-repository head
 
 library
   exposed-modules:
-      Web.Hikaru
-      Web.Hikaru.Action
-      Web.Hikaru.Dispatch
-      Web.Hikaru.Form
-      Web.Hikaru.Link
-      Web.Hikaru.Localize
-      Web.Hikaru.Media
-      Web.Hikaru.Route
-      Web.Hikaru.Types
+      Hikaru
+      Hikaru.Action
+      Hikaru.Dispatch
+      Hikaru.Form
+      Hikaru.Link
+      Hikaru.Localize
+      Hikaru.Media
+      Hikaru.Route
+      Hikaru.Types
   other-modules:
       Paths_hikaru
   hs-source-dirs:
       lib
-  default-extensions: BlockArguments DeriveGeneric FlexibleInstances GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses NamedFieldPuns NoImplicitPrelude OverloadedStrings RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving
+  default-extensions: BlockArguments DeriveGeneric FlexibleInstances GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses NamedFieldPuns NoImplicitPrelude OverloadedStrings RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving DataKinds
   ghc-options: -Wall -Wcompat
   build-depends:
       aeson >=1.4 && <1.5
diff --git a/lib/Hikaru.hs b/lib/Hikaru.hs
new file mode 100644
index 0000000..8233e5b
--- /dev/null
+++ b/lib/Hikaru.hs
@@ -0,0 +1,36 @@
+{-|
+Module      :  Hikaru
+Copyright   :  Jan Hamal Dvořák
+License     :  AGPL-3
+
+Maintainer  :  mordae@anilinux.org
+Stability   :  unstable
+Portability :  non-portable (ghc)
+
+This module re-exports other modules in the package.
+-}
+
+module Hikaru
+  (
+  -- * Exported Modules
+    module Hikaru.Action
+  , module Hikaru.Dispatch
+  , module Hikaru.Form
+  , module Hikaru.Link
+  , module Hikaru.Localize
+  , module Hikaru.Media
+  , module Hikaru.Route
+  , module Hikaru.Types
+  )
+where
+  import Hikaru.Action
+  import Hikaru.Dispatch
+  import Hikaru.Form
+  import Hikaru.Link
+  import Hikaru.Localize
+  import Hikaru.Media
+  import Hikaru.Route
+  import Hikaru.Types
+
+
+-- vim:set ft=haskell sw=2 ts=2 et:
diff --git a/lib/Web/Hikaru/Action.hs b/lib/Hikaru/Action.hs
similarity index 99%
rename from lib/Web/Hikaru/Action.hs
rename to lib/Hikaru/Action.hs
index a3742a0..fd76370 100644
--- a/lib/Web/Hikaru/Action.hs
+++ b/lib/Hikaru/Action.hs
@@ -1,5 +1,5 @@
 {-|
-Module      :  Web.Hikaru.Action
+Module      :  Hikaru.Action
 Copyright   :  Jan Hamal Dvořák
 License     :  AGPL-3
 
@@ -11,7 +11,7 @@ This module provides a monad for reacting to user requests by
 building responses.
 -}
 
-module Web.Hikaru.Action
+module Hikaru.Action
   ( MonadAction(..)
 
   -- ** Inspecting Request
@@ -116,8 +116,8 @@ where
   import Network.Wai.Internal (getRequestBodyChunk)
   import Network.Wai.Parse
   import Web.Cookie
-  import Web.Hikaru.Media
-  import Web.Hikaru.Types
+  import Hikaru.Media
+  import Hikaru.Types
 
 
   -- |
@@ -1007,7 +1007,7 @@ where
   -- when localizing the result of the action.
   --
   -- Languages must be set using the 'setLanguages' function or through
-  -- the localization tools found in the "Web.Hikaru.Locale" module.
+  -- the localization tools found in the "Hikaru.Locale" module.
   --
   getLanguages :: (MonadAction m) => m [Text]
   getLanguages = getActionField aeLanguages
diff --git a/lib/Web/Hikaru/Dispatch.hs b/lib/Hikaru/Dispatch.hs
similarity index 97%
rename from lib/Web/Hikaru/Dispatch.hs
rename to lib/Hikaru/Dispatch.hs
index 06e1874..f749b55 100644
--- a/lib/Web/Hikaru/Dispatch.hs
+++ b/lib/Hikaru/Dispatch.hs
@@ -1,5 +1,5 @@
 {-|
-Module      :  Web.Hikaru.Dispatch
+Module      :  Hikaru.Dispatch
 Copyright   :  Jan Hamal Dvořák
 License     :  AGPL-3
 
@@ -10,7 +10,7 @@ Portability :  non-portable (ghc)
 This module provides monad-based request dispatching.
 -}
 
-module Web.Hikaru.Dispatch
+module Hikaru.Dispatch
   ( dispatch
 
   -- ** Routes
@@ -41,8 +41,8 @@ where
   import Data.Text (Text)
   import Network.HTTP.Types.Header
   import Network.Wai
-  import Web.Hikaru.Route
-  import Web.Hikaru.Types
+  import Hikaru.Route
+  import Hikaru.Types
 
 
   -- |
@@ -199,7 +199,7 @@ where
   -- @
   -- app :: Application
   -- app = 'dispatch' runAction $ do
-  --   'wrapRoutes' ('Web.Hikaru.Action.defaultHeader' hCacheControl "no-cache" >>)
+  --   'wrapRoutes' ('Hikaru.Action.defaultHeader' hCacheControl "no-cache" >>)
   --
   --   'route' $ getRootR  \<$ 'get'
   --   'route' $ getHelloR \<$ 'get' <* 'seg' "hello" \<*\> 'arg'
diff --git a/lib/Web/Hikaru/Form.hs b/lib/Hikaru/Form.hs
similarity index 97%
rename from lib/Web/Hikaru/Form.hs
rename to lib/Hikaru/Form.hs
index 75144e1..1ffddb2 100644
--- a/lib/Web/Hikaru/Form.hs
+++ b/lib/Hikaru/Form.hs
@@ -1,5 +1,5 @@
 {-|
-Module      :  Web.Hikaru.Form
+Module      :  Hikaru.Form
 Copyright   :  Jan Hamal Dvořák
 License     :  AGPL-3
 
@@ -10,7 +10,7 @@ Portability :  non-portable (ghc)
 This module provides tools to simplify form building and parsing.
 -}
 
-module Web.Hikaru.Form
+module Hikaru.Form
   ( Form
   , FormHandler
   , handleForm
@@ -28,8 +28,8 @@ where
   import Data.ByteString.Builder (toLazyByteString)
   import Data.Text (Text)
   import Lucid
-  import Web.Hikaru.Action
-  import Web.Hikaru.Types
+  import Hikaru.Action
+  import Hikaru.Types
 
 
   -- |
diff --git a/lib/Web/Hikaru/Link.hs b/lib/Hikaru/Link.hs
similarity index 96%
rename from lib/Web/Hikaru/Link.hs
rename to lib/Hikaru/Link.hs
index 28ffd5b..d0ff46e 100644
--- a/lib/Web/Hikaru/Link.hs
+++ b/lib/Hikaru/Link.hs
@@ -1,5 +1,5 @@
 {-|
-Module      :  Web.Hikaru.Link
+Module      :  Hikaru.Link
 Copyright   :  Jan Hamal Dvořák
 License     :  AGPL-3
 
@@ -10,7 +10,7 @@ Portability :  non-portable (ghc)
 This module provides various ways to build local links.
 -}
 
-module Web.Hikaru.Link
+module Hikaru.Link
   ( makeLink
   , deriveLink
 
@@ -28,7 +28,7 @@ where
   import Data.Text (Text)
   import Lucid
   import Network.HTTP.Types.URI
-  import Web.Hikaru.Action
+  import Hikaru.Action
 
 
   -- |
diff --git a/lib/Web/Hikaru/Localize.hs b/lib/Hikaru/Localize.hs
similarity index 91%
rename from lib/Web/Hikaru/Localize.hs
rename to lib/Hikaru/Localize.hs
index 033d46a..1697f5d 100644
--- a/lib/Web/Hikaru/Localize.hs
+++ b/lib/Hikaru/Localize.hs
@@ -1,5 +1,5 @@
 {-|
-Module      :  Web.Hikaru.Localize
+Module      :  Hikaru.Localize
 Copyright   :  Jan Hamal Dvořák
 License     :  AGPL-3
 
@@ -39,10 +39,10 @@ instance Localized SampleMessages where
 Next, create a preferred language list for every action:
 
 @
-'Web.Hikaru.Dispatch.dispatch' runAction $ do
-  'Web.Hikaru.Dispatch.wrapActions' ('selectLanguages' \"lang\" \"lang\" >>)
+'Hikaru.Dispatch.dispatch' runAction $ do
+  'Hikaru.Dispatch.wrapActions' ('selectLanguages' \"lang\" \"lang\" >>)
 
-  'Web.Hikaru.Dispatch.route' ...
+  'Hikaru.Dispatch.route' ...
 @
 
 Finally, you can use your catalog when rendering pages:
@@ -57,7 +57,7 @@ getSampleR flag = do
 @
 -}
 
-module Web.Hikaru.Localize
+module Hikaru.Localize
   ( Locale
   , Localized(..)
   , lc_
@@ -69,8 +69,8 @@ where
   import Data.String.Conversions
   import Data.Text (Text)
   import Lucid
-  import Web.Hikaru.Action
-  import Web.Hikaru.Media
+  import Hikaru.Action
+  import Hikaru.Media
 
 
   -- |
diff --git a/lib/Web/Hikaru/Media.hs b/lib/Hikaru/Media.hs
similarity index 98%
rename from lib/Web/Hikaru/Media.hs
rename to lib/Hikaru/Media.hs
index 543cae2..b143df1 100644
--- a/lib/Web/Hikaru/Media.hs
+++ b/lib/Hikaru/Media.hs
@@ -1,5 +1,5 @@
 {-|
-Module      :  Web.Hikaru.Media
+Module      :  Hikaru.Media
 Copyright   :  Jan Hamal Dvořák
 License     :  AGPL-3
 
@@ -12,7 +12,7 @@ in the headers such as @Accept@, @Accept-Charset@, @Accept-Encoding@ and
 @Accept-Language@.
 -}
 
-module Web.Hikaru.Media
+module Hikaru.Media
   ( Media(..)
 
     -- * Parsing
diff --git a/lib/Web/Hikaru/Route.hs b/lib/Hikaru/Route.hs
similarity index 99%
rename from lib/Web/Hikaru/Route.hs
rename to lib/Hikaru/Route.hs
index 7055214..a2c2a5a 100644
--- a/lib/Web/Hikaru/Route.hs
+++ b/lib/Hikaru/Route.hs
@@ -1,5 +1,5 @@
 {-|
-Module      :  Web.Hikaru.Route
+Module      :  Hikaru.Route
 Copyright   :  Jan Hamal Dvořák
 License     :  AGPL-3
 
@@ -11,7 +11,7 @@ This module provides path matching with parameter extraction
 as well as content negotiation through path quality scoring.
 -}
 
-module Web.Hikaru.Route
+module Hikaru.Route
   (
   -- * Route Selection
     selectRoute
@@ -63,8 +63,8 @@ where
   import Network.HTTP.Types.Header
   import Network.HTTP.Types.Method (Method)
   import Network.Wai
-  import Web.Hikaru.Media
-  import Web.Hikaru.Types
+  import Hikaru.Media
+  import Hikaru.Types
 
 
   -- |
diff --git a/lib/Web/Hikaru/Types.hs b/lib/Hikaru/Types.hs
similarity index 98%
rename from lib/Web/Hikaru/Types.hs
rename to lib/Hikaru/Types.hs
index afc22ab..5169d2b 100644
--- a/lib/Web/Hikaru/Types.hs
+++ b/lib/Hikaru/Types.hs
@@ -1,5 +1,5 @@
 {-|
-Module      :  Web.Hikaru.Types
+Module      :  Hikaru.Types
 Copyright   :  Jan Hamal Dvořák
 License     :  AGPL-3
 
@@ -10,7 +10,7 @@ Portability :  non-portable (ghc)
 This module provides types common for multiple other modules.
 -}
 
-module Web.Hikaru.Types
+module Hikaru.Types
   ( FromParam(..)
   , ToParam(..)
   , RequestError(..)
@@ -182,7 +182,7 @@ where
 
 
   -- |
-  -- Errors used both by "Web.Hikaru.Action" and "Web.Hikaru.Route"
+  -- Errors used both by "Hikaru.Action" and "Hikaru.Route"
   -- to report problems with the requests sent by the user.
   --
   -- Order by the severity from the least to the most severe.
diff --git a/lib/Web/Hikaru.hs b/lib/Web/Hikaru.hs
deleted file mode 100644
index b3fc118..0000000
--- a/lib/Web/Hikaru.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-{-|
-Module      :  Web.Hikaru
-Copyright   :  Jan Hamal Dvořák
-License     :  AGPL-3
-
-Maintainer  :  mordae@anilinux.org
-Stability   :  unstable
-Portability :  non-portable (ghc)
-
-This module re-exports other modules in the package.
--}
-
-module Web.Hikaru
-  (
-  -- * Exported Modules
-    module Web.Hikaru.Action
-  , module Web.Hikaru.Dispatch
-  , module Web.Hikaru.Form
-  , module Web.Hikaru.Link
-  , module Web.Hikaru.Localize
-  , module Web.Hikaru.Media
-  , module Web.Hikaru.Route
-  , module Web.Hikaru.Types
-  )
-where
-  import Web.Hikaru.Action
-  import Web.Hikaru.Dispatch
-  import Web.Hikaru.Form
-  import Web.Hikaru.Link
-  import Web.Hikaru.Localize
-  import Web.Hikaru.Media
-  import Web.Hikaru.Route
-  import Web.Hikaru.Types
-
-
--- vim:set ft=haskell sw=2 ts=2 et:
diff --git a/package.yaml b/package.yaml
index 986c163..e4e6ef6 100644
--- a/package.yaml
+++ b/package.yaml
@@ -36,6 +36,7 @@ default-extensions:
   - RecordWildCards
   - ScopedTypeVariables
   - StandaloneDeriving
+  - DataKinds
 
 dependencies:
   - aeson              >= 1.4  && <1.5
@@ -61,14 +62,14 @@ library:
   dependencies: []
 
   exposed-modules:
-    - Web.Hikaru
-    - Web.Hikaru.Action
-    - Web.Hikaru.Dispatch
-    - Web.Hikaru.Form
-    - Web.Hikaru.Link
-    - Web.Hikaru.Localize
-    - Web.Hikaru.Media
-    - Web.Hikaru.Route
-    - Web.Hikaru.Types
+    - Hikaru
+    - Hikaru.Action
+    - Hikaru.Dispatch
+    - Hikaru.Form
+    - Hikaru.Link
+    - Hikaru.Localize
+    - Hikaru.Media
+    - Hikaru.Route
+    - Hikaru.Types
 
 # EOF
-- 
GitLab