packages feed

ghc-experimental 9.1003.0 → 9.1201.0

raw patch · 4 files changed

+69/−8 lines, 4 filesdep ~basedep ~ghc-internaldep ~ghc-prim

Dependency ranges changed: base, ghc-internal, ghc-prim

Files

ghc-experimental.cabal view
@@ -6,7 +6,7 @@ name:               ghc-experimental -- The project is ghc's version plus ghc-experimental's version suffix. -- For example, for ghc=9.10.1, ghc-experimental's version will be 9.1001.0.-version:            9.1003.0+version:            9.1201.0 synopsis:           Experimental features of GHC's standard library description:     This package is where experimental GHC standard library interfaces start@@ -29,17 +29,18 @@ library     import:           warnings     exposed-modules:+      Data.Sum.Experimental+      Data.Tuple.Experimental       GHC.PrimOps       GHC.Profiling.Eras-      Data.Tuple.Experimental-      Data.Sum.Experimental+      GHC.TypeLits.Experimental+      GHC.TypeNats.Experimental       Prelude.Experimental     if arch(wasm32)         exposed-modules:  GHC.Wasm.Prim     other-extensions:-    build-depends:    base ^>=4.20,-                      ghc-internal == 9.1003.*,-                      ghc-prim >= 0.11 && < 0.13+    build-depends:    base >=4.20 && < 4.22,+                      ghc-internal == 9.1201.*,+                      ghc-prim >= 0.11 && < 0.14     hs-source-dirs:   src     default-language: Haskell2010-    ghc-options: -this-unit-id ghc-experimental
src/Data/Tuple/Experimental.hs view
@@ -21,7 +21,7 @@    -- * Unboxed tuples   Unit#,-  Solo#,+  Solo#(..),   Tuple0#,   Tuple1#,   Tuple2#,
+ src/GHC/TypeLits/Experimental.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoStarIsType #-}+{-# LANGUAGE TypeOperators #-}+module GHC.TypeLits.Experimental (+    appendSSymbol,+    consSSymbol,+    sCharToSNat,+    sNatToSChar,+) where++import GHC.Internal.TypeLits+import Data.Char (ord, chr)++appendSSymbol :: SSymbol a -> SSymbol b -> SSymbol (AppendSymbol a b)+appendSSymbol (UnsafeSSymbol a) (UnsafeSSymbol b) = UnsafeSSymbol (a ++ b)++consSSymbol :: SChar a -> SSymbol b -> SSymbol (ConsSymbol a b)+consSSymbol (UnsafeSChar a) (UnsafeSSymbol b) = UnsafeSSymbol (a : b)++sCharToSNat :: SChar a -> SNat (CharToNat a)+sCharToSNat (UnsafeSChar a) = UnsafeSNat (fromIntegral (ord a))++sNatToSChar :: (n <= 1114111) => SNat n -> SChar (NatToChar n)+sNatToSChar (UnsafeSNat n) = UnsafeSChar (chr (fromIntegral n))
+ src/GHC/TypeNats/Experimental.hs view
@@ -0,0 +1,36 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoStarIsType #-}+{-# LANGUAGE TypeOperators #-}+module GHC.TypeNats.Experimental (+    plusSNat,+    timesSNat,+    powerSNat,+    minusSNat,+    divSNat,+    modSNat,+    log2SNat,+) where++import GHC.Internal.TypeNats+import GHC.Num.Natural (naturalLog2)++plusSNat :: SNat n -> SNat m -> SNat (n + m)+plusSNat (UnsafeSNat n) (UnsafeSNat m) = UnsafeSNat (n + m)++timesSNat :: SNat n -> SNat m -> SNat (n * m)+timesSNat (UnsafeSNat n) (UnsafeSNat m) = UnsafeSNat (n * m)++powerSNat :: SNat n -> SNat m -> SNat (n ^ m)+powerSNat (UnsafeSNat n) (UnsafeSNat m) = UnsafeSNat (n ^ m)++minusSNat :: (m <= n) => SNat n -> SNat m -> SNat (n - m)+minusSNat (UnsafeSNat n) (UnsafeSNat m) = UnsafeSNat (n - m)++divSNat :: (1 <= m) => SNat n -> SNat m -> SNat (Div n m)+divSNat (UnsafeSNat n) (UnsafeSNat m) = UnsafeSNat (div n m)++modSNat :: (1 <= m) => SNat n -> SNat m -> SNat (Mod n m)+modSNat (UnsafeSNat n) (UnsafeSNat m) = UnsafeSNat (mod n m)++log2SNat :: (1 <= n) => SNat n -> SNat (Log2 n)+log2SNat (UnsafeSNat n) = UnsafeSNat (fromIntegral (naturalLog2 n))