New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blacklist 2.7.0.0 and release as 2.6.2.0 #48
Comments
I did small review of the changes, and one can easily extend support of newly added features: (I'll make a PR soon) From 122933934921f8fa73a023cced389ebff514eaf6 Mon Sep 17 00:00:00 2001
From: Oleg Grenrus <oleg.grenrus@iki.fi>
Date: Fri, 31 Jan 2020 17:41:06 +0200
Subject: [PATCH] Widen support for new features
- Generics since GHC-7.2
- TH (Static) on TH, except TExpQ functions only when TExpQ is supported.
---
Network/URI.hs | 31 ++++++---------------------
Network/URI/Static.hs | 50 +++++++++++++++++++++++++++++++++++--------
network-uri.cabal | 7 +++---
3 files changed, 51 insertions(+), 37 deletions(-)
diff --git a/Network/URI.hs b/Network/URI.hs
index e8c32b0..3117c62 100644
--- a/Network/URI.hsFrom: Oleg Grenrus <oleg.grenrus@iki.fi>
Date: Fri, 31 Jan 2020 17:41:06 +0200
Subject: [PATCH] Widen support for new features
- Generics since GHC-7.2
- TH (Static) on TH, except TExpQ functions only when TExpQ is supported.
---
Network/URI.hs | 31 ++++++---------------------
Network/URI/Static.hs | 50 +++++++++++++++++++++++++++++++++++--------
network-uri.cabal | 7 +++---
3 files changed, 51 insertions(+), 37 deletions(-)
diff --git a/Network/URI.hs b/Network/URI.hs
index e8c32b0..3117c62 100644
--- a/Network/URI.hs
+++ b/Network/URI.hs
@@ -1,5 +1,7 @@
{-# LANGUAGE RecordWildCards, CPP #-}
-#if __GLASGOW_HASKELL__ >= 800
+#if __GLASGOW_HASKELL__ < 800
+{-# LANGUAGE TemplateHaskell #-}
+#else
{-# LANGUAGE TemplateHaskellQuotes #-}
#endif
--------------------------------------------------------------------------------
@@ -140,15 +142,7 @@ import Data.Bits ((.|.),(.&.),shiftL,shiftR)
import Data.List (unfoldr, isPrefixOf, isSuffixOf)
import Numeric (showIntAtBase)
-#if __GLASGOW_HASKELL__ >= 800
-#ifndef MIN_VERSION_network_uri_static
-import Language.Haskell.TH.Syntax (Lift(..))
-#else
-#if MIN_VERSION_network_uri_static(0,1,2)
import Language.Haskell.TH.Syntax (Lift(..))
-#endif
-#endif
-#endif
#if !MIN_VERSION_base(4,8,0)
import Data.Traversable (sequenceA)
@@ -161,9 +155,8 @@ import Data.Data (Data)
import Data.Generics (Data)
#endif
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
import GHC.Generics (Generic)From: Oleg Grenrus <oleg.grenrus@iki.fi>
Date: Fri, 31 Jan 2020 17:41:06 +0200
Subject: [PATCH] Widen support for new features
- Generics since GHC-7.2
- TH (Static) on TH, except TExpQ functions only when TExpQ is supported.
---
Network/URI.hs | 31 ++++++---------------------
Network/URI/Static.hs | 50 +++++++++++++++++++++++++++++++++++--------
network-uri.cabal | 7 +++---
3 files changed, 51 insertions(+), 37 deletions(-)
diff --git a/Network/URI.hs b/Network/URI.hs
index e8c32b0..3117c62 100644
--- a/Network/URI.hs
+++ b/Network/URI.hs
@@ -1,5 +1,7 @@
{-# LANGUAGE RecordWildCards, CPP #-}
-#if __GLASGOW_HASKELL__ >= 800
+#if __GLASGOW_HASKELL__ < 800
+{-# LANGUAGE TemplateHaskell #-}
+#else
{-# LANGUAGE TemplateHaskellQuotes #-}
#endif
--------------------------------------------------------------------------------
@@ -140,15 +142,7 @@ import Data.Bits ((.|.),(.&.),shiftL,shiftR)
import Data.List (unfoldr, isPrefixOf, isSuffixOf)
import Numeric (showIntAtBase)
-#if __GLASGOW_HASKELL__ >= 800
-#ifndef MIN_VERSION_network_uri_static
-import Language.Haskell.TH.Syntax (Lift(..))
-#else
-#if MIN_VERSION_network_uri_static(0,1,2)
import Language.Haskell.TH.Syntax (Lift(..))
-#endif
-#endif
-#endif
#if !MIN_VERSION_base(4,8,0)
import Data.Traversable (sequenceA)
@@ -161,9 +155,8 @@ import Data.Data (Data)
import Data.Generics (Data)
#endif
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
import GHC.Generics (Generic)
-#else
#endif
------------------------------------------------------------
@@ -185,7 +178,7 @@ data URI = URI
, uriPath :: String -- ^ @\/ghc@
, uriQuery :: String -- ^ @?query@
, uriFragment :: String -- ^ @#frag@
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
} deriving (Eq, Ord, Typeable, Data, Generic)
#else
} deriving (Eq, Ord, Typeable, Data)
@@ -234,7 +227,7 @@ data URIAuth = URIAuth
{ uriUserInfo :: String -- ^ @anonymous\@@
, uriRegName :: String -- ^ @www.haskell.org@
, uriPort :: String -- ^ @:42@
-#if MIN_VERSION_base(4,6,0)
-#else
#endif
------------------------------------------------------------
@@ -185,7 +178,7 @@ data URI = URI
, uriPath :: String -- ^ @\/ghc@
, uriQuery :: String -- ^ @?query@
, uriFragment :: String -- ^ @#frag@
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
} deriving (Eq, Ord, Typeable, Data, Generic)
#else
} deriving (Eq, Ord, Typeable, Data)
@@ -234,7 +227,7 @@ data URIAuth = URIAuth
{ uriUserInfo :: String -- ^ @anonymous\@@
, uriRegName :: String -- ^ @www.haskell.org@
, uriPort :: String -- ^ @:42@
-#if MIN_VERSION_base(4,6,0)
+++ b/Network/URI.hs
@@ -1,5 +1,7 @@
{-# LANGUAGE RecordWildCards, CPP #-}
-#if __GLASGOW_HASKELL__ >= 800From: Oleg Grenrus <oleg.grenrus@iki.fi>
Date: Fri, 31 Jan 2020 17:41:06 +0200
Subject: [PATCH] Widen support for new features
- Generics since GHC-7.2
- TH (Static) on TH, except TExpQ functions only when TExpQ is supported.
---
Network/URI.hs | 31 ++++++---------------------
Network/URI/Static.hs | 50 +++++++++++++++++++++++++++++++++++--------
network-uri.cabal | 7 +++---
3 files changed, 51 insertions(+), 37 deletions(-)
diff --git a/Network/URI.hs b/Network/URI.hs
index e8c32b0..3117c62 100644
--- a/Network/URI.hs
+++ b/Network/URI.hs
@@ -1,5 +1,7 @@
{-# LANGUAGE RecordWildCards, CPP #-}
-#if __GLASGOW_HASKELL__ >= 800
+#if __GLASGOW_HASKELL__ < 800
+{-# LANGUAGE TemplateHaskell #-}
+#else
{-# LANGUAGE TemplateHaskellQuotes #-}
#endif
--------------------------------------------------------------------------------
@@ -140,15 +142,7 @@ import Data.Bits ((.|.),(.&.),shiftL,shiftR)
import Data.List (unfoldr, isPrefixOf, isSuffixOf)
import Numeric (showIntAtBase)
-#if __GLASGOW_HASKELL__ >= 800
-#ifndef MIN_VERSION_network_uri_static
-import Language.Haskell.TH.Syntax (Lift(..))
-#else
-#if MIN_VERSION_network_uri_static(0,1,2)
import Language.Haskell.TH.Syntax (Lift(..))
-#endif
-#endif
-#endif
#if !MIN_VERSION_base(4,8,0)
import Data.Traversable (sequenceA)
@@ -161,9 +155,8 @@ import Data.Data (Data)
import Data.Generics (Data)
#endif
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
import GHC.Generics (Generic)
-#elseFrom: Oleg Grenrus <oleg.grenrus@iki.fi>
Date: Fri, 31 Jan 2020 17:41:06 +0200
Subject: [PATCH] Widen support for new features
- Generics since GHC-7.2
- TH (Static) on TH, except TExpQ functions only when TExpQ is supported.
---
Network/URI.hs | 31 ++++++---------------------
Network/URI/Static.hs | 50 +++++++++++++++++++++++++++++++++++--------
network-uri.cabal | 7 +++---
3 files changed, 51 insertions(+), 37 deletions(-)
diff --git a/Network/URI.hs b/Network/URI.hs
index e8c32b0..3117c62 100644
--- a/Network/URI.hs
+++ b/Network/URI.hs
@@ -1,5 +1,7 @@
{-# LANGUAGE RecordWildCards, CPP #-}
-#if __GLASGOW_HASKELL__ >= 800
+#if __GLASGOW_HASKELL__ < 800
+{-# LANGUAGE TemplateHaskell #-}
+#else
{-# LANGUAGE TemplateHaskellQuotes #-}
#endif
--------------------------------------------------------------------------------
@@ -140,15 +142,7 @@ import Data.Bits ((.|.),(.&.),shiftL,shiftR)
import Data.List (unfoldr, isPrefixOf, isSuffixOf)
import Numeric (showIntAtBase)
-#if __GLASGOW_HASKELL__ >= 800
-#ifndef MIN_VERSION_network_uri_static
-import Language.Haskell.TH.Syntax (Lift(..))
-#else
-#if MIN_VERSION_network_uri_static(0,1,2)
import Language.Haskell.TH.Syntax (Lift(..))
-#endif
-#endif
-#endif
#if !MIN_VERSION_base(4,8,0)
import Data.Traversable (sequenceA)
@@ -161,9 +155,8 @@ import Data.Data (Data)
import Data.Generics (Data)
#endif
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
import GHC.Generics (Generic)
-#else
#endif
------------------------------------------------------------
@@ -185,7 +178,7 @@ data URI = URI
, uriPath :: String -- ^ @\/ghc@
, uriQuery :: String -- ^ @?query@
, uriFragment :: String -- ^ @#frag@
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
} deriving (Eq, Ord, Typeable, Data, Generic)
#else
} deriving (Eq, Ord, Typeable, Data)
@@ -234,7 +227,7 @@ data URIAuth = URIAuth
{ uriUserInfo :: String -- ^ @anonymous\@@
, uriRegName :: String -- ^ @www.haskell.org@
, uriPort :: String -- ^ @:42@
-#if MIN_VERSION_base(4,6,0)
#endif
------------------------------------------------------------
@@ -185,7 +178,7 @@ data URI = URI
, uriPath :: String -- ^ @\/ghc@
, uriQuery :: String -- ^ @?query@
, uriFragment :: String -- ^ @#frag@
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
} deriving (Eq, Ord, Typeable, Data, Generic)
#else
} deriving (Eq, Ord, Typeable, Data)
@@ -234,7 +227,7 @@ data URIAuth = URIAuth
{ uriUserInfo :: String -- ^ @anonymous\@@
, uriRegName :: String -- ^ @www.haskell.org@
, uriPort :: String -- ^ @:42@
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ < 800
+{-# LANGUAGE TemplateHaskell #-}
+#else
{-# LANGUAGE TemplateHaskellQuotes #-}
#endif
--------------------------------------------------------------------------------
@@ -140,15 +142,7 @@ import Data.Bits ((.|.),(.&.),shiftL,shiftR)
import Data.List (unfoldr, isPrefixOf, isSuffixOf)
import Numeric (showIntAtBase)
-#if __GLASGOW_HASKELL__ >= 800
-#ifndef MIN_VERSION_network_uri_static
-import Language.Haskell.TH.Syntax (Lift(..))
-#else
-#if MIN_VERSION_network_uri_static(0,1,2)
import Language.Haskell.TH.Syntax (Lift(..))
-#endif
-#endif
-#endif
#if !MIN_VERSION_base(4,8,0)
import Data.Traversable (sequenceA)
@@ -161,9 +155,8 @@ import Data.Data (Data)
import Data.Generics (Data)
#endif
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
import GHC.Generics (Generic)
-#else
#endif
------------------------------------------------------------
@@ -185,7 +178,7 @@ data URI = URI
, uriPath :: String -- ^ @\/ghc@
, uriQuery :: String -- ^ @?query@
, uriFragment :: String -- ^ @#frag@
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
} deriving (Eq, Ord, Typeable, Data, Generic)
#else
} deriving (Eq, Ord, Typeable, Data)
@@ -234,7 +227,7 @@ data URIAuth = URIAuth
{ uriUserInfo :: String -- ^ @anonymous\@@
, uriRegName :: String -- ^ @www.haskell.org@
, uriPort :: String -- ^ @:42@
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
} deriving (Eq, Ord, Show, Typeable, Data, Generic)
#else
} deriving (Eq, Ord, Show, Typeable, Data)
@@ -1377,23 +1370,11 @@ normalizePathSegments uristr = normstr juri
-- Lift instances to support Network.URI.StaticFrom: Oleg Grenrus <oleg.grenrus@iki.fi>
Date: Fri, 31 Jan 2020 17:41:06 +0200
Subject: [PATCH] Widen support for new features
- Generics since GHC-7.2
- TH (Static) on TH, except TExpQ functions only when TExpQ is supported.
---
Network/URI.hs | 31 ++++++---------------------
Network/URI/Static.hs | 50 +++++++++++++++++++++++++++++++++++--------
network-uri.cabal | 7 +++---
3 files changed, 51 insertions(+), 37 deletions(-)
diff --git a/Network/URI.hs b/Network/URI.hs
index e8c32b0..3117c62 100644
--- a/Network/URI.hs
+++ b/Network/URI.hs
@@ -1,5 +1,7 @@
{-# LANGUAGE RecordWildCards, CPP #-}
-#if __GLASGOW_HASKELL__ >= 800
+#if __GLASGOW_HASKELL__ < 800
+{-# LANGUAGE TemplateHaskell #-}
+#else
{-# LANGUAGE TemplateHaskellQuotes #-}
#endif
--------------------------------------------------------------------------------
@@ -140,15 +142,7 @@ import Data.Bits ((.|.),(.&.),shiftL,shiftR)
import Data.List (unfoldr, isPrefixOf, isSuffixOf)
import Numeric (showIntAtBase)
-#if __GLASGOW_HASKELL__ >= 800
-#ifndef MIN_VERSION_network_uri_static
-import Language.Haskell.TH.Syntax (Lift(..))
-#else
-#if MIN_VERSION_network_uri_static(0,1,2)
import Language.Haskell.TH.Syntax (Lift(..))
-#endif
-#endif
-#endif
#if !MIN_VERSION_base(4,8,0)
import Data.Traversable (sequenceA)
@@ -161,9 +155,8 @@ import Data.Data (Data)
import Data.Generics (Data)
#endif
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
import GHC.Generics (Generic)
-#else
#endif
------------------------------------------------------------
@@ -185,7 +178,7 @@ data URI = URI
, uriPath :: String -- ^ @\/ghc@
, uriQuery :: String -- ^ @?query@
, uriFragment :: String -- ^ @#frag@
-#if MIN_VERSION_base(4,6,0)
+#if __GLASGOW_HASKELL__ >= 702
} deriving (Eq, Ord, Typeable, Data, Generic)
#else
} deriving (Eq, Ord, Typeable, Data)
@@ -234,7 +227,7 @@ data URIAuth = URIAuth
{ uriUserInfo :: String -- ^ @anonymous\@@
, uriRegName :: String -- ^ @www.haskell.org@
, uriPort :: String -- ^ @:42@
-#if MIN_VERSION_base(4,6,0)
------------------------------------------------------------
-#if __GLASGOW_HASKELL__ >= 800
-#ifndef MIN_VERSION_network_uri_static
-instance Lift URI where
- lift (URI {..}) = [| URI {..} |]
-
-instance Lift URIAuth where
- lift (URIAuth {..}) = [| URIAuth {..} |]
-#else
-#if MIN_VERSION_network_uri_static(0,1,2)
instance Lift URI where
lift (URI {..}) = [| URI {..} |]
instance Lift URIAuth where
lift (URIAuth {..}) = [| URIAuth {..} |]
-#endif
-#endif
-#endif
------------------------------------------------------------
-- Deprecated functions
diff --git a/Network/URI/Static.hs b/Network/URI/Static.hs
index 25868d7..fa5a845 100644
--- a/Network/URI/Static.hs
+++ b/Network/URI/Static.hs
@@ -1,24 +1,33 @@
#if __GLASGOW_HASKELL__ < 800
-module Network.URI.Static () where
+{-# LANGUAGE RecordWildCards, TemplateHaskell, ViewPatterns #-}
#else
-
{-# LANGUAGE RecordWildCards, TemplateHaskellQuotes, ViewPatterns #-}
-
+#endif
module Network.URI.Static
(
-- * Absolute URIs
uri
+#if __GLASGOW_HASKELL__ >= 708
, staticURI
+#endif
+ , staticURI'
-- * Relative URIs
, relativeReference
+#if __GLASGOW_HASKELL__ >= 708
, staticRelativeReference
+#endif
+ , staticRelativeReference'
) where
-import Language.Haskell.TH (unType)
-import Language.Haskell.TH.Lib (TExpQ)
+import Language.Haskell.TH.Lib (ExpQ)
import Language.Haskell.TH.Quote (QuasiQuoter(..))
import Network.URI (URI(..), parseURI, parseRelativeReference)
+#if __GLASGOW_HASKELL__ >= 708
+import Language.Haskell.TH.Lib (TExpQ)
+import Language.Haskell.TH.Syntax (unTypeQ)
+#endif
+
-- $setup
-- >>> :set -XTemplateHaskell
-- >>> :set -XQuasiQuotes
@@ -27,6 +36,7 @@ import Network.URI (URI(..), parseURI, parseRelativeReference)
-- Absolute URIs
----------------------------------------------------------------------------
+#if __GLASGOW_HASKELL__ >= 708
-- | 'staticURI' parses a specified string at compile time
-- and return an expression representing the URI when it's a valid URI.
-- Otherwise, it emits an error.
@@ -43,6 +53,19 @@ staticURI :: String -- ^ String representation of a URI
-> TExpQ URI -- ^ URI
staticURI (parseURI -> Just u) = [|| u ||]
staticURI s = fail $ "Invalid URI: " ++ s
+#endif
+
+-- | An untyped splice.
+--
+-- 'staticURI' is available only with GHC-7.8+
+staticURI' :: String -- ^ String representation of a URI
+ -> ExpQ -- ^ URI
+#if __GLASGOW_HASKELL__ >= 708
+staticURI' = unTypeQ . staticURI
+#else
+staticURI' (parseURI -> Just u) = [| u |]
+staticURI' s = fail $ "Invalid URI: " ++ s
+#endif
-- | 'uri' is a quasi quoter for 'staticURI'.
--
@@ -56,7 +79,7 @@ staticURI s = fail $ "Invalid URI: " ++ s
-- ...
uri :: QuasiQuoter
uri = QuasiQuoter {
- quoteExp = fmap unType . staticURI,
+ quoteExp = staticURI',
quotePat = undefined,
quoteType = undefined,
quoteDec = undefined
@@ -66,6 +89,7 @@ uri = QuasiQuoter {
-- Relative URIs
----------------------------------------------------------------------------
+#if __GLASGOW_HASKELL__ >= 708
-- | 'staticRelativeReference' parses a specified string at compile time and
-- return an expression representing the URI when it's a valid relative
-- reference. Otherwise, it emits an error.
@@ -82,6 +106,16 @@ staticRelativeReference :: String -- ^ String representation of a reference
-> TExpQ URI -- ^ Refererence
staticRelativeReference (parseRelativeReference -> Just ref) = [|| ref ||]
staticRelativeReference ref = fail $ "Invalid relative reference: " ++ ref
+#endif
+
+staticRelativeReference' :: String -- ^ String representation of a reference
+ -> ExpQ -- ^ Refererence
+#if __GLASGOW_HASKELL__ >= 708
+staticRelativeReference' = unTypeQ . staticRelativeReference
+#else
+staticRelativeReference' (parseRelativeReference -> Just ref) = [| ref |]
+staticRelativeReference' ref = fail $ "Invalid relative reference: " ++ ref
+#endif
-- | 'relativeReference' is a quasi quoter for 'staticRelativeReference'.
--
@@ -95,10 +129,8 @@ staticRelativeReference ref = fail $ "Invalid relative reference: " ++ ref
-- ...
relativeReference :: QuasiQuoter
relativeReference = QuasiQuoter {
- quoteExp = fmap unType . staticRelativeReference,
+ quoteExp = staticRelativeReference',
quotePat = undefined,
quoteType = undefined,
quoteDec = undefined
}
-
-#endif
diff --git a/network-uri.cabal b/network-uri.cabal
index 9487c5f..946f7dc 100644
--- a/network-uri.cabal
+++ b/network-uri.cabal
@@ -56,10 +56,11 @@ library
base >= 3 && < 5,
deepseq >= 1.1 && < 1.5,
parsec >= 3.0 && < 3.2
- if impl(ghc >= 8.0)
- build-depends: template-haskell
+ build-depends: template-haskell
default-extensions: CPP, DeriveDataTypeable
- if impl(ghc >= 7.6)
+ if impl(ghc < 7.6)
+ build-depends: ghc-prim
+ if impl(ghc >= 7.2)
default-extensions: DeriveGeneric
ghc-options: -Wall -fwarn-tabs
default-language: Haskell98
--
2.17.1 Sorry for being very direct, but (EDIT: in fact we can avoid using |
Thanks for catching my mistake, and sorry for the trouble! At this point, should we just re-release it as 2.6.2.0, or are you saying other changes are needed with respect to TemplateHaskell? |
Oh, I didn't perceive that your diff there was a new proposal. I don't think I have time to integrate them and check them today; if you can make a pull request then the Travis build will check them for us. I might be able to merge the request later. |
This is now solved, thanks @ezrakilty |
based on changelog entries
Lens
es for theURI
typesisReserved
and related character-class functionsGeneric
instances for theURI
typenone of these are breaking changes, so the major bump seems to be unnecessary and only causes churn on the Hackage.
All of these additions fall into
The text was updated successfully, but these errors were encountered: