packages feed

word-compat (empty) → 0.0

raw patch · 4 files changed

+150/−0 lines, 4 filesdep +basedep +ghc-prim

Dependencies added: base, ghc-prim

Files

+ CHANGELOG.md view
@@ -0,0 +1,5 @@+# Revision history for word-compat++## 0.1.0.0 -- YYYY-mm-dd++* First version. Released on an unsuspecting world.
+ src/GHC/Int/Compat.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE CPP #-}+module GHC.Int.Compat (Int8, pattern GHC.Int.Compat.I8#,+    Int16, pattern GHC.Int.Compat.I16#,+    Int32, pattern GHC.Int.Compat.I32#,+    Int64(..),+    Int(..),++    uncheckedIShiftL64#, uncheckedIShiftRA64#,+    -- * Equality operators+    -- | See GHC.Classes#matching_overloaded_methods_in_rules+    eqInt, neInt, gtInt, geInt, ltInt, leInt,+    eqInt8, neInt8, gtInt8, geInt8, ltInt8, leInt8,+    eqInt16, neInt16, gtInt16, geInt16, ltInt16, leInt16,+    eqInt32, neInt32, gtInt32, geInt32, ltInt32, leInt32,+    eqInt64, neInt64, gtInt64, geInt64, ltInt64, leInt64) where++import GHC.Prim+import GHC.Int as W++pattern I8# :: Int# -> Int8+#if MIN_VERSION_ghc_prim(0,8,0)+pattern I8# x <- (W.I8# (int8ToInt# -> x)) where+  I8# x = W.I8# (intToInt8# x)+#else+pattern I8# = I8#+#endif++pattern I16# :: Int# -> Int16+#if MIN_VERSION_ghc_prim(0,8,0)+pattern I16# x <- (W.I16# (int16ToInt# -> x)) where+  I16# x = W.I16# (intToInt16# x)+#else+pattern I16# = I16#+#endif++pattern I32# :: Int# -> Int32+#if MIN_VERSION_ghc_prim(0,8,0)+pattern I32# x <- (W.I32# (int32ToInt# -> x)) where+  I32# x = W.I32# (intToInt32# x)+#else+pattern I32# = I32#+#endif
+ src/GHC/Word/Compat.hs view
@@ -0,0 +1,59 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE CPP #-}+module GHC.Word.Compat (Word8, pattern GHC.Word.Compat.W8#,+    Word16, pattern GHC.Word.Compat.W16#,+    Word32, pattern GHC.Word.Compat.W32#,+    Word64(..),+    Word(..),+    +        -- * Shifts+    uncheckedShiftL64#,+    uncheckedShiftRL64#,++    -- * Byte swapping+    byteSwap16,+    byteSwap32,+    byteSwap64,++    -- * Bit reversal+    bitReverse8,+    bitReverse16,+    bitReverse32,+    bitReverse64,++    -- * Equality operators+    -- | See GHC.Classes#matching_overloaded_methods_in_rules+    eqWord, neWord, gtWord, geWord, ltWord, leWord,+    eqWord8, neWord8, gtWord8, geWord8, ltWord8, leWord8,+    eqWord16, neWord16, gtWord16, geWord16, ltWord16, leWord16,+    eqWord32, neWord32, gtWord32, geWord32, ltWord32, leWord32,+    eqWord64, neWord64, gtWord64, geWord64, ltWord64, leWord64) where++import GHC.Prim+import GHC.Word as W++pattern W8# :: Word# -> Word8+#if MIN_VERSION_ghc_prim(0,8,0)+pattern W8# x <- (W.W8# (word8ToWord# -> x)) where+  W8# x = W.W8# (wordToWord8# x)+#else+pattern W8# = W8#+#endif++pattern W16# :: Word# -> Word16+#if MIN_VERSION_ghc_prim(0,8,0)+pattern W16# x <- (W.W16# (word16ToWord# -> x)) where+  W16# x = W.W16# (wordToWord16# x)+#else+pattern W16# = W16#+#endif++pattern W32# :: Word# -> Word32+#if MIN_VERSION_ghc_prim(0,8,0)+pattern W32# x <- (W.W32# (word32ToWord# -> x)) where+  W32# x = W.W32# (wordToWord32# x)+#else+pattern W32# = W32#+#endif
+ word-compat.cabal view
@@ -0,0 +1,41 @@+cabal-version:      2.4+name:               word-compat+version:            0.0++-- A short (one-line) description of the package.+synopsis: Compatibility shim for the Int/Word internal change in GHC 9.2++-- A longer description of the package.+description: This package offers a workaround for the breaking change in Word/Int. Import GHC.Word.Compat in place of GHC.Word to take effect.++-- A URL where users can report bugs.+-- bug-reports:++-- The license under which the package is released.+license:            BSD-3-Clause+author:             Fumiaki Kinoshita+maintainer:         fumiexcel@gmail.com++-- A copyright notice.+copyright: Copyright (c) 2022 Fumiaki Kinoshita+category: Data+extra-source-files: CHANGELOG.md++source-repository head+  type: git+  location: git@github.com:fumieval/word-compat++library+    exposed-modules:+        GHC.Word.Compat+        GHC.Int.Compat++    -- Modules included in this executable, other than Main.+    -- other-modules:++    -- LANGUAGE extensions used by modules in this package.+    -- other-extensions:+    build-depends:    base >= 4.10 && <5, ghc-prim+    hs-source-dirs:   src+    ghc-options: -Wall -Wcompat+    default-language: Haskell2010