void 0.5.5.1 → 0.5.6
raw patch · 3 files changed
+17/−5 lines, 3 files
Files
- .travis.yml +1/−0
- Data/Void.hs +12/−4
- void.cabal +4/−1
+ .travis.yml view
@@ -0,0 +1,1 @@+language: haskell
Data/Void.hs view
@@ -9,8 +9,9 @@ -- Portability : portable -- -----------------------------------------------------------------------------module Data.Void (Void, absurd, vacuous) where+module Data.Void (Void, absurd, vacuous, vacuousM) where +import Control.Monad (liftM) import Data.Semigroup (Semigroup(..)) import Data.Ix @@ -23,11 +24,11 @@ #endif #if __GLASGOW_HASKELL__ < 700-data Void = Void !Void +data Void = Void !Void #else newtype Void = Void Void #endif- deriving + deriving ( Eq, Ord, Show, Read #ifdef LANGUAGE_DeriveDataTypeable , Data, Typeable@@ -47,6 +48,13 @@ vacuous = fmap absurd #endif +vacuousM :: Monad m => m Void -> m a+#ifdef __GLASGOW_HASKELL__+vacuousM = unsafeCoerce+#else+vacuousM = liftM absurd+#endif+ instance Semigroup Void where a <> _ = a times1p _ a = a@@ -55,4 +63,4 @@ range _ = [] index _ = absurd inRange _ = absurd- rangeSize _ = 0 + rangeSize _ = 0
void.cabal view
@@ -1,6 +1,6 @@ name: void category: Data Structures-version: 0.5.5.1+version: 0.5.6 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE@@ -8,10 +8,13 @@ maintainer: Edward A. Kmett <ekmett@gmail.com> stability: portable homepage: http://github.com/ekmett/void+bug-reports: http://github.com/ekmett/void/issues copyright: Copyright (C) 2008-2011 Edward A. Kmett synopsis: A Haskell 98 logically uninhabited data type description: A Haskell 98 logically uninhabited data type. Used to indicate that a given term should not exist. build-type: Simple++extra-source-files: .travis.yml source-repository head type: git