futhark-manifest 1.3.0.0 → 1.4.0.0
raw patch · 4 files changed
+26/−10 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Futhark.Manifest: [arrayNewRaw] :: ArrayOps -> CFuncName
+ Futhark.Manifest: [arrayValuesRaw] :: ArrayOps -> CFuncName
- Futhark.Manifest: ArrayOps :: CFuncName -> CFuncName -> CFuncName -> CFuncName -> ArrayOps
+ Futhark.Manifest: ArrayOps :: CFuncName -> CFuncName -> CFuncName -> CFuncName -> CFuncName -> CFuncName -> ArrayOps
Files
- CHANGELOG.md +4/−0
- futhark-manifest.cabal +2/−2
- src/Futhark/Manifest.hs +19/−7
- tests/Tests.hs +1/−1
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for futhark-manifest +## 1.4.0.0++* Added `arrayNewRaw` and `arrayRaw`.+ ## 1.3.0.0 * Added `SumOps` and `SumVariant`.
futhark-manifest.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: futhark-manifest-version: 1.3.0.0+version: 1.4.0.0 synopsis: Definition and serialisation instances for Futhark manifests. @@ -14,7 +14,7 @@ maintainer: athas@sigkill.dk category: Futhark-extra-source-files: CHANGELOG.md+extra-doc-files: CHANGELOG.md source-repository head type: git
src/Futhark/Manifest.hs view
@@ -1,5 +1,7 @@+{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE StrictData #-} {-# LANGUAGE TupleSections #-} -- | C manifest data structure and serialisation to JSON.@@ -93,7 +95,9 @@ { arrayFree :: CFuncName, arrayShape :: CFuncName, arrayValues :: CFuncName,- arrayNew :: CFuncName+ arrayNew :: CFuncName,+ arrayNewRaw :: CFuncName,+ arrayValuesRaw :: CFuncName } deriving (Eq, Ord, Show) @@ -189,12 +193,14 @@ deriving (Eq, Ord, Show) instance JSON.ToJSON ArrayOps where- toJSON (ArrayOps free shape values new) =+ toJSON (ArrayOps {arrayFree, arrayShape, arrayValues, arrayNew, arrayNewRaw, arrayValuesRaw}) = object- [ ("free", toJSON free),- ("shape", toJSON shape),- ("values", toJSON values),- ("new", toJSON new)+ [ ("free", toJSON arrayFree),+ ("shape", toJSON arrayShape),+ ("values", toJSON arrayValues),+ ("new", toJSON arrayNew),+ ("new_raw", toJSON arrayNewRaw),+ ("values_raw", toJSON arrayValuesRaw) ] instance JSON.ToJSON RecordField where@@ -289,7 +295,13 @@ instance JSON.FromJSON ArrayOps where parseJSON = JSON.withObject "ArrayOps" $ \v ->- ArrayOps <$> v .: "free" <*> v .: "shape" <*> v .: "values" <*> v .: "new"+ ArrayOps+ <$> v .: "free"+ <*> v .: "shape"+ <*> v .: "values"+ <*> v .: "new"+ <*> v .: "new_raw"+ <*> v .: "values_raw" instance JSON.FromJSON RecordField where parseJSON = JSON.withObject "RecordField" $ \v ->
tests/Tests.hs view
@@ -13,7 +13,7 @@ -- for testing serialisation. instance Arbitrary ArrayOps where- arbitrary = ArrayOps <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ arbitrary = ArrayOps <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary instance Arbitrary RecordField where arbitrary = RecordField <$> arbitrary <*> arbitrary <*> arbitrary