incipit-base 0.5.1.0 → 0.6.0.0
raw patch · 4 files changed
+22/−38 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Incipit.String.Conversion: instance Incipit.String.Conversion.ConvertUtf8 Data.Text.Internal.Text Data.ByteString.Internal.ByteString
- Incipit.String.Conversion: instance Incipit.String.Conversion.ConvertUtf8 GHC.Base.String Data.ByteString.Internal.ByteString
- Incipit.String.Conversion: instance Incipit.String.Conversion.ConvertUtf8 Incipit.String.Conversion.LText Data.ByteString.Internal.ByteString
- Incipit.String.Conversion: instance Incipit.String.Conversion.EncodingError Incipit.String.Conversion.ToLText "ByteString" "LText" => Incipit.String.Conversion.ToLText Data.ByteString.Internal.ByteString
- Incipit.String.Conversion: instance Incipit.String.Conversion.EncodingError Incipit.String.Conversion.ToString "ByteString" "String" => Incipit.String.Conversion.ToString Data.ByteString.Internal.ByteString
- Incipit.String.Conversion: instance Incipit.String.Conversion.EncodingError Incipit.String.Conversion.ToText "ByteString" "Text" => Incipit.String.Conversion.ToText Data.ByteString.Internal.ByteString
- Incipit.String.Conversion: instance Incipit.String.Conversion.LazyStrict Incipit.String.Conversion.LByteString Data.ByteString.Internal.ByteString
+ Incipit.String.Conversion: instance Incipit.String.Conversion.ConvertUtf8 Data.Text.Internal.Text Data.ByteString.Internal.Type.ByteString
+ Incipit.String.Conversion: instance Incipit.String.Conversion.ConvertUtf8 GHC.Base.String Data.ByteString.Internal.Type.ByteString
+ Incipit.String.Conversion: instance Incipit.String.Conversion.ConvertUtf8 Incipit.String.Conversion.LText Data.ByteString.Internal.Type.ByteString
+ Incipit.String.Conversion: instance Incipit.String.Conversion.EncodingError Incipit.String.Conversion.ToLText "ByteString" "LText" => Incipit.String.Conversion.ToLText Data.ByteString.Internal.Type.ByteString
+ Incipit.String.Conversion: instance Incipit.String.Conversion.EncodingError Incipit.String.Conversion.ToString "ByteString" "String" => Incipit.String.Conversion.ToString Data.ByteString.Internal.Type.ByteString
+ Incipit.String.Conversion: instance Incipit.String.Conversion.EncodingError Incipit.String.Conversion.ToText "ByteString" "Text" => Incipit.String.Conversion.ToText Data.ByteString.Internal.Type.ByteString
+ Incipit.String.Conversion: instance Incipit.String.Conversion.LazyStrict Incipit.String.Conversion.LByteString Data.ByteString.Internal.Type.ByteString
- Incipit.Base: class Bifunctor (p :: Type -> Type -> Type)
+ Incipit.Base: class () => Bifunctor (p :: Type -> Type -> Type)
- Incipit.Base: class Bounded a
+ Incipit.Base: class () => Bounded a
- Incipit.Base: class Contravariant (f :: Type -> Type)
+ Incipit.Base: class () => Contravariant (f :: Type -> Type)
- Incipit.Base: class Enum a
+ Incipit.Base: class () => Enum a
- Incipit.Base: class Eq a
+ Incipit.Base: class () => Eq a
- Incipit.Base: class Functor (f :: Type -> Type)
+ Incipit.Base: class () => Functor (f :: Type -> Type)
- Incipit.Base: class Generic a
+ Incipit.Base: class () => Generic a
- Incipit.Base: class IsLabel (x :: Symbol) a
+ Incipit.Base: class () => IsLabel (x :: Symbol) a
- Incipit.Base: class KnownChar (n :: Char)
+ Incipit.Base: class () => KnownChar (n :: Char)
- Incipit.Base: class KnownNat (n :: Nat)
+ Incipit.Base: class () => KnownNat (n :: Nat)
- Incipit.Base: class KnownSymbol (n :: Symbol)
+ Incipit.Base: class () => KnownSymbol (n :: Symbol)
- Incipit.Base: class Num a
+ Incipit.Base: class () => Num a
- Incipit.Base: class Semigroup a
+ Incipit.Base: class () => Semigroup a
- Incipit.Base: class Show a
+ Incipit.Base: class () => Show a
- Incipit.Base: class Typeable (a :: k)
+ Incipit.Base: class () => Typeable (a :: k)
- Incipit.Base: data Bool
+ Incipit.Base: data () => Bool
- Incipit.Base: data Char
+ Incipit.Base: data () => Char
- Incipit.Base: data Constraint
+ Incipit.Base: data () => Constraint
- Incipit.Base: data Double
+ Incipit.Base: data () => Double
- Incipit.Base: data Float
+ Incipit.Base: data () => Float
- Incipit.Base: data IO a
+ Incipit.Base: data () => IO a
- Incipit.Base: data Int
+ Incipit.Base: data () => Int
- Incipit.Base: data Int16
+ Incipit.Base: data () => Int16
- Incipit.Base: data Int32
+ Incipit.Base: data () => Int32
- Incipit.Base: data Int64
+ Incipit.Base: data () => Int64
- Incipit.Base: data Int8
+ Incipit.Base: data () => Int8
- Incipit.Base: data Integer
+ Incipit.Base: data () => Integer
- Incipit.Base: data Maybe a
+ Incipit.Base: data () => Maybe a
- Incipit.Base: data Natural
+ Incipit.Base: data () => Natural
- Incipit.Base: data NonEmpty a
+ Incipit.Base: data () => NonEmpty a
- Incipit.Base: data Ordering
+ Incipit.Base: data () => Ordering
- Incipit.Base: data OrderingI (a :: k) (b :: k)
+ Incipit.Base: data () => OrderingI (a :: k) (b :: k)
- Incipit.Base: data Proxy (t :: k)
+ Incipit.Base: data () => Proxy (t :: k)
- Incipit.Base: data Ratio a
+ Incipit.Base: data () => Ratio a
- Incipit.Base: data SomeChar
+ Incipit.Base: data () => SomeChar
- Incipit.Base: data SomeException
+ Incipit.Base: data () => SomeException
- Incipit.Base: data SomeNat
+ Incipit.Base: data () => SomeNat
- Incipit.Base: data SomeSymbol
+ Incipit.Base: data () => SomeSymbol
- Incipit.Base: data Symbol
+ Incipit.Base: data () => Symbol
- Incipit.Base: data Void
+ Incipit.Base: data () => Void
- Incipit.Base: data Word
+ Incipit.Base: data () => Word
- Incipit.Base: data Word16
+ Incipit.Base: data () => Word16
- Incipit.Base: data Word32
+ Incipit.Base: data () => Word32
- Incipit.Base: data Word64
+ Incipit.Base: data () => Word64
- Incipit.Base: data Word8
+ Incipit.Base: data () => Word8
- Incipit.Base: infix 4 <=
+ Incipit.Base: infix 4 <=?
- Incipit.Base: infixr 1 =<<
+ Incipit.Base: infixr 1 <=<
- Incipit.Base: newtype Compose (f :: k -> Type) (g :: k1 -> k) (a :: k1)
+ Incipit.Base: newtype () => Compose (f :: k -> Type) (g :: k1 -> k) (a :: k1)
- Incipit.Base: newtype Const a (b :: k)
+ Incipit.Base: newtype () => Const a (b :: k)
- Incipit.Base: newtype Down a
+ Incipit.Base: newtype () => Down a
- Incipit.Base: newtype Identity a
+ Incipit.Base: newtype () => Identity a
- Incipit.Base: newtype ZipList a
+ Incipit.Base: newtype () => ZipList a
- Incipit.Base: type (x :: k) <= (y :: k) = x <=? y ~ 'True
+ Incipit.Base: type (m :: k) <=? (n :: k) = OrdCond Compare m n 'True 'True 'False
- Incipit.Foldable: class Foldable (t :: TYPE LiftedRep -> Type)
+ Incipit.Foldable: class () => Foldable (t :: Type -> Type)
- Incipit.String.Reexport: class IsString a
+ Incipit.String.Reexport: class () => IsString a
- Incipit.String.Reexport: class Read a
+ Incipit.String.Reexport: class () => Read a
- Incipit.String.Reexport: data ByteString
+ Incipit.String.Reexport: data () => ByteString
- Incipit.String.Reexport: data ShortByteString
+ Incipit.String.Reexport: data () => ShortByteString
- Incipit.String.Reexport: data Text
+ Incipit.String.Reexport: data () => Text
- Incipit.String.Reexport: data UnicodeException
+ Incipit.String.Reexport: data () => UnicodeException
- Incipit.TypeError: type family ToErrorMessage t
+ Incipit.TypeError: type family Undefined
Files
- changelog.md +3/−1
- incipit-base.cabal +8/−34
- lib/Incipit/Debug.hs +2/−2
- lib/Incipit/TypeError.hs +9/−1
changelog.md view
@@ -1,4 +1,6 @@-# Unreleased+# 0.6.0.0++* Add polymorphic type family `Undefined` that emits a `TypeError`. # 0.5.0.0
incipit-base.cabal view
@@ -1,11 +1,11 @@ cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.35.0.+-- This file has been generated from package.yaml by hpack version 0.35.2. -- -- see: https://github.com/sol/hpack name: incipit-base-version: 0.5.1.0+version: 0.6.0.0 synopsis: A Prelude for Polysemy – Base Reexports description: See https://hackage.haskell.org/package/incipit-base/docs/IncipitBase.html category: Prelude@@ -75,6 +75,7 @@ hs-source-dirs: lib default-extensions:+ NoImplicitPrelude AllowAmbiguousTypes ApplicativeDo BlockArguments@@ -89,6 +90,7 @@ GADTs LambdaCase LiberalTypeSynonyms+ MonadComprehensions MultiWayIf OverloadedLabels OverloadedLists@@ -107,42 +109,14 @@ UndecidableInstances UnicodeSyntax ViewPatterns- BangPatterns- BinaryLiterals- ConstraintKinds- DeriveDataTypeable- DeriveFoldable- DeriveFunctor- DeriveGeneric- DeriveLift- DeriveTraversable- DoAndIfThenElse- EmptyCase- EmptyDataDecls- ExistentialQuantification- FlexibleContexts- FlexibleInstances- GeneralizedNewtypeDeriving- InstanceSigs- KindSignatures- MultiParamTypeClasses- NamedFieldPuns- PatternGuards- PolyKinds- RankNTypes- ScopedTypeVariables- StandaloneDeriving- TupleSections- TypeApplications- TypeOperators- TypeSynonymInstances- NoImplicitPrelude+ OverloadedRecordDot+ NoFieldSelectors ghc-options: -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages build-depends:- base >=4.13 && <4.19+ base >=4.13 && <4.20 , bytestring , containers , data-default ==0.7.* , stm , text- default-language: Haskell2010+ default-language: GHC2021
lib/Incipit/Debug.hs view
@@ -68,7 +68,7 @@ m () dbgs a = debugPrintWithLoc (srcLoc callStack) (show a)-{-# noinline dbgs_ #-}+{-# noinline dbgs #-} -- |Print a value with a 'Show' instance in an arbitrary 'Monad', returning the value. dbgs_ ::@@ -80,7 +80,7 @@ m a dbgs_ a = a <$ debugPrintWithLoc (srcLoc callStack) (show a)-{-# noinline dbgs #-}+{-# noinline dbgs_ #-} -- |Like 'Debug.Trace.trace', but with 'Text' and with source location prefix. tr ::
lib/Incipit/TypeError.hs view
@@ -3,22 +3,30 @@ -- | Description: 'ErrorMessage' concatenation operators, stolen from type-errors-pretty. module Incipit.TypeError where -import GHC.TypeLits (ErrorMessage (..), Symbol)+import GHC.TypeLits (ErrorMessage (..), Symbol, TypeError) +-- | Concat two error message strings. type (<>) :: k1 -> k2 -> ErrorMessage type family (<>) l r :: ErrorMessage where l <> r = ToErrorMessage l ':<>: ToErrorMessage r infixl 5 <> +-- | Concat two error message strings with a newline. type (%) :: k1 -> k2 -> ErrorMessage type family (%) t b :: ErrorMessage where t % b = ToErrorMessage t ':$$: ToErrorMessage b infixr 4 % +-- | Convert a 'Symbol', 'ErrorMessage' or type to an 'ErrorMessage'. type ToErrorMessage :: k -> ErrorMessage type family ToErrorMessage t where ToErrorMessage (t :: Symbol) = 'Text t ToErrorMessage (t :: ErrorMessage) = t ToErrorMessage t = 'ShowType t++-- | Placeholder similar to 'IncipitBase.undefined'.+type Undefined :: k+type family Undefined where+ Undefined = TypeError ('Text "undefined")