packages feed

dataframe-core 1.1.0.3 → 1.1.0.4

raw patch · 3 files changed

+15/−17 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

dataframe-core.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               dataframe-core-version:            1.1.0.3+version:            1.1.0.4 synopsis:           Core data structures for the dataframe library. description:     Minimal interchange-format types for the @dataframe@ ecosystem:
src/DataFrame/Display/Terminal/Colours.hs view
@@ -1,14 +1,7 @@ module DataFrame.Display.Terminal.Colours where --- terminal color functions-red :: String -> String-red s = "\ESC[31m" ++ s ++ "\ESC[0m"--green :: String -> String-green s = "\ESC[32m" ++ s ++ "\ESC[0m"--brightGreen :: String -> String-brightGreen s = "\ESC[92m" ++ s ++ "\ESC[0m"--brightBlue :: String -> String-brightBlue s = "\ESC[94m" ++ s ++ "\ESC[0m"+red, green, brightGreen, brightBlue :: String -> String+red = id+green = id+brightGreen = id+brightBlue = id
src/DataFrame/Internal/AggPlan.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE BangPatterns #-} {-# LANGUAGE ExplicitNamespaces #-} {-# LANGUAGE GADTs #-}@@ -50,7 +51,7 @@     Expr (..),     UExpr (..),  )-import Type.Reflection (typeRep)+import Type.Reflection (Typeable, typeRep)  {- | The plan 'planAgg' produces for a recognised output expression. The median plan carries only the column name (the holistic grouped sort lives in the@@ -70,7 +71,7 @@ clean unboxed vector. -} planAgg :: GroupedDataFrame -> UExpr -> Maybe AggPlan-planAgg gdf (UExpr expr) = case expr of+planAgg gdf (UExpr (expr :: Expr a)) = case expr of     Agg (FoldAgg tag _ _) (Col name) -> foldPlan tag name     Agg (MergeAgg tag _ _ _ _) (Col name) -> mergePlan tag name     Agg (CollectAgg tag _) (Col name) -> collectPlan tag name@@ -89,9 +90,13 @@         "maximum" -> require name (PlanScatter RMax name)         _ -> Nothing     mergePlan tag name = case tag of-        "mean" -> require name (PlanScatter RMean name)-        "count" -> require name (PlanScatter RCount name)+        "mean" -> outputType @Double >> require name (PlanScatter RMean name)+        "count" -> outputType @Int >> require name (PlanScatter RCount name)         _ -> Nothing+    outputType :: forall t. (Typeable t) => Maybe ()+    outputType = case testEquality (typeRep @a) (typeRep @t) of+        Just Refl -> Just ()+        Nothing -> Nothing     collectPlan tag name = case tag of         "stddev" -> require name (PlanScatter RStd name)         "variance" -> require name (PlanScatter RVar name)