on a15b2b1 help sign in
.gitignore+2−17
since splitsnapshots
unifiedsplit
@@ -1,21 +1,6 @@
1−# Cabal
1+tags
2dist
2dist
3dist-newstyle
3dist-newstyle
4+.stack-work
4.cabal-sandbox/
5.cabal-sandbox/
5cabal.sandbox.config
6cabal.sandbox.config
6−cabal.project.local
7−.ghc.environment*
8−
9−# Profiling
10−*.prof
11−
12−# Stack
13−.stack-work
14−
15−# Emacs
16−TAGS
17−.dir-locals.el
18−
19−# Vim
20−tags
21−*.swp
.travis.yml+20−23
@@ -1,31 +1,28 @@
1−language: nix
1+sudo: false
2
2
3−os:
3+cache:
4− - linux
4+ directories:
5− - osx
5+ - $HOME/.stack/
6
6
7env:
7env:
8− - HC=ghc822
8+ - FLAGS=""
9− - HC=ghc844
9+ - FLAGS="--flag ether:disable-tup-instances"
10− - HC=ghc861
11
10
12before_install:
11before_install:
13− - curl https://raw.githubusercontent.com/monadfix/nix-cabal/master/nix-cabal -o nix-cabal && chmod u+x nix-cabal
12+ - mkdir -p ~/.local/bin
14− - travis_retry ./nix-cabal new-update
13+ - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
14+ - export PATH=~/.local/bin:$PATH
15+ - stack --version
16+ - stack setup
15
17
16−script:
18+install:
17− - ./nix-cabal new-test ether:regression
19+ - stack install --only-dependencies --no-terminal
18− - ./nix-cabal new-bench ether:bench
19
20
20−cache:
21+script:
21− directories:
22+ - stack test ether:regression --no-terminal --ghc-options -Werror $FLAGS
22− - ~/.cabal
23+ - stack bench ether:bench --no-terminal --ghc-options -Werror $FLAGS
23− - ~/.ghc
24
24
25−matrix:
25+addons:
26− # broken at the moment
26+ apt:
27− exclude:
27+ packages:
28− - os: osx
28+ - libgmp-dev
29− env: HC=ghc822
30− - os: osx
31− env: HC=ghc861
ether.cabal+14−10
@@ -1,17 +1,21 @@
1−cabal-version: 2.2
2name: ether
1name: ether
3−version: 0.5.2.0
2+version: 0.5.1.0
4synopsis: Monad transformers and classes
3synopsis: Monad transformers and classes
5−description: Lib
4+description:
6−license: BSD-3-Clause
5+ Ether is a Haskell library that extends @mtl@ and @transformers@ with
7−-- ^ unfortunately have to change this line due to the issue with cabal2nix
6+ tagged monad transformers and classes in a compatible way.
8−license-file: LICENSE
7+
8+ Introduction <https://int-index.github.io/ether/>
9+
9category: Control
10category: Control
11+license: BSD3
12+license-file: LICENSE
10author: Vladislav Zavialov
13author: Vladislav Zavialov
11maintainer: Vladislav Zavialov <vlad.z.4096@gmail.com>
14maintainer: Vladislav Zavialov <vlad.z.4096@gmail.com>
12homepage: https://int-index.github.io/ether/
15homepage: https://int-index.github.io/ether/
13bug-reports: https://github.com/int-index/ether/issues
16bug-reports: https://github.com/int-index/ether/issues
14build-type: Simple
17build-type: Simple
18+cabal-version: >=1.18
15extra-source-files: CHANGELOG.md
19extra-source-files: CHANGELOG.md
16
20
17source-repository head
21source-repository head
@@ -54,10 +58,10 @@ library
54 Ether.Internal.TupleInstances
58 Ether.Internal.TupleInstances
55
59
56 build-depends:
60 build-depends:
57− base >=4.9 && <4.13,
61+ base >=4.9 && <4.11,
58 transformers >=0.5.2.0,
62 transformers >=0.5.2.0,
59 transformers-lift >=0.2.0.1,
63 transformers-lift >=0.2.0.1,
60− mtl >=2.2.2,
64+ mtl >=2.2.1,
61 mmorph >=1.0.4,
65 mmorph >=1.0.4,
62 monad-control >=1.0.0.4,
66 monad-control >=1.0.0.4,
63 transformers-base >=0.4.4,
67 transformers-base >=0.4.4,
@@ -107,7 +111,7 @@ library
107test-suite regression
111test-suite regression
108
112
109 build-depends:
113 build-depends:
110− base >=4.9 && <4.13,
114+ base >=4.9 && <4.11,
111 transformers >=0.4.2,
115 transformers >=0.4.2,
112 mtl >=2.2.1,
116 mtl >=2.2.1,
113 tasty >=0.10,
117 tasty >=0.10,
@@ -179,7 +183,7 @@ test-suite regression
179benchmark bench
183benchmark bench
180
184
181 build-depends:
185 build-depends:
182− base >=4.9 && <4.13,
186+ base >=4.9 && <4.11,
183 mtl >=2.2.1,
187 mtl >=2.2.1,
184 transformers >=0.4.2,
188 transformers >=0.4.2,
185 criterion >=1.1,
189 criterion >=1.1,
shell.nixdeleted−22
@@ -1,22 +0,0 @@
1−{ pkgs ? import <nixpkgs> {},
2− hc ? "ghc844"
3−}:
4−
5−pkgs.stdenv.mkDerivation rec {
6− name = "ether";
7− buildInputs = [
8− pkgs.haskell.compiler.${hc}
9− pkgs.git
10− pkgs.zlib
11− pkgs.cabal-install
12− pkgs.pkgconfig
13− ];
14− shellHook = ''
15− export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath buildInputs}:$LD_LIBRARY_PATH
16− export LANG=en_US.UTF-8
17− '';
18− LOCALE_ARCHIVE =
19− if pkgs.stdenv.isLinux
20− then "${pkgs.glibcLocales}/lib/locale/locale-archive"
21− else "";
22−}
src/Ether/Reader.hs+2−2
@@ -139,7 +139,7 @@ readerT = coerce (T.ReaderT @r @m @a)
139-- | Runs a 'ReaderT' with the given environment
139-- | Runs a 'ReaderT' with the given environment
140-- and returns the final value.
140-- and returns the final value.
141runReaderT :: forall tag r m a . ReaderT tag r m a -> r -> m a
141runReaderT :: forall tag r m a . ReaderT tag r m a -> r -> m a
142−runReaderT = coerce (T.runReaderT @r @m @a)
142+runReaderT = coerce (T.runReaderT @r @_ @m @a)
143
143
144-- | Runs a 'ReaderT' with the given environment
144-- | Runs a 'ReaderT' with the given environment
145-- and returns the final value.
145-- and returns the final value.
@@ -203,7 +203,7 @@ type ReadersT r = TaggedTrans (READERS (Tags r)) (T.ReaderT r)
203type Readers r = ReadersT r Identity
203type Readers r = ReadersT r Identity
204
204
205runReadersT :: forall p m a . ReadersT p m a -> p -> m a
205runReadersT :: forall p m a . ReadersT p m a -> p -> m a
206−runReadersT = coerce (T.runReaderT @p @m @a)
206+runReadersT = coerce (T.runReaderT @p @_ @m @a)
207
207
208runReaders :: forall p a . Readers p a -> p -> a
208runReaders :: forall p a . Readers p a -> p -> a
209runReaders = coerce (T.runReader @p @a)
209runReaders = coerce (T.runReader @p @a)
stack.yamlnew file+2
@@ -0,0 +1,2 @@
1+resolver: lts-9.11
2+packages: ['.']