@@ -9,7 +9,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
ghc: ['9.2', '9.0.1', '8.10.1', '8.8.1', '8.6.5', '8.6.4', '8.6.3', '8.6.2', '8.4.4', '8.2.2', '8.0.2', '7.10.3']
|
ghc: ['9.2.2', '9.0.1', '8.10.1', '8.8.1', '8.6.5', '8.6.4', '8.6.3', '8.6.2', '8.4.4', '8.2.2', '8.0.2', '7.10.3']
|
||||||
cabal: ['latest', 3.2]
|
cabal: ['latest', 3.2]
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ jobs:
|
|||||||
- { build: stack, resolver: "lts-15" } # ghc-8.8.3
|
- { build: stack, resolver: "lts-15" } # ghc-8.8.3
|
||||||
- { build: stack, resolver: "lts-16" } # ghc-8.8.4
|
- { build: stack, resolver: "lts-16" } # ghc-8.8.4
|
||||||
- { build: stack, resolver: "lts-17" } # ghc-8.10.4
|
- { build: stack, resolver: "lts-17" } # ghc-8.10.4
|
||||||
|
- { build: stack, resolver: "lts-18" } # ghc-8.10.7
|
||||||
|
- { build: stack, resolver: "lts-19" } # ghc-9.0.2
|
||||||
# - { build: stack, resolver: "" }
|
# - { build: stack, resolver: "" }
|
||||||
# use this to include any dependencies from OS package managers
|
# use this to include any dependencies from OS package managers
|
||||||
include: []
|
include: []
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
0.3.2
|
||||||
|
====
|
||||||
|
* GHC 9.2.2 support
|
||||||
|
* Drop export executable
|
||||||
|
|
||||||
0.3.1
|
0.3.1
|
||||||
=====
|
=====
|
||||||
* GHC 9.0.1 and 9.2.1 support
|
* GHC 9.0.1 and 9.2.1 support
|
||||||
|
|||||||
-59
@@ -1,59 +0,0 @@
|
|||||||
{-# LANGUAGE CPP #-}
|
|
||||||
module Main
|
|
||||||
( main,
|
|
||||||
)
|
|
||||||
where
|
|
||||||
|
|
||||||
import Control.Applicative ((<$>))
|
|
||||||
import Control.Monad.Trans
|
|
||||||
import Data.Foldable (concat)
|
|
||||||
import qualified Data.List as List
|
|
||||||
import Data.Maybe
|
|
||||||
import Data.Ord (comparing)
|
|
||||||
import DynFlags
|
|
||||||
import GHC
|
|
||||||
import GhcMonad
|
|
||||||
import GHC.Paths
|
|
||||||
import Outputable
|
|
||||||
import System.FilePath.Posix
|
|
||||||
import Prelude hiding (concat, mod)
|
|
||||||
|
|
||||||
autoModule :: FilePath -> IO ()
|
|
||||||
autoModule mod = runGhc (Just GHC.Paths.libdir) $ do
|
|
||||||
dflags <- GHC.getSessionDynFlags
|
|
||||||
#if (__GLASGOW_HASKELL__ > 706)
|
|
||||||
_ <- setSessionDynFlags ( dflags `gopt_set` Opt_GhciSandbox )
|
|
||||||
#else
|
|
||||||
_ <- setSessionDynFlags ( dflags `dopt_set` Opt_GhciSandbox )
|
|
||||||
#endif
|
|
||||||
target <- guessTarget ("src" </> addExtension mod ".hs") Nothing
|
|
||||||
setTargets [target]
|
|
||||||
_ <- load LoadAllTargets
|
|
||||||
modSum <- getModSummary $ mkModuleName mod
|
|
||||||
p <- GHC.parseModule modSum
|
|
||||||
t <- typecheckModule p
|
|
||||||
let modInfo = tm_checked_module_info t
|
|
||||||
let exports = modInfoExports modInfo
|
|
||||||
exportThings <- sequence <$> mapM lookupName exports
|
|
||||||
let sortedThings = List.sortBy (comparing getOccName) (concat exportThings)
|
|
||||||
GhcMonad.liftIO (mapM_ (showThing dflags) sortedThings)
|
|
||||||
|
|
||||||
showNamed :: NamedThing a => DynFlags -> a -> IO ()
|
|
||||||
showNamed df a = do
|
|
||||||
let nm = showSDoc df (ppr (getOccName a))
|
|
||||||
let mod = showSDoc df (ppr (nameModule (getName a)))
|
|
||||||
putStrLn (nm ++ " from " ++ mod)
|
|
||||||
|
|
||||||
showThing :: DynFlags -> TyThing -> IO ()
|
|
||||||
showThing df (AnId a) = showNamed df a
|
|
||||||
#if (__GLASGOW_HASKELL__ > 706)
|
|
||||||
showThing df (AConLike a) = showNamed df a
|
|
||||||
#endif
|
|
||||||
showThing df (ATyCon a) = showNamed df a
|
|
||||||
showThing _ _ = error "Should never happen."
|
|
||||||
|
|
||||||
--showGhc :: (Outputable a) => a -> String
|
|
||||||
--showGhc = showPpr unsafeGlobalDynFlags
|
|
||||||
|
|
||||||
main :: IO ()
|
|
||||||
main = autoModule "Protolude"
|
|
||||||
+2
-28
@@ -1,5 +1,5 @@
|
|||||||
name: protolude
|
name: protolude
|
||||||
version: 0.3.1
|
version: 0.3.2
|
||||||
synopsis: A small prelude.
|
synopsis: A small prelude.
|
||||||
description: A sensible set of defaults for writing custom Preludes.
|
description: A sensible set of defaults for writing custom Preludes.
|
||||||
homepage: https://github.com/sdiehl/protolude
|
homepage: https://github.com/sdiehl/protolude
|
||||||
@@ -23,17 +23,12 @@ tested-with:
|
|||||||
|| ==8.8.1
|
|| ==8.8.1
|
||||||
|| ==8.10.1
|
|| ==8.10.1
|
||||||
|| ==9.0.1
|
|| ==9.0.1
|
||||||
|| ==9.2.1
|
|| ==9.2.2
|
||||||
|
|
||||||
extra-source-files:
|
extra-source-files:
|
||||||
README.md
|
README.md
|
||||||
ChangeLog.md
|
ChangeLog.md
|
||||||
|
|
||||||
flag dev
|
|
||||||
description: Build development tools
|
|
||||||
manual: True
|
|
||||||
default: False
|
|
||||||
|
|
||||||
source-repository head
|
source-repository head
|
||||||
type: git
|
type: git
|
||||||
location: git@github.com:protolude/protolude.git
|
location: git@github.com:protolude/protolude.git
|
||||||
@@ -90,24 +85,3 @@ library
|
|||||||
|
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
|
||||||
executable exports
|
|
||||||
main-is: Exports.hs
|
|
||||||
default-language: Haskell2010
|
|
||||||
|
|
||||||
if flag(dev)
|
|
||||||
buildable: True
|
|
||||||
|
|
||||||
else
|
|
||||||
buildable: False
|
|
||||||
|
|
||||||
build-depends:
|
|
||||||
base >=4.6 && <4.15
|
|
||||||
, directory
|
|
||||||
, filepath
|
|
||||||
, ghc
|
|
||||||
, ghc-paths
|
|
||||||
, mtl
|
|
||||||
, process
|
|
||||||
, protolude
|
|
||||||
, transformers
|
|
||||||
|
|||||||
@@ -14,3 +14,6 @@ stack build --resolver lts-13.0
|
|||||||
stack build --resolver lts-14.0
|
stack build --resolver lts-14.0
|
||||||
stack build --resolver lts-15.0
|
stack build --resolver lts-15.0
|
||||||
stack build --resolver lts-16.0
|
stack build --resolver lts-16.0
|
||||||
|
stack build --resolver lts-17.0
|
||||||
|
stack build --resolver lts-18.0
|
||||||
|
stack build --resolver lts-19.0
|
||||||
|
|||||||
Reference in New Issue
Block a user