packages feed

express 1.0.10 → 1.0.12

raw patch · 7 files changed

+96/−45 lines, 7 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Express.Express: instance Data.Express.Express.Express GHC.Integer.Type.Integer
- Data.Express.Name: instance Data.Express.Name.Name GHC.Integer.Type.Integer
+ Data.Express.Express: instance Data.Express.Express.Express GHC.Num.Integer.Integer
+ Data.Express.Name: instance Data.Express.Name.Name GHC.Num.Integer.Integer

Files

.github/workflows/build.yml view
@@ -1,8 +1,10 @@ # Builds and tests this Haskell project on "GitHub Actions" #-# 2021  Rudy Matela+# 2021-2023  Rudy Matela # # some docs: https://github.com/haskell/actions/tree/main/setup+#+# The official haskell docker image: https://hub.docker.com/_/haskell name: build on: [push] jobs:@@ -11,24 +13,26 @@     steps:        - name: Cache ~/.cabal/packages-        uses: actions/cache@v2+        uses: actions/cache@v3         with:           path: ~/.cabal/packages-          key:          v1-${{ runner.os }}-cabal-packages-${{ hashFiles('hello.cabal') }}+          key:          v1-${{ runner.os }}-cabal-packages-${{ hashFiles('*.cabal') }}           restore-keys: v1-${{ runner.os }}-cabal-packages-        - name: Cache ~/.cabal and ~/.ghc-        uses: actions/cache@v2+        uses: actions/cache@v3         with:           path: |             ~/.cabal             !~/.cabal/packages             ~/.ghc-          key:          v1-${{ runner.os }}-cabal-ghc-latest-${{ hashFiles('hello.cabal') }}+          key:          v1-${{ runner.os }}-cabal-ghc-latest-${{ hashFiles('*.cabal') }}           restore-keys: v1-${{ runner.os }}-cabal-ghc-latest-        - run: du -hd3 ~/.cabal ~/.ghc || true +      - run: make --version+       - run: haddock --version || sudo apt-get install ghc-haddock       - run: ghc     --version       - run: cabal   --version@@ -36,50 +40,54 @@       - run: ghc-pkg list        - name: Check out repository-        uses: actions/checkout@v2+        uses: actions/checkout@v3 -      - run: cabal update+      - run: git --version+       - run: make install-dependencies -      - run: make-      - run: make test-      - run: make haddock+      # 2023-07: some projects were failing with missing base for GHC 9.6.+      #          Here we compile through cabal only provisionally.+      # - run: make+      # - run: make test+      # - run: make haddock       - run: make test-sdist-      - run: make test-via-cabal+      #- run: make test-via-cabal+      - run: cabal configure --enable-tests --enable-benchmarks --ghc-options="-O0"+      - run: cabal build+      - run: cabal test+      - run: cabal haddock     test-with-ghc:     strategy:       matrix:         ghc:+          - '9.4'+          - '9.2'           - '9.0'           - '8.10'-          - '8.8'           - '8.6'-          - '8.4'           - '8.2'-          - '8.0'-          - '7.10'-          - '7.8'     runs-on: ubuntu-latest     needs: build-and-test     container: haskell:${{ matrix.ghc }}     steps:       - name: Cache ~/.cabal/packages-        uses: actions/cache@v2+        uses: actions/cache@v3         with:           path: ~/.cabal/packages-          key:          v1-${{ runner.os }}-cabal-packages-${{ hashFiles('hello.cabal') }}+          key:          v1-${{ runner.os }}-cabal-packages-${{ hashFiles('*.cabal') }}           restore-keys: v1-${{ runner.os }}-cabal-packages-        - name: Cache ~/.cabal and ~/.ghc-        uses: actions/cache@v2+        uses: actions/cache@v3         with:           path: |             ~/.cabal             !~/.cabal/packages             ~/.ghc-          key:          v1-${{ runner.os }}-cabal-ghc-${{ matrix.ghc }}-${{ hashFiles('hello.cabal') }}+          key:          v1-${{ runner.os }}-cabal-ghc-${{ matrix.ghc }}-${{ hashFiles('*.cabal') }}           restore-keys: v1-${{ runner.os }}-cabal-ghc-${{ matrix.ghc }}-        - run: du -hd3 ~/.cabal ~/.ghc || true@@ -94,9 +102,8 @@       - run: ghc-pkg list        - name: Check out repository-        uses: actions/checkout@v2+        uses: actions/checkout@v3 -      - run: cabal update       - run: make install-dependencies        - run: make@@ -110,12 +117,12 @@     needs: build-and-test     steps:       - name: Setup Haskell's GHC and Cabal as required by current Stackage LTS-        uses: haskell/actions/setup@v1-        with: # lts-18.14-          ghc-version: '8.10.7'-          cabal-version: '3.2'+        uses: haskell/actions/setup@v2+        with: # lts-19.19+          ghc-version: '9.0.2'+          cabal-version: '3.4' -      - uses: actions/cache@v2+      - uses: actions/cache@v3         with:           path: ~/.stack           key:          v1-${{ runner.os }}-stack-${{ hashFiles('stack.yaml') }}@@ -124,7 +131,7 @@       - run: stack --version        - name: Check out repository-        uses: actions/checkout@v2+        uses: actions/checkout@v3       - run: make test-via-stack    test-with-hugs:@@ -134,5 +141,5 @@       - run: sudo apt-get update       - run: sudo apt-get install hugs       - name: Check out repository-        uses: actions/checkout@v2+        uses: actions/checkout@v3       - run: make hugs-test
changelog.md view
@@ -2,6 +2,21 @@ =====================  +v1.0.12+-------++* make ordering of `typesIn` consistent between GHC 9.6 and earlier versions++* fix a test failure on GHC 9.6 (previous GHC versions unaffected)++* drop support for GHC 8.0, GHC 7.10 and GHC 7.8.+  The current version will still work in these,+  but these are not run on CI anymore+  and future versions will no longer be tested.++* miscellaneous improvements in build and CI scripts++ v1.0.10 ------- 
express.cabal view
@@ -1,6 +1,6 @@ -- Cabal file for express name: express-version: 1.0.10+version: 1.0.12 synopsis: Dynamically-typed expressions involving function application and variables. description:   Express is a library for manipulating dynamically typed Haskell expressions.@@ -44,15 +44,12 @@                   , bench/runtime/zero/bench/*.runtime                   , bench/runtime/zero/eg/*.runtime                   , etc/hugs-backports/Data/Function.hs-tested-with: GHC==9.0+tested-with: GHC==9.4+           , GHC==9.2+           , GHC==9.0            , GHC==8.10-           , GHC==8.8            , GHC==8.6-           , GHC==8.4            , GHC==8.2-           , GHC==8.0-           , GHC==7.10-           , GHC==7.8            , Hugs==2006.9 -- for Hugs, not all modules are supported, see test/typecheck.hs @@ -63,7 +60,7 @@ source-repository this   type:           git   location:       https://github.com/rudymatela/express-  tag:            v1.0.10+  tag:            v1.0.12  library   exposed-modules:     Data.Express
mk/haskell.mk view
@@ -1,6 +1,6 @@ # Implicit rules for compiling Haskell code. #-# Copyright (c) 2015-2021 Rudy Matela.+# Copyright (c) 2015-2023 Rudy Matela. # Distributed under the 3-Clause BSD licence. # # You can optionally configure the "Configuration variables" below in your main@@ -21,7 +21,7 @@ GHC ?= ghc GHCCMD = $(GHC) -i$(GHCIMPORTDIRS) $(GHCFLAGS) HADDOCK ?= haddock-CABAL_INSTALL = $(shell cabal --version | grep -q "version [0-2]\." && echo 'cabal install' || echo 'cabal v1-install')+CABAL_INSTALL = $(shell cabal --version | grep -q "version [0-2]\." && echo 'cabal install' || echo 'cabal install --lib')  # Hugs Parameters HUGSIMPORTDIRS ?= "/usr/lib/hugs/packages/*"@@ -90,7 +90,10 @@ 	find $(ALL_HSS) | ./mk/ghcdeps -i$(GHCIMPORTDIRS) $(GHCFLAGS) > $(DEPMK)  install-dependencies:-	$(CABAL_INSTALL) $(INSTALL_DEPS)+	if [ -n "$(INSTALL_DEPS)" ]; then \+		cabal update && \+		$(CABAL_INSTALL) $(INSTALL_DEPS); \+	fi  # haddock rules haddock: doc/index.html
src/Data/Express/Utils/Typeable.hs view
@@ -52,11 +52,36 @@ compareTy t1 t2 | t1 == t2 = EQ -- optional optimization compareTy t1 t2 = tyArity t1 `compare` tyArity t2                <> length ts1 `compare` length ts2-               <> show c1 `compare` show c2+               <> showTyCon c1 `compare` showTyCon c2                <> foldr (<>) EQ (zipWith compareTy ts1 ts2)   where   (c1,ts1) = splitTyConApp t1   (c2,ts2) = splitTyConApp t2++-- | Shows a 'TyCon' consistently across different GHC versions.+--   This is needed in the implementation of `compareTy`.+--+-- On GHC <= 9.4:+--+-- > > show listTyCon+-- > "[]"+--+-- On GHC >= 9.6:+--+-- > > show listTyCon+-- > "List"+--+-- On all GHCs:+--+-- > > showTyCon listTyCon+-- > "[]"+--+-- Further exceptions to `show :: TyCon -> String` may be added here+-- on future versions.+showTyCon :: TyCon -> String+showTyCon con+  | con == listTyCon  =  "[]"+  | otherwise         =  show con  -- | Returns the functional arity of the given 'TypeRep'. --
stack.yaml view
@@ -1,7 +1,7 @@-resolver: lts-18.14 # or ghc-8.10.7+resolver: lts-19.19 # or ghc-9.0.2  packages: - .  extra-deps:-- leancheck-0.9.10+- leancheck-1.0.0
test/sdist view
@@ -2,7 +2,7 @@ # # test/sdist: tests the package generated by "cabal sdist". #-# Copyright (c) 2015-2021 Rudy Matela.+# Copyright (c) 2015-2023 Rudy Matela. # Distributed under the 3-Clause BSD licence.  set -xe@@ -29,7 +29,11 @@ tar -tf $pkg | sort --ignore-case --unique > $tmp/ls-cabal-iu diff -rud $tmp/ls-cabal-i $tmp/ls-cabal-iu -if [ -d .git ]+# Check if we have a clone of the repo and git is available+# The check that we can run git ls-files is needed to avoid:+# fatal: detected dubious ownership in repository at '/__w/.../hello-haskell'+# on CI.+if [ -d .git ] && git --version && git ls-files >/dev/null then 	# Test if files included by cabal are the same as files tracked in git. 	git ls-files                                         | sort > $tmp/ls-git