diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index d23f4811..81278f87 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - solution: [juliadf, juliads, data.table, collapse, dplyr, pandas, polars, R-arrow, duckdb, datafusion, dask, clickhouse, chdb] + solution: [juliadf, juliads, data.table, collapse, dplyr, pandas, polars, R-arrow, duckdb, datafusion, dask, clickhouse, chdb, haskell] name: Solo solutions runs-on: ubuntu-latest env: diff --git a/haskell/VERSION b/haskell/VERSION index 0d04db05..f8d7555f 100644 --- a/haskell/VERSION +++ b/haskell/VERSION @@ -1 +1 @@ -2.2.0.0 +3.1.0.0 diff --git a/haskell/groupby-haskell.hs b/haskell/groupby-haskell.hs index 01ebec30..360fa4a0 100755 --- a/haskell/groupby-haskell.hs +++ b/haskell/groupby-haskell.hs @@ -22,7 +22,7 @@ import DataFrame.IO.CSV ( import DataFrame.IO.CSV.Fast import DataFrame.Internal.DataFrame (DataFrame) import DataFrame.Internal.Expression (AggStrategy (..), Expr (..)) -import DataFrame.Internal.Schema (schemaType) +import DataFrame.Schema (schemaType) import qualified DataFrame.Operations.Aggregation as D import qualified DataFrame.Operations.Core as D import qualified DataFrame.Operations.Subset as D @@ -206,6 +206,7 @@ runBenchmark srcFile dataName machineType = do , "syy" .= F.sum (F.col @Double "v2v2") ] >>> D.derive "r2" r2Expr + >>> D.select [F.name id2, F.name id4, "r2"] ) (\res -> [chkSumDbl "r2" res]) @@ -215,9 +216,9 @@ runBenchmark srcFile dataName machineType = do df "sum v3 count by id1:id6" ( D.groupBy (map ((\i n -> i <> (T.pack . show) n) "id") [1 .. 6]) - >>> D.aggregate [F.sum v3 `F.as` "v3_sum"] + >>> D.aggregate ["v3" .= F.sum v3, "count" .= F.count v3] ) - (\res -> [chkSumDbl "v3_sum" res]) + (\res -> [chkSumDbl "v3" res, chkSumInt "count" res]) writeToLogFile config "finish" putStrLn "Haskell dataframe groupby benchmark completed!" diff --git a/haskell/haskell-benchmark.cabal b/haskell/haskell-benchmark.cabal index 8817f4b7..6c641c05 100644 --- a/haskell/haskell-benchmark.cabal +++ b/haskell/haskell-benchmark.cabal @@ -7,11 +7,11 @@ common df-deps build-depends: base >= 4.7 && < 5 , bytestring >= 0.11 && < 0.13 , cassava >= 0.1 && < 1 - , dataframe-core ^>= 1.0.2 - , dataframe-parsing ^>= 1.0 - , dataframe-csv ^>= 1.0 - , dataframe-operations ^>= 1.1 - , dataframe-fastcsv ^>= 1.1 + , dataframe-core ^>= 2.1 + , dataframe-parsing ^>= 2.1 + , dataframe-csv ^>= 2.1 + , dataframe-operations ^>= 2.1 + , dataframe-fastcsv ^>= 1.3 , text >= 2.1 , vector >= 0.12 , time >= 1.9 diff --git a/haskell/join-haskell.hs b/haskell/join-haskell.hs index 5e2b0291..79d988a2 100644 --- a/haskell/join-haskell.hs +++ b/haskell/join-haskell.hs @@ -20,7 +20,7 @@ import DataFrame.IO.CSV ( ) import DataFrame.IO.CSV.Fast (fastReadCsvWithOpts) import DataFrame.Internal.DataFrame (DataFrame) -import DataFrame.Internal.Schema (SchemaType, schemaType) +import DataFrame.Schema (SchemaType, schemaType) import qualified DataFrame.Operations.Core as D import qualified DataFrame.Operations.Join as DJ import Numeric (showEFloat) diff --git a/haskell/timeq.hs b/haskell/timeq.hs index b4b54182..5b526c65 100644 --- a/haskell/timeq.hs +++ b/haskell/timeq.hs @@ -19,7 +19,7 @@ import DataFrame.IO.CSV (ReadOptions (..), TypeSpec (..), defaultReadOptions) import DataFrame.IO.CSV.Fast import DataFrame.Internal.DataFrame (DataFrame, rowToGroup) import DataFrame.Internal.Expression (AggStrategy (..), Expr (..)) -import DataFrame.Internal.Schema (schemaType) +import DataFrame.Schema (schemaType) import qualified DataFrame.Operations.Aggregation as D import qualified DataFrame.Operations.Core as D import qualified DataFrame.Operations.Subset as D