on master help sign in
.gitignore+17−2
since splitsnapshots
unifiedsplit
@@ -1,6 +1,21 @@
1−tags
1+# Cabal
2dist
2dist
3dist-newstyle
3dist-newstyle
4−.stack-work
5.cabal-sandbox/
4.cabal-sandbox/
6cabal.sandbox.config
5cabal.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+23−20
@@ -1,28 +1,31 @@
1−sudo: false
1+language: nix
2
2
3−cache:
3+os:
4− directories:
4+ - linux
5− - $HOME/.stack/
5+ - osx
6
6
7env:
7env:
8− - FLAGS=""
8+ - HC=ghc822
9− - FLAGS="--flag ether:disable-tup-instances"
9+ - HC=ghc844
10+ - HC=ghc861
10
11
11before_install:
12before_install:
12− - mkdir -p ~/.local/bin
13+ - curl https://raw.githubusercontent.com/monadfix/nix-cabal/master/nix-cabal -o nix-cabal && chmod u+x nix-cabal
13− - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
14+ - travis_retry ./nix-cabal new-update
14− - export PATH=~/.local/bin:$PATH
15− - stack --version
16− - stack setup
17−
18−install:
19− - stack install --only-dependencies --no-terminal
20
15
21script:
16script:
22− - stack test ether:regression --no-terminal --ghc-options -Werror $FLAGS
17+ - ./nix-cabal new-test ether:regression
23− - stack bench ether:bench --no-terminal --ghc-options -Werror $FLAGS
18+ - ./nix-cabal new-bench ether:bench
19+
20+cache:
21+ directories:
22+ - ~/.cabal
23+ - ~/.ghc
24
24
25−addons:
25+matrix:
26− apt:
26+ # broken at the moment
27− packages:
27+ exclude:
28− - libgmp-dev
28+ - os: osx
29+ env: HC=ghc822
30+ - os: osx
31+ env: HC=ghc861
ether.cabal+10−14
@@ -1,21 +1,17 @@
1+cabal-version: 2.2
1name: ether
2name: ether
2−version: 0.5.1.0
3+version: 0.5.2.0
3synopsis: Monad transformers and classes
4synopsis: Monad transformers and classes
4−description:
5+description: Lib
5− Ether is a Haskell library that extends @mtl@ and @transformers@ with
6− tagged monad transformers and classes in a compatible way.
7−
8− Introduction <https://int-index.github.io/ether/>
9−
10−category: Control
11−license: BSD3
6+license: BSD-3-Clause
7+-- ^ unfortunately have to change this line due to the issue with cabal2nix
12license-file: LICENSE
8license-file: LICENSE
9+category: Control
13author: Vladislav Zavialov
10author: Vladislav Zavialov
14maintainer: Vladislav Zavialov <vlad.z.4096@gmail.com>
11maintainer: Vladislav Zavialov <vlad.z.4096@gmail.com>
15homepage: https://int-index.github.io/ether/
12homepage: https://int-index.github.io/ether/
16bug-reports: https://github.com/int-index/ether/issues
13bug-reports: https://github.com/int-index/ether/issues
17build-type: Simple
14build-type: Simple
18−cabal-version: >=1.18
19extra-source-files: CHANGELOG.md
15extra-source-files: CHANGELOG.md
20
16
21source-repository head
17source-repository head
@@ -58,10 +54,10 @@ library
58 Ether.Internal.TupleInstances
54 Ether.Internal.TupleInstances
59
55
60 build-depends:
56 build-depends:
61− base >=4.9 && <4.11,
57+ base >=4.9 && <4.13,
62 transformers >=0.5.2.0,
58 transformers >=0.5.2.0,
63 transformers-lift >=0.2.0.1,
59 transformers-lift >=0.2.0.1,
64− mtl >=2.2.1,
60+ mtl >=2.2.2,
65 mmorph >=1.0.4,
61 mmorph >=1.0.4,
66 monad-control >=1.0.0.4,
62 monad-control >=1.0.0.4,
67 transformers-base >=0.4.4,
63 transformers-base >=0.4.4,
@@ -111,7 +107,7 @@ library
111test-suite regression
107test-suite regression
112
108
113 build-depends:
109 build-depends:
114− base >=4.9 && <4.11,
110+ base >=4.9 && <4.13,
115 transformers >=0.4.2,
111 transformers >=0.4.2,
116 mtl >=2.2.1,
112 mtl >=2.2.1,
117 tasty >=0.10,
113 tasty >=0.10,
@@ -183,7 +179,7 @@ test-suite regression
183benchmark bench
179benchmark bench
184
180
185 build-depends:
181 build-depends:
186− base >=4.9 && <4.11,
182+ base >=4.9 && <4.13,
187 mtl >=2.2.1,
183 mtl >=2.2.1,
188 transformers >=0.4.2,
184 transformers >=0.4.2,
189 criterion >=1.1,
185 criterion >=1.1,
shell.nixnew file+22
@@ -0,0 +1,22 @@
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.yamldeleted−2
@@ -1,2 +0,0 @@
1−resolver: lts-9.11
2−packages: ['.']