on 290d072 help sign in
7 files changed+56−74
since splitsnapshots
unifiedsplit
.gitignore+2−17 .travis.yml+20−23 README.md+16 ether.cabal+14−10 shell.nix−22 src/Ether/Reader.hs+2−2 stack.yaml+2
.gitignore+2−17
@@ -1,21 +1,6 @@
1−# Cabal
1+tags
22dist
33dist-newstyle
4+.stack-work
45.cabal-sandbox/
56cabal.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
22
3−os:
4− - linux
5− - osx
3+cache:
4+ directories:
5+ - $HOME/.stack/
66
77env:
8− - HC=ghc822
9− - HC=ghc844
10− - HC=ghc861
8+ - FLAGS=""
9+ - FLAGS="--flag ether:disable-tup-instances"
1110
1211before_install:
13− - curl https://raw.githubusercontent.com/monadfix/nix-cabal/master/nix-cabal -o nix-cabal && chmod u+x nix-cabal
14− - travis_retry ./nix-cabal new-update
12+ - mkdir -p ~/.local/bin
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
1517
16−script:
17− - ./nix-cabal new-test ether:regression
18− - ./nix-cabal new-bench ether:bench
18+install:
19+ - stack install --only-dependencies --no-terminal
1920
20−cache:
21− directories:
22− - ~/.cabal
23− - ~/.ghc
21+script:
22+ - stack test ether:regression --no-terminal --ghc-options -Werror $FLAGS
23+ - stack bench ether:bench --no-terminal --ghc-options -Werror $FLAGS
2424
25−matrix:
26− # broken at the moment
27− exclude:
28− - os: osx
29− env: HC=ghc822
30− - os: osx
31− env: HC=ghc861
25+addons:
26+ apt:
27+ packages:
28+ - libgmp-dev
README.md+16
@@ -2,8 +2,24 @@
22
33[![Build Status](https://img.shields.io/travis/int-index/ether.svg)](https://travis-ci.org/int-index/ether)
44[![Hackage](https://img.shields.io/hackage/v/ether.svg)](https://hackage.haskell.org/package/ether)
5+[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/int-index/ether)
56
67
78Ether is a Haskell library that extends [mtl](https://hackage.haskell.org/package/mtl)
89and [transformers](https://hackage.haskell.org/package/transformers) with tagged
910monad transformers and classes in a compatible way.
11+
12+## Installation
13+
14+You can install `ether 0.4.0.0`
15+
16+1. using Cabal, from Hackage;
17+2. using Stack, from Stackage;
18+3. using Portage, from Gentoo Haskell Overlay.
19+
20+If unsure, use [Stack](https://github.com/commercialhaskell/stack).
21+
22+## Getting Started
23+
24+To get started, read the introduction on the [homepage](https://int-index.github.io/ether/).
25+If you need help with Ether or if you have any questions about it, ask me in the Gitter chat.
ether.cabal+14−10
@@ -1,17 +1,21 @@
1−cabal-version: 2.2
21name: ether
3−version: 0.5.2.0
2+version: 0.5.1.0
43synopsis: Monad transformers and classes
5−description: Lib
6−license: BSD-3-Clause
7−-- ^ unfortunately have to change this line due to the issue with cabal2nix
8−license-file: LICENSE
4+description:
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+
910category: Control
11+license: BSD3
12+license-file: LICENSE
1013author: Vladislav Zavialov
1114maintainer: Vladislav Zavialov <vlad.z.4096@gmail.com>
1215homepage: https://int-index.github.io/ether/
1316bug-reports: https://github.com/int-index/ether/issues
1417build-type: Simple
18+cabal-version: >=1.18
1519extra-source-files: CHANGELOG.md
1620
1721source-repository head
@@ -54,10 +58,10 @@ library
5458 Ether.Internal.TupleInstances
5559
5660 build-depends:
57− base >=4.9 && <4.13,
61+ base >=4.9 && <4.11,
5862 transformers >=0.5.2.0,
5963 transformers-lift >=0.2.0.1,
60− mtl >=2.2.2,
64+ mtl >=2.2.1,
6165 mmorph >=1.0.4,
6266 monad-control >=1.0.0.4,
6367 transformers-base >=0.4.4,
@@ -107,7 +111,7 @@ library
107111test-suite regression
108112
109113 build-depends:
110− base >=4.9 && <4.13,
114+ base >=4.9 && <4.11,
111115 transformers >=0.4.2,
112116 mtl >=2.2.1,
113117 tasty >=0.10,
@@ -179,7 +183,7 @@ test-suite regression
179183benchmark bench
180184
181185 build-depends:
182− base >=4.9 && <4.13,
186+ base >=4.9 && <4.11,
183187 mtl >=2.2.1,
184188 transformers >=0.4.2,
185189 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)
139139-- | Runs a 'ReaderT' with the given environment
140140-- and returns the final value.
141141runReaderT :: 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)
143143
144144-- | Runs a 'ReaderT' with the given environment
145145-- and returns the final value.
@@ -203,7 +203,7 @@ type ReadersT r = TaggedTrans (READERS (Tags r)) (T.ReaderT r)
203203type Readers r = ReadersT r Identity
204204
205205runReadersT :: 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)
207207
208208runReaders :: forall p a . Readers p a -> p -> a
209209runReaders = coerce (T.runReader @p @a)
stack.yamlnew file+2
@@ -0,0 +1,2 @@
1+resolver: lts-9.11
2+packages: ['.']