]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/MIMEType/TH.hs
Merge branch 'parsable'
[Lucu.git] / Network / HTTP / Lucu / MIMEType / TH.hs
diff --git a/Network/HTTP/Lucu/MIMEType/TH.hs b/Network/HTTP/Lucu/MIMEType/TH.hs
deleted file mode 100644 (file)
index 9e16efc..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-{-# LANGUAGE
-    UnicodeSyntax
-  , ViewPatterns
-  #-}
--- |A module to provide 'QuasiQuoter' for 'MIMEType' literals.
-module Network.HTTP.Lucu.MIMEType.TH
-    ( mimeType
-    )
-    where
-import Control.Monad.Unicode
-import Data.Ascii (Ascii)
-import Data.Attempt
-import Data.Convertible.Base
-import Language.Haskell.TH.Syntax
-import Language.Haskell.TH.Quote
-import Network.HTTP.Lucu.MIMEType hiding (mimeType)
-import Network.HTTP.Lucu.Utils
-import Prelude.Unicode
-
--- |'QuasiQuoter' for 'MIMEType' literals.
---
--- @
---   textPlain :: 'MIMEType'
---   textPlain = ['mimeType'| text/plain; charset=\"UTF-8\" |]
--- @
-mimeType ∷ QuasiQuoter
-mimeType = QuasiQuoter {
-             quoteExp  = (lift =≪) ∘ (parse =≪) ∘ toAscii
-           , quotePat  = const unsupported
-           , quoteType = const unsupported
-           , quoteDec  = const unsupported
-           }
-    where
-      parse ∷ Monad m ⇒ Ascii → m MIMEType
-      parse a
-          = case ca a of
-              Success t → return t
-              Failure e → fail (show e)
-
-      toAscii ∷ Monad m ⇒ String → m Ascii
-      toAscii (trim → s)
-          = case ca s of
-              Success a → return a
-              Failure e → fail (show e)
-
-      unsupported ∷ Monad m ⇒ m α
-      unsupported = fail "Unsupported usage of mimeType quasi-quoter."