on master help sign in
Use TemplateHaskellQuotes with GHC8
125b641Oleg Grenrus
Data/Aeson/TH.hs+9−2
@@ -1,6 +1,13 @@
1{-# LANGUAGE CPP, FlexibleInstances, NamedFieldPuns,
1{-# LANGUAGE CPP, FlexibleInstances, NamedFieldPuns,
2+ NoImplicitPrelude, UndecidableInstances #-}
3+#if __GLASGOW_HASKELL >= 800
4+-- a) THQ works on cross-compilers and unregisterised GHCs
5+-- b) may make compilation faster as no dynamic loading is ever needed (not sure about this)
6+-- c) removes one hindrance to have code inferred as SafeHaskell safe
7+{-# LANGUAGE TemplateHaskellQuotes #-}
8+#else
2− NoImplicitPrelude, TemplateHaskell,
9+{-# LANGUAGE TemplateHaskell #-}
3− UndecidableInstances #-}
10+#endif
4
11
5#include "overlapping-compat.h"
12#include "overlapping-compat.h"
6
13
Data/Aeson/Types/Internal.hs+9−1
@@ -1,5 +1,13 @@
1{-# LANGUAGE CPP, DeriveDataTypeable, GeneralizedNewtypeDeriving, Rank2Types,
1{-# LANGUAGE CPP, DeriveDataTypeable, GeneralizedNewtypeDeriving, Rank2Types,
2− RecordWildCards, TemplateHaskell #-}
2+ RecordWildCards #-}
3+#if __GLASGOW_HASKELL >= 800
4+-- a) THQ works on cross-compilers and unregisterised GHCs
5+-- b) may make compilation faster as no dynamic loading is ever needed (not sure about this)
6+-- c) removes one hindrance to have code inferred as SafeHaskell safe
7+{-# LANGUAGE TemplateHaskellQuotes #-}
8+#else
9+{-# LANGUAGE TemplateHaskell #-}
10+#endif
3
11
4-- |
12-- |
5-- Module: Data.Aeson.Types.Internal
13-- Module: Data.Aeson.Types.Internal