packages feed

dataframe 3.2.0.1 → 3.3.0.0

raw patch · 13 files changed

+123/−110 lines, 13 filesdep ~dataframedep ~dataframe-coredep ~dataframe-csvPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: dataframe, dataframe-core, dataframe-csv, dataframe-csv-th, dataframe-expr-serializer, dataframe-fastcsv, dataframe-json, dataframe-lazy, dataframe-learn, dataframe-operations, dataframe-parquet, dataframe-parquet-th, dataframe-parsing, dataframe-th, dataframe-viz

API changes (from Hackage documentation)

- DataFrame.Typed: data Column (name :: Symbol) a
- DataFrame: schemaColumnNames :: forall (cols :: [Type]). KnownSchema cols => [Text]
+ DataFrame: schemaColumnNames :: forall (cols :: [(Symbol, Type)]). KnownSchema cols => [Text]
- DataFrame: type Schema a :: [Type];
+ DataFrame: type Schema a :: [(Symbol, Type)];
- DataFrame: type family Schema a :: [Type]
+ DataFrame: type family Schema a :: [(Symbol, Type)]
- DataFrame.Typed: (.&&.) :: forall (cols :: [Type]). TExpr cols Bool -> TExpr cols Bool -> TExpr cols Bool
+ DataFrame.Typed: (.&&.) :: forall (cols :: [(Symbol, Type)]). TExpr cols Bool -> TExpr cols Bool -> TExpr cols Bool
- DataFrame.Typed: (.*) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
+ DataFrame.Typed: (.*) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
- DataFrame.Typed: (.+) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
+ DataFrame.Typed: (.+) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
- DataFrame.Typed: (.-) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
+ DataFrame.Typed: (.-) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
- DataFrame.Typed: (./) :: forall a b (cols :: [Type]). (DivWidenOp (BaseType a) (BaseType b), NullLift2Op a b (PromoteDiv (BaseType a) (BaseType b)) (WidenResultDiv a b), Fractional (PromoteDiv (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResultDiv a b)
+ DataFrame.Typed: (./) :: forall a b (cols :: [(Symbol, Type)]). (DivWidenOp (BaseType a) (BaseType b), NullLift2Op a b (PromoteDiv (BaseType a) (BaseType b)) (WidenResultDiv a b), Fractional (PromoteDiv (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResultDiv a b)
- DataFrame.Typed: (./=) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Eq (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (./=) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Eq (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (./=.) :: forall a (cols :: [Type]). (Columnable a, Eq a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (./=.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Eq a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.<) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.<) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.<.) :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.<.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.<=) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.<=) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.<=.) :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.<=.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.==) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Eq (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.==) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Eq (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.==.) :: forall a (cols :: [Type]). (Columnable a, Eq a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.==.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Eq a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.>) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.>) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.>.) :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.>.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.>=) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.>=) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.>=.) :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.>=.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.||.) :: forall (cols :: [Type]). TExpr cols Bool -> TExpr cols Bool -> TExpr cols Bool
+ DataFrame.Typed: (.||.) :: forall (cols :: [(Symbol, Type)]). TExpr cols Bool -> TExpr cols Bool -> TExpr cols Bool
- DataFrame.Typed: (|||) :: forall (left :: [Type]) (right :: [Type]). AssertDisjoint left right => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (Append left right)
+ DataFrame.Typed: (|||) :: forall (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). AssertDisjoint left right => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (Append left right)
- DataFrame.Typed: TExpr :: Expr a -> TExpr (cols :: [Type]) a
+ DataFrame.Typed: TExpr :: Expr a -> TExpr (cols :: [(Symbol, Type)]) a
- DataFrame.Typed: [Asc] :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
+ DataFrame.Typed: [Asc] :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
- DataFrame.Typed: [Desc] :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
+ DataFrame.Typed: [Desc] :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
- DataFrame.Typed: [unTExpr] :: TExpr (cols :: [Type]) a -> Expr a
+ DataFrame.Typed: [unTExpr] :: TExpr (cols :: [(Symbol, Type)]) a -> Expr a
- DataFrame.Typed: aggregate :: forall (keys :: [Symbol]) (cols :: [Type]) (aggs :: [Type]). (TAgg keys cols ('[] :: [Type]) -> TAgg keys cols aggs) -> TypedGrouped keys cols -> TypedDataFrame (Append (GroupKeyColumns keys cols) (Reverse aggs))
+ DataFrame.Typed: aggregate :: forall (keys :: [Symbol]) (cols :: [(Symbol, Type)]) (aggs :: [(Symbol, Type)]). (TAgg keys cols ('[] :: [(Symbol, Type)]) -> TAgg keys cols aggs) -> TypedGrouped keys cols -> TypedDataFrame (Append (GroupKeyColumns keys cols) (Reverse aggs))
- DataFrame.Typed: aggregateUntyped :: forall (keys :: [Symbol]) (cols :: [Type]). [NamedExpr] -> TypedGrouped keys cols -> DataFrame
+ DataFrame.Typed: aggregateUntyped :: forall (keys :: [Symbol]) (cols :: [(Symbol, Type)]). [NamedExpr] -> TypedGrouped keys cols -> DataFrame
- DataFrame.Typed: append :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: append :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: applyAtIndex :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => Int -> (a -> a) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: applyAtIndex :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => Int -> (a -> a) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: applyColumn :: forall (name :: Symbol) a b (cols :: [Type]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Columnable b, AssertPresent name cols) => (a -> b) -> TypedDataFrame cols -> TypedDataFrame (SetColumnType name b cols)
+ DataFrame.Typed: applyColumn :: forall (name :: Symbol) a b (cols :: [(Symbol, Type)]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Columnable b, AssertPresent name cols) => (a -> b) -> TypedDataFrame cols -> TypedDataFrame (SetColumnType name b cols)
- DataFrame.Typed: applyMany :: forall (names :: [Symbol]) a (cols :: [Type]). (AllKnownSymbol names, Columnable a, AssertAllColumnsHaveType names a cols) => (a -> a) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: applyMany :: forall (names :: [Symbol]) a (cols :: [(Symbol, Type)]). (AllKnownSymbol names, Columnable a, AssertAllColumnsHaveType names a cols) => (a -> a) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: applyWhere :: forall (filterName :: Symbol) (targetName :: Symbol) a b (cols :: [Type]). (KnownSymbol filterName, KnownSymbol targetName, a ~ SafeLookup filterName cols, b ~ SafeLookup targetName cols, Columnable a, Columnable b, AssertPresent filterName cols, AssertPresent targetName cols) => (a -> Bool) -> (b -> b) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: applyWhere :: forall (filterName :: Symbol) (targetName :: Symbol) a b (cols :: [(Symbol, Type)]). (KnownSymbol filterName, KnownSymbol targetName, a ~ SafeLookup filterName cols, b ~ SafeLookup targetName cols, Columnable a, Columnable b, AssertPresent filterName cols, AssertPresent targetName cols) => (a -> Bool) -> (b -> b) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: as :: forall (name :: Symbol) a (keys :: [Symbol]) (cols :: [Type]) (aggs :: [Type]). (KnownSymbol name, Columnable a) => TExpr cols a -> TAgg keys cols aggs -> TAgg keys cols (Column name a ': aggs)
+ DataFrame.Typed: as :: forall (name :: Symbol) a (keys :: [Symbol]) (cols :: [(Symbol, Type)]) (aggs :: [(Symbol, Type)]). (KnownSymbol name, Columnable a) => TExpr cols a -> TAgg keys cols aggs -> TAgg keys cols ('(name, a) ': aggs)
- DataFrame.Typed: asc :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
+ DataFrame.Typed: asc :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
- DataFrame.Typed: bind :: forall a m b (cols :: [Type]). (Columnable a, Columnable (m a), Monad m, Columnable b, Columnable (m b)) => (a -> m b) -> TExpr cols (m a) -> TExpr cols (m b)
+ DataFrame.Typed: bind :: forall a m b (cols :: [(Symbol, Type)]). (Columnable a, Columnable (m a), Monad m, Columnable b, Columnable (m b)) => (a -> m b) -> TExpr cols (m a) -> TExpr cols (m b)
- DataFrame.Typed: castExpr :: forall b (cols :: [Type]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols (Maybe b)
+ DataFrame.Typed: castExpr :: forall b (cols :: [(Symbol, Type)]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols (Maybe b)
- DataFrame.Typed: castExprEither :: forall b (cols :: [Type]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols (Either Text b)
+ DataFrame.Typed: castExprEither :: forall b (cols :: [(Symbol, Type)]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols (Either Text b)
- DataFrame.Typed: castExprWithDefault :: forall b (cols :: [Type]) src. (Columnable b, Columnable src, Read b) => b -> TExpr cols src -> TExpr cols b
+ DataFrame.Typed: castExprWithDefault :: forall b (cols :: [(Symbol, Type)]) src. (Columnable b, Columnable src, Read b) => b -> TExpr cols src -> TExpr cols b
- DataFrame.Typed: class KnownSchema (cols :: [Type])
+ DataFrame.Typed: class KnownSchema (cols :: [(Symbol, Type)])
- DataFrame.Typed: cloneColumn :: forall (old :: Symbol) (new :: Symbol) (cols :: [Type]). (KnownSymbol old, KnownSymbol new, AssertPresent old cols, AssertAbsent new cols) => TypedDataFrame cols -> TypedDataFrame (Column new (Lookup old cols) ': cols)
+ DataFrame.Typed: cloneColumn :: forall (old :: Symbol) (new :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol old, KnownSymbol new, AssertPresent old cols, AssertAbsent new cols) => TypedDataFrame cols -> TypedDataFrame ('(new, Lookup old cols) ': cols)
- DataFrame.Typed: col :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TExpr cols a
+ DataFrame.Typed: col :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TExpr cols a
- DataFrame.Typed: collect :: forall a (cols :: [Type]). Columnable a => TExpr cols a -> TExpr cols [a]
+ DataFrame.Typed: collect :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols a -> TExpr cols [a]
- DataFrame.Typed: columnAsDoubleVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsDoubleVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Double
+ DataFrame.Typed: columnAsDoubleVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsDoubleVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Double
- DataFrame.Typed: columnAsFloatVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsFloatVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Float
+ DataFrame.Typed: columnAsFloatVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsFloatVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Float
- DataFrame.Typed: columnAsIntVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsIntVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Int
+ DataFrame.Typed: columnAsIntVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsIntVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Int
- DataFrame.Typed: columnAsList :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TypedDataFrame cols -> [a]
+ DataFrame.Typed: columnAsList :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TypedDataFrame cols -> [a]
- DataFrame.Typed: columnAsUnboxedVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector a
+ DataFrame.Typed: columnAsUnboxedVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector a
- DataFrame.Typed: columnAsVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TypedDataFrame cols -> Vector a
+ DataFrame.Typed: columnAsVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TypedDataFrame cols -> Vector a
- DataFrame.Typed: columnNames :: forall (cols :: [Type]). TypedDataFrame cols -> [Text]
+ DataFrame.Typed: columnNames :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> [Text]
- DataFrame.Typed: count :: forall a (cols :: [Type]). Columnable a => TExpr cols a -> TExpr cols Int
+ DataFrame.Typed: count :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols a -> TExpr cols Int
- DataFrame.Typed: countAll :: forall (cols :: [Type]). TExpr cols Int
+ DataFrame.Typed: countAll :: forall (cols :: [(Symbol, Type)]). TExpr cols Int
- DataFrame.Typed: cube :: forall (cols :: [Type]). (Int, Int) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: cube :: forall (cols :: [(Symbol, Type)]). (Int, Int) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: data TSortOrder (cols :: [Type])
+ DataFrame.Typed: data TSortOrder (cols :: [(Symbol, Type)])
- DataFrame.Typed: data TypedDataFrame (cols :: [Type])
+ DataFrame.Typed: data TypedDataFrame (cols :: [(Symbol, Type)])
- DataFrame.Typed: data TypedGrouped (keys :: [Symbol]) (cols :: [Type])
+ DataFrame.Typed: data TypedGrouped (keys :: [Symbol]) (cols :: [(Symbol, Type)])
- DataFrame.Typed: daysBetween :: forall (cols :: [Type]). TExpr cols Day -> TExpr cols Day -> TExpr cols Int
+ DataFrame.Typed: daysBetween :: forall (cols :: [(Symbol, Type)]). TExpr cols Day -> TExpr cols Day -> TExpr cols Int
- DataFrame.Typed: derive :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => TExpr cols a -> TypedDataFrame cols -> TypedDataFrame (Snoc cols (Column name a))
+ DataFrame.Typed: derive :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => TExpr cols a -> TypedDataFrame cols -> TypedDataFrame (Snoc cols '(name, a))
- DataFrame.Typed: deriveWithExpr :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => TExpr cols a -> TypedDataFrame cols -> (TExpr (Snoc cols (Column name a)) a, TypedDataFrame (Snoc cols (Column name a)))
+ DataFrame.Typed: deriveWithExpr :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => TExpr cols a -> TypedDataFrame cols -> (TExpr (Snoc cols '(name, a)) a, TypedDataFrame (Snoc cols '(name, a)))
- DataFrame.Typed: desc :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
+ DataFrame.Typed: desc :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
- DataFrame.Typed: difference :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: difference :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: dimensions :: forall (cols :: [Type]). TypedDataFrame cols -> (Int, Int)
+ DataFrame.Typed: dimensions :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> (Int, Int)
- DataFrame.Typed: distinct :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: distinct :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: div :: forall a (cols :: [Type]). (Integral a, Columnable a) => TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: div :: forall a (cols :: [(Symbol, Type)]). (Integral a, Columnable a) => TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: drop :: forall (cols :: [Type]). Int -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: drop :: forall (cols :: [(Symbol, Type)]). Int -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: dropColumn :: forall (name :: Symbol) (cols :: [Type]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame (RemoveColumn name cols)
+ DataFrame.Typed: dropColumn :: forall (name :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame (RemoveColumn name cols)
- DataFrame.Typed: dropLast :: forall (cols :: [Type]). Int -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: dropLast :: forall (cols :: [(Symbol, Type)]). Int -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: exclude :: forall (names :: [Symbol]) (cols :: [Type]). AllKnownSymbol names => TypedDataFrame cols -> TypedDataFrame (ExcludeSchema names cols)
+ DataFrame.Typed: exclude :: forall (names :: [Symbol]) (cols :: [(Symbol, Type)]). AllKnownSymbol names => TypedDataFrame cols -> TypedDataFrame (ExcludeSchema names cols)
- DataFrame.Typed: filter :: forall a (cols :: [Type]). Columnable a => TExpr cols a -> (a -> Bool) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filter :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols a -> (a -> Bool) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: filterAllJust :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame (StripAllMaybe cols)
+ DataFrame.Typed: filterAllJust :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame (StripAllMaybe cols)
- DataFrame.Typed: filterAllNothing :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filterAllNothing :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: filterBy :: forall a (cols :: [Type]). Columnable a => (a -> Bool) -> TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filterBy :: forall a (cols :: [(Symbol, Type)]). Columnable a => (a -> Bool) -> TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: filterJust :: forall (name :: Symbol) (cols :: [Type]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame (StripMaybeAt name cols)
+ DataFrame.Typed: filterJust :: forall (name :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame (StripMaybeAt name cols)
- DataFrame.Typed: filterNothing :: forall (name :: Symbol) (cols :: [Type]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filterNothing :: forall (name :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: filterWhere :: forall (cols :: [Type]). TExpr cols Bool -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filterWhere :: forall (cols :: [(Symbol, Type)]). TExpr cols Bool -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: firstOrNothing :: forall a (cols :: [Type]). Columnable a => TExpr cols [a] -> TExpr cols (Maybe a)
+ DataFrame.Typed: firstOrNothing :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols [a] -> TExpr cols (Maybe a)
- DataFrame.Typed: freeze :: forall (cols :: [Type]). KnownSchema cols => DataFrame -> Maybe (TypedDataFrame cols)
+ DataFrame.Typed: freeze :: forall (cols :: [(Symbol, Type)]). KnownSchema cols => DataFrame -> Maybe (TypedDataFrame cols)
- DataFrame.Typed: freezeWithError :: forall (cols :: [Type]). KnownSchema cols => DataFrame -> Either Text (TypedDataFrame cols)
+ DataFrame.Typed: freezeWithError :: forall (cols :: [(Symbol, Type)]). KnownSchema cols => DataFrame -> Either Text (TypedDataFrame cols)
- DataFrame.Typed: fromJust :: forall a (cols :: [Type]). Columnable a => TExpr cols (Maybe a) -> TExpr cols a
+ DataFrame.Typed: fromJust :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols (Maybe a) -> TExpr cols a
- DataFrame.Typed: fromMaybe :: forall a (cols :: [Type]). Columnable a => a -> TExpr cols (Maybe a) -> TExpr cols a
+ DataFrame.Typed: fromMaybe :: forall a (cols :: [(Symbol, Type)]). Columnable a => a -> TExpr cols (Maybe a) -> TExpr cols a
- DataFrame.Typed: fullOuterJoin :: forall (keys :: [Symbol]) (left :: [Type]) (right :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (FullOuterJoinSchema keys left right)
+ DataFrame.Typed: fullOuterJoin :: forall (keys :: [Symbol]) (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (FullOuterJoinSchema keys left right)
- DataFrame.Typed: groupBy :: forall (keys :: [Symbol]) (cols :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys cols) => TypedDataFrame cols -> TypedGrouped keys cols
+ DataFrame.Typed: groupBy :: forall (keys :: [Symbol]) (cols :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys cols) => TypedDataFrame cols -> TypedGrouped keys cols
- DataFrame.Typed: ifThenElse :: forall a (cols :: [Type]). Columnable a => TExpr cols Bool -> TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: ifThenElse :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols Bool -> TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: impute :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, Maybe a ~ Lookup name cols) => a -> TypedDataFrame cols -> TypedDataFrame (Impute name cols)
+ DataFrame.Typed: impute :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, Maybe a ~ Lookup name cols) => a -> TypedDataFrame cols -> TypedDataFrame (Impute name cols)
- DataFrame.Typed: innerJoin :: forall (keys :: [Symbol]) (left :: [Type]) (right :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (InnerJoinSchema keys left right)
+ DataFrame.Typed: innerJoin :: forall (keys :: [Symbol]) (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (InnerJoinSchema keys left right)
- DataFrame.Typed: insert :: forall (name :: Symbol) a (cols :: [Type]) t. (KnownSymbol name, Columnable a, Foldable t, AssertAbsent name cols) => t a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insert :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]) t. (KnownSymbol name, Columnable a, Foldable t, AssertAbsent name cols) => t a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertColumn :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => Column -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertColumn :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => Column -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertUnboxedVector :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, Unbox a, AssertAbsent name cols) => Vector a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertUnboxedVector :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, Unbox a, AssertAbsent name cols) => Vector a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertVector :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => Vector a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertVector :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => Vector a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertVectorWithDefault :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => a -> Vector a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertVectorWithDefault :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => a -> Vector a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertWithDefault :: forall (name :: Symbol) a (cols :: [Type]) t. (KnownSymbol name, Columnable a, Foldable t, AssertAbsent name cols) => a -> t a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertWithDefault :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]) t. (KnownSymbol name, Columnable a, Foldable t, AssertAbsent name cols) => a -> t a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: intersect :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: intersect :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: isJust :: forall a (cols :: [Type]). Columnable a => TExpr cols (Maybe a) -> TExpr cols Bool
+ DataFrame.Typed: isJust :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols (Maybe a) -> TExpr cols Bool
- DataFrame.Typed: isNothing :: forall a (cols :: [Type]). Columnable a => TExpr cols (Maybe a) -> TExpr cols Bool
+ DataFrame.Typed: isNothing :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols (Maybe a) -> TExpr cols Bool
- DataFrame.Typed: kFolds :: forall g (cols :: [Type]). RandomGen g => g -> Int -> TypedDataFrame cols -> [TypedDataFrame cols]
+ DataFrame.Typed: kFolds :: forall g (cols :: [(Symbol, Type)]). RandomGen g => g -> Int -> TypedDataFrame cols -> [TypedDataFrame cols]
- DataFrame.Typed: lastOrNothing :: forall a (cols :: [Type]). Columnable a => TExpr cols [a] -> TExpr cols (Maybe a)
+ DataFrame.Typed: lastOrNothing :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols [a] -> TExpr cols (Maybe a)
- DataFrame.Typed: leftJoin :: forall (keys :: [Symbol]) (left :: [Type]) (right :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (LeftJoinSchema keys left right)
+ DataFrame.Typed: leftJoin :: forall (keys :: [Symbol]) (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (LeftJoinSchema keys left right)
- DataFrame.Typed: lift :: forall a b (cols :: [Type]). (Columnable a, Columnable b) => (a -> b) -> TExpr cols a -> TExpr cols b
+ DataFrame.Typed: lift :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b) => (a -> b) -> TExpr cols a -> TExpr cols b
- DataFrame.Typed: lift2 :: forall a b c (cols :: [Type]). (Columnable a, Columnable b, Columnable c) => (a -> b -> c) -> TExpr cols a -> TExpr cols b -> TExpr cols c
+ DataFrame.Typed: lift2 :: forall a b c (cols :: [(Symbol, Type)]). (Columnable a, Columnable b, Columnable c) => (a -> b -> c) -> TExpr cols a -> TExpr cols b -> TExpr cols c
- DataFrame.Typed: lit :: forall a (cols :: [Type]). Columnable a => a -> TExpr cols a
+ DataFrame.Typed: lit :: forall a (cols :: [(Symbol, Type)]). Columnable a => a -> TExpr cols a
- DataFrame.Typed: match :: forall (cols :: [Type]). Text -> TExpr cols Text -> TExpr cols (Maybe Text)
+ DataFrame.Typed: match :: forall (cols :: [(Symbol, Type)]). Text -> TExpr cols Text -> TExpr cols (Maybe Text)
- DataFrame.Typed: matchAll :: forall (cols :: [Type]). Text -> TExpr cols Text -> TExpr cols [Text]
+ DataFrame.Typed: matchAll :: forall (cols :: [(Symbol, Type)]). Text -> TExpr cols Text -> TExpr cols [Text]
- DataFrame.Typed: max :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: max :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: maximum :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: maximum :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: mean :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: mean :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: meanMaybe :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
+ DataFrame.Typed: meanMaybe :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
- DataFrame.Typed: median :: forall a (cols :: [Type]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: median :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: medianMaybe :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
+ DataFrame.Typed: medianMaybe :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
- DataFrame.Typed: min :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: min :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: minimum :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: minimum :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: mod :: forall a (cols :: [Type]). (Integral a, Columnable a) => TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: mod :: forall a (cols :: [(Symbol, Type)]). (Integral a, Columnable a) => TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: mode :: forall a (cols :: [Type]). (Ord a, Columnable a, Eq a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: mode :: forall a (cols :: [(Symbol, Type)]). (Ord a, Columnable a, Eq a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: nColumns :: forall (cols :: [Type]). TypedDataFrame cols -> Int
+ DataFrame.Typed: nColumns :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> Int
- DataFrame.Typed: nRows :: forall (cols :: [Type]). TypedDataFrame cols -> Int
+ DataFrame.Typed: nRows :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> Int
- DataFrame.Typed: newtype TExpr (cols :: [Type]) a
+ DataFrame.Typed: newtype TExpr (cols :: [(Symbol, Type)]) a
- DataFrame.Typed: not :: forall (cols :: [Type]). TExpr cols Bool -> TExpr cols Bool
+ DataFrame.Typed: not :: forall (cols :: [(Symbol, Type)]). TExpr cols Bool -> TExpr cols Bool
- DataFrame.Typed: nullLift :: forall a r (cols :: [Type]). (NullLift1Op a r (NullLift1Result a r), Columnable (NullLift1Result a r)) => (BaseType a -> r) -> TExpr cols a -> TExpr cols (NullLift1Result a r)
+ DataFrame.Typed: nullLift :: forall a r (cols :: [(Symbol, Type)]). (NullLift1Op a r (NullLift1Result a r), Columnable (NullLift1Result a r)) => (BaseType a -> r) -> TExpr cols a -> TExpr cols (NullLift1Result a r)
- DataFrame.Typed: nullLift2 :: forall a b r (cols :: [Type]). (NullLift2Op a b r (NullLift2Result a b r), Columnable (NullLift2Result a b r)) => (BaseType a -> BaseType b -> r) -> TExpr cols a -> TExpr cols b -> TExpr cols (NullLift2Result a b r)
+ DataFrame.Typed: nullLift2 :: forall a b r (cols :: [(Symbol, Type)]). (NullLift2Op a b r (NullLift2Result a b r), Columnable (NullLift2Result a b r)) => (BaseType a -> BaseType b -> r) -> TExpr cols a -> TExpr cols b -> TExpr cols (NullLift2Result a b r)
- DataFrame.Typed: over :: forall (names :: [Symbol]) (cols :: [Type]) a. (Columnable a, AllKnownSymbol names, AssertAllPresent names cols) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: over :: forall (names :: [Symbol]) (cols :: [(Symbol, Type)]) a. (Columnable a, AllKnownSymbol names, AssertAllPresent names cols) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: parseDate :: forall t (cols :: [Type]). (ParseTime t, Columnable t) => Text -> TExpr cols Text -> TExpr cols (Maybe t)
+ DataFrame.Typed: parseDate :: forall t (cols :: [(Symbol, Type)]). (ParseTime t, Columnable t) => Text -> TExpr cols Text -> TExpr cols (Maybe t)
- DataFrame.Typed: percentile :: forall (cols :: [Type]). Int -> TExpr cols Double -> TExpr cols Double
+ DataFrame.Typed: percentile :: forall (cols :: [(Symbol, Type)]). Int -> TExpr cols Double -> TExpr cols Double
- DataFrame.Typed: pow :: forall a (cols :: [Type]). (Columnable a, Num a) => TExpr cols a -> Int -> TExpr cols a
+ DataFrame.Typed: pow :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Num a) => TExpr cols a -> Int -> TExpr cols a
- DataFrame.Typed: randomSplit :: forall g (cols :: [Type]). RandomGen g => g -> Double -> TypedDataFrame cols -> (TypedDataFrame cols, TypedDataFrame cols)
+ DataFrame.Typed: randomSplit :: forall g (cols :: [(Symbol, Type)]). RandomGen g => g -> Double -> TypedDataFrame cols -> (TypedDataFrame cols, TypedDataFrame cols)
- DataFrame.Typed: range :: forall (cols :: [Type]). (Int, Int) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: range :: forall (cols :: [(Symbol, Type)]). (Int, Int) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: recode :: forall a b (cols :: [Type]). (Columnable a, Columnable b, Show a, Show b, Show (a, b)) => [(a, b)] -> TExpr cols a -> TExpr cols (Maybe b)
+ DataFrame.Typed: recode :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b, Show a, Show b, Show (a, b)) => [(a, b)] -> TExpr cols a -> TExpr cols (Maybe b)
- DataFrame.Typed: recodeWithCondition :: forall a b (cols :: [Type]). (Columnable a, Columnable b) => TExpr cols b -> [(TExpr cols a -> TExpr cols Bool, b)] -> TExpr cols a -> TExpr cols b
+ DataFrame.Typed: recodeWithCondition :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b) => TExpr cols b -> [(TExpr cols a -> TExpr cols Bool, b)] -> TExpr cols a -> TExpr cols b
- DataFrame.Typed: recodeWithDefault :: forall a b (cols :: [Type]). (Columnable a, Columnable b, Show (a, b)) => b -> [(a, b)] -> TExpr cols a -> TExpr cols b
+ DataFrame.Typed: recodeWithDefault :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b, Show (a, b)) => b -> [(a, b)] -> TExpr cols a -> TExpr cols b
- DataFrame.Typed: reduce :: forall a b (cols :: [Type]). (Columnable a, Columnable b) => TExpr cols b -> a -> (a -> b -> a) -> TExpr cols a
+ DataFrame.Typed: reduce :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b) => TExpr cols b -> a -> (a -> b -> a) -> TExpr cols a
- DataFrame.Typed: relu :: forall a (cols :: [Type]). (Columnable a, Num a, Ord a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: relu :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Num a, Ord a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: rename :: forall (old :: Symbol) (new :: Symbol) (cols :: [Type]). (KnownSymbol old, KnownSymbol new) => TypedDataFrame cols -> TypedDataFrame (RenameInSchema old new cols)
+ DataFrame.Typed: rename :: forall (old :: Symbol) (new :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol old, KnownSymbol new) => TypedDataFrame cols -> TypedDataFrame (RenameInSchema old new cols)
- DataFrame.Typed: renameMany :: forall (pairs :: [(Symbol, Symbol)]) (cols :: [Type]). AllKnownPairs pairs => TypedDataFrame cols -> TypedDataFrame (RenameManyInSchema pairs cols)
+ DataFrame.Typed: renameMany :: forall (pairs :: [(Symbol, Symbol)]) (cols :: [(Symbol, Type)]). AllKnownPairs pairs => TypedDataFrame cols -> TypedDataFrame (RenameManyInSchema pairs cols)
- DataFrame.Typed: replaceColumn :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, a ~ SafeLookup name cols, AssertPresent name cols) => TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: replaceColumn :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, a ~ SafeLookup name cols, AssertPresent name cols) => TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: rightJoin :: forall (keys :: [Symbol]) (left :: [Type]) (right :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (RightJoinSchema keys left right)
+ DataFrame.Typed: rightJoin :: forall (keys :: [Symbol]) (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (RightJoinSchema keys left right)
- DataFrame.Typed: safeApply :: forall (name :: Symbol) a b (cols :: [Type]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Columnable b, AssertPresent name cols) => (a -> b) -> TypedDataFrame cols -> Either DataFrameException (TypedDataFrame (SetColumnType name b cols))
+ DataFrame.Typed: safeApply :: forall (name :: Symbol) a b (cols :: [(Symbol, Type)]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Columnable b, AssertPresent name cols) => (a -> b) -> TypedDataFrame cols -> Either DataFrameException (TypedDataFrame (SetColumnType name b cols))
- DataFrame.Typed: sample :: forall g (cols :: [Type]). RandomGen g => g -> Double -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: sample :: forall g (cols :: [(Symbol, Type)]). RandomGen g => g -> Double -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: schemaColumnNames :: forall (cols :: [Type]). KnownSchema cols => [Text]
+ DataFrame.Typed: schemaColumnNames :: forall (cols :: [(Symbol, Type)]). KnownSchema cols => [Text]
- DataFrame.Typed: select :: forall (names :: [Symbol]) (cols :: [Type]). (AllKnownSymbol names, AssertAllPresent names cols) => TypedDataFrame cols -> TypedDataFrame (SubsetSchema names cols)
+ DataFrame.Typed: select :: forall (names :: [Symbol]) (cols :: [(Symbol, Type)]). (AllKnownSymbol names, AssertAllPresent names cols) => TypedDataFrame cols -> TypedDataFrame (SubsetSchema names cols)
- DataFrame.Typed: selectRows :: forall (cols :: [Type]). [Int] -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: selectRows :: forall (cols :: [(Symbol, Type)]). [Int] -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: shuffle :: forall g (cols :: [Type]). RandomGen g => g -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: shuffle :: forall g (cols :: [(Symbol, Type)]). RandomGen g => g -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: sortBy :: forall (cols :: [Type]). [TSortOrder cols] -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: sortBy :: forall (cols :: [(Symbol, Type)]). [TSortOrder cols] -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: splitOn :: forall (cols :: [Type]). Text -> TExpr cols Text -> TExpr cols [Text]
+ DataFrame.Typed: splitOn :: forall (cols :: [(Symbol, Type)]). Text -> TExpr cols Text -> TExpr cols [Text]
- DataFrame.Typed: stddev :: forall a (cols :: [Type]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: stddev :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: stddevMaybe :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
+ DataFrame.Typed: stddevMaybe :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
- DataFrame.Typed: stratifiedSample :: forall g a (cols :: [Type]). (SplittableGen g, Columnable a) => g -> Double -> TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: stratifiedSample :: forall g a (cols :: [(Symbol, Type)]). (SplittableGen g, Columnable a) => g -> Double -> TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: stratifiedSplit :: forall g a (cols :: [Type]). (SplittableGen g, Columnable a) => g -> Double -> TExpr cols a -> TypedDataFrame cols -> (TypedDataFrame cols, TypedDataFrame cols)
+ DataFrame.Typed: stratifiedSplit :: forall g a (cols :: [(Symbol, Type)]). (SplittableGen g, Columnable a) => g -> Double -> TExpr cols a -> TypedDataFrame cols -> (TypedDataFrame cols, TypedDataFrame cols)
- DataFrame.Typed: sum :: forall a (cols :: [Type]). (Columnable a, Num a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: sum :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Num a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: sumMaybe :: forall a (cols :: [Type]). (Columnable a, Num a) => TExpr cols (Maybe a) -> TExpr cols a
+ DataFrame.Typed: sumMaybe :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Num a) => TExpr cols (Maybe a) -> TExpr cols a
- DataFrame.Typed: symmetricDifference :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: symmetricDifference :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: take :: forall (cols :: [Type]). Int -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: take :: forall (cols :: [(Symbol, Type)]). Int -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: takeLast :: forall (cols :: [Type]). Int -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: takeLast :: forall (cols :: [(Symbol, Type)]). Int -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: thaw :: forall (cols :: [Type]). TypedDataFrame cols -> DataFrame
+ DataFrame.Typed: thaw :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> DataFrame
- DataFrame.Typed: toDouble :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: toDouble :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: toDoubleMatrix :: forall (cols :: [Type]). AllColumnsReal "toDoubleMatrix" cols => TypedDataFrame cols -> Vector (Vector Double)
+ DataFrame.Typed: toDoubleMatrix :: forall (cols :: [(Symbol, Type)]). AllColumnsReal "toDoubleMatrix" cols => TypedDataFrame cols -> Vector (Vector Double)
- DataFrame.Typed: toFloatMatrix :: forall (cols :: [Type]). AllColumnsReal "toFloatMatrix" cols => TypedDataFrame cols -> Vector (Vector Float)
+ DataFrame.Typed: toFloatMatrix :: forall (cols :: [(Symbol, Type)]). AllColumnsReal "toFloatMatrix" cols => TypedDataFrame cols -> Vector (Vector Float)
- DataFrame.Typed: toIntMatrix :: forall (cols :: [Type]). AllColumnsReal "toIntMatrix" cols => TypedDataFrame cols -> Vector (Vector Int)
+ DataFrame.Typed: toIntMatrix :: forall (cols :: [(Symbol, Type)]). AllColumnsReal "toIntMatrix" cols => TypedDataFrame cols -> Vector (Vector Int)
- DataFrame.Typed: toMaybe :: forall a (cols :: [Type]). Columnable a => TExpr cols a -> TExpr cols (Maybe a)
+ DataFrame.Typed: toMaybe :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols a -> TExpr cols (Maybe a)
- DataFrame.Typed: type Schema a :: [Type];
+ DataFrame.Typed: type Schema a :: [(Symbol, Type)];
- DataFrame.Typed: union :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: union :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: unsafeCastExpr :: forall b (cols :: [Type]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols b
+ DataFrame.Typed: unsafeCastExpr :: forall b (cols :: [(Symbol, Type)]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols b
- DataFrame.Typed: unsafeFreeze :: forall (cols :: [Type]). DataFrame -> TypedDataFrame cols
+ DataFrame.Typed: unsafeFreeze :: forall (cols :: [(Symbol, Type)]). DataFrame -> TypedDataFrame cols
- DataFrame.Typed: valueCounts :: forall a (cols :: [Type]). (Ord a, Columnable a) => TExpr cols a -> TypedDataFrame cols -> [(a, Int)]
+ DataFrame.Typed: valueCounts :: forall a (cols :: [(Symbol, Type)]). (Ord a, Columnable a) => TExpr cols a -> TypedDataFrame cols -> [(a, Int)]
- DataFrame.Typed: valueProportions :: forall a (cols :: [Type]). (Ord a, Columnable a) => TExpr cols a -> TypedDataFrame cols -> [(a, Double)]
+ DataFrame.Typed: valueProportions :: forall a (cols :: [(Symbol, Type)]). (Ord a, Columnable a) => TExpr cols a -> TypedDataFrame cols -> [(a, Double)]
- DataFrame.Typed: variance :: forall a (cols :: [Type]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: variance :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: whenBothPresent :: forall a b c (cols :: [Type]). (Columnable a, Columnable b, Columnable c) => (a -> b -> c) -> TExpr cols (Maybe a) -> TExpr cols (Maybe b) -> TExpr cols (Maybe c)
+ DataFrame.Typed: whenBothPresent :: forall a b c (cols :: [(Symbol, Type)]). (Columnable a, Columnable b, Columnable c) => (a -> b -> c) -> TExpr cols (Maybe a) -> TExpr cols (Maybe b) -> TExpr cols (Maybe c)
- DataFrame.Typed: whenPresent :: forall a b (cols :: [Type]). (Columnable a, Columnable b) => (a -> b) -> TExpr cols (Maybe a) -> TExpr cols (Maybe b)
+ DataFrame.Typed: whenPresent :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b) => (a -> b) -> TExpr cols (Maybe a) -> TExpr cols (Maybe b)
- DataFrame.Typed: zScore :: forall (cols :: [Type]). TExpr cols Double -> TExpr cols Double
+ DataFrame.Typed: zScore :: forall (cols :: [(Symbol, Type)]). TExpr cols Double -> TExpr cols Double

Files

CHANGELOG.md view
@@ -1,5 +1,20 @@ # Revision history for dataframe +## 3.3.0.0++### Breaking changes+* Typed schemas are now type-level lists of promoted pairs instead of the+  `Column` phantom: `'[ '("name", Text), '("age", Int)]` replaces+  `'[Column "name" Text, Column "age" Int]`. `Column` is no longer exported+  from `DataFrame.Typed`; the schema kind is `[(Symbol, Type)]`.+* Coordinated major bumps: `dataframe-core` → `2.2.0.0`,+  `dataframe-operations`/`dataframe-parsing`/`dataframe-learn`/`dataframe-th`+  → `2.2.0.0`, `dataframe-csv`/`dataframe-lazy` → `2.3.0.0`,+  `dataframe-parquet` → `1.5.0.0`, `dataframe-csv-th`/`dataframe-parquet-th`+  → `1.3.0.0`, `dataframe-viz` → `1.3.0.0`, `dataframe-fusion` → `0.2.0.0`,+  `dataframe-persistent` → `0.5.0.0`, with inter-package bounds raised to+  match.+ ## 3.2.0.0  * Restrict CSV reads to selected columns for untyped and typed readers.
README.md view
@@ -289,9 +289,9 @@  ```haskell -- Generates:--- type HousingSchema = '[ DT.Column "longitude" Double---                       , DT.Column "latitude" Double---                       , DT.Column "total_rooms" Double+-- type HousingSchema = '[ '("longitude", Double)+--                       , '("latitude", Double)+--                       , '("total_rooms", Double) --                       , ... --                       ] $(DT.deriveSchemaFromCsvFile "HousingSchema" "./data/housing.csv")@@ -318,7 +318,7 @@ $(DT.deriveSchemaFromType ''Order) -- expands to: --   type OrderSchema =---     '[DT.Column "order_id" Int64, DT.Column "region" Text, DT.Column "amount" Double]+--     '[ '("order_id", Int64), '("region", Text), '("amount", Double)] --   instance DT.HasSchema Order where --     type Schema Order = OrderSchema --     toColumns   = ...@@ -433,9 +433,9 @@  ```haskell type EmployeeSchema =-    '[ DT.Column "name"       Text-     , DT.Column "department" Text-     , DT.Column "salary"     Double+    '[ '("name", Text)+     , '("department", Text)+     , '("salary", Double)      ]  employees <- D.readCsv "./data/employees.csv"@@ -464,7 +464,7 @@ ```text -- Typo in column name -> compile error tdf |> DT.filterWhere (DT.col @"slary" DT..>. DT.lit 50000)--- error: Column "slary" not found in schema+-- error: Column 'slary' not found in schema  -- Wrong type -> compile error tdf |> DT.filterWhere (DT.col @"name" DT..>. DT.lit 50000)@@ -476,7 +476,7 @@   ```haskell-type ScoreSchema = '[ DT.Column "name" Text, DT.Column "score" (Maybe Double) ]+type ScoreSchema = '[ '("name", Text), '("score", Maybe Double)]  scoresDf = D.fromNamedColumns     [ ("name",  D.fromList ["a", "b", "c" :: Text])
app/Synthesis.hs view
@@ -28,7 +28,7 @@  -- Survived is Maybe Int (safeRead = MaybeRead); prediction is Int (model output). type RawPredSchema =-    '[DT.Column "Survived" (Maybe Int), DT.Column "prediction" Int]+    '[ '("Survived", Maybe Int), '("prediction", Int)]  prediction :: D.Expr Int prediction = F.col @Int "prediction"
dataframe.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.4 name:               dataframe-version:            3.2.0.1+version:            3.3.0.0 synopsis: A fast, safe, and intuitive DataFrame library.  description: A fast, safe, and intuitive DataFrame library for exploratory data analysis.@@ -128,18 +128,18 @@                         DataFrame.Typed.Record,                         DataFrame.Typed.Generic     build-depends:    base >= 4 && <5,-                      dataframe-core >= 2.1 && < 2.2,-                      dataframe-json >= 1.2 && < 1.3,-                      dataframe-expr-serializer >= 1.2 && < 1.3,-                      dataframe-operations >= 2.1 && < 2.2,-                      dataframe-parsing >= 2.1 && < 2.2,-                      dataframe-viz >= 1.2 && < 1.3,-                      dataframe-learn >= 2.1 && < 2.2+                      dataframe-core >= 2.2 && < 2.3,+                      dataframe-json >= 1.2.0.1 && < 1.3,+                      dataframe-expr-serializer >= 1.2.0.1 && < 1.3,+                      dataframe-operations >= 2.2 && < 2.3,+                      dataframe-parsing >= 2.2 && < 2.3,+                      dataframe-viz >= 1.3 && < 1.4,+                      dataframe-learn >= 2.2 && < 2.3      if !flag(no-csv)         reexported-modules: DataFrame.IO.CSV,                             DataFrame.Typed.IO.CSV-        build-depends:   dataframe-csv >= 2.2 && < 2.3+        build-depends:   dataframe-csv >= 2.3 && < 2.4         cpp-options:     -DWITH_CSV      if !flag(no-parquet)@@ -157,7 +157,7 @@                             DataFrame.IO.Parquet.Time,                             DataFrame.IO.Utils.RandomAccess,                             DataFrame.Typed.IO.Parquet-        build-depends:   dataframe-parquet >= 1.4 && < 1.5+        build-depends:   dataframe-parquet >= 1.5 && < 1.6         cpp-options:     -DWITH_PARQUET      -- The lazy executor calls both CSV and Parquet readers directly, so@@ -167,21 +167,21 @@                             DataFrame.Lazy.IO.Binary,                             DataFrame.Lazy.IO.CSV,                             DataFrame.Typed.Lazy-        build-depends:   dataframe-lazy >= 2.2 && < 2.3+        build-depends:   dataframe-lazy >= 2.3 && < 2.4         cpp-options:     -DWITH_LAZY      if !flag(no-th)-        build-depends:   dataframe-th >= 2.1 && < 2.2+        build-depends:   dataframe-th >= 2.2 && < 2.3         cpp-options:     -DWITH_TH         exposed-modules: DataFrame.TH,                          DataFrame.Typed.TH      if !flag(no-th) && !flag(no-csv)-        build-depends:   dataframe-csv-th >= 1.2 && < 1.3+        build-depends:   dataframe-csv-th >= 1.3 && < 1.4         cpp-options:     -DWITH_CSV_TH      if !flag(no-th) && !flag(no-parquet)-        build-depends:   dataframe-parquet-th >= 1.2 && < 1.3+        build-depends:   dataframe-parquet-th >= 1.3 && < 1.4         cpp-options:     -DWITH_PARQUET_TH      hs-source-dirs:   src@@ -203,14 +203,14 @@         buildable: False     build-depends:         base        >= 4   && < 5,-        dataframe-core >= 2.1 && < 2.2,-        dataframe-expr-serializer >= 1.2 && < 1.3,-        dataframe-csv >= 2.2 && < 2.3,-        dataframe-json >= 1.2 && < 1.3,-        dataframe-lazy >= 2.2 && < 2.3,-        dataframe-operations >= 2.1 && < 2.2,-        dataframe-parquet >= 1.4 && < 1.5,-        dataframe-parsing >= 2.1 && < 2.2,+        dataframe-core >= 2.2 && < 2.3,+        dataframe-expr-serializer >= 1.2.0.1 && < 1.3,+        dataframe-csv >= 2.3 && < 2.4,+        dataframe-json >= 1.2.0.1 && < 1.3,+        dataframe-lazy >= 2.3 && < 2.4,+        dataframe-operations >= 2.2 && < 2.3,+        dataframe-parquet >= 1.5 && < 1.6,+        dataframe-parsing >= 2.2 && < 2.3,         text        >= 2.1 && < 3,         aeson       >= 0.11 && < 3,         bytestring  >= 0.11 && < 0.14,@@ -223,8 +223,8 @@     import: warnings     main-is: Benchmark.hs     build-depends:    base >= 4 && < 5,-                      dataframe >= 3.2 && < 3.3,-                      dataframe-operations >= 2.1 && < 2.2,+                      dataframe >= 3.3 && < 3.4,+                      dataframe-operations >= 2.2 && < 2.3,                       random >= 1 && < 2,                       time >= 1.12 && < 2,                       vector >= 0.13 && < 0.15,@@ -236,10 +236,10 @@     import: warnings     main-is: Synthesis.hs     build-depends:    base >= 4 && < 5,-                      dataframe >= 3.2 && < 3.3,-                      dataframe-core >= 2.1 && < 2.2,-                      dataframe-learn >= 2.1 && < 2.2,-                      dataframe-operations >= 2.1 && < 2.2,+                      dataframe >= 3.3 && < 3.4,+                      dataframe-core >= 2.2 && < 2.3,+                      dataframe-learn >= 2.2 && < 2.3,+                      dataframe-operations >= 2.2 && < 2.3,                       random >= 1 && < 2,                       text >= 2.1 && < 3     hs-source-dirs:   app@@ -270,10 +270,10 @@     build-depends:    base >= 4 && < 5,                       bytestring >= 0.11 && < 0.14,                       containers >= 0.6.7 && < 0.10,-                      dataframe >= 3.2 && < 3.3,-                      dataframe-core >= 2.1 && < 2.2,-                      dataframe-lazy >= 2.2 && < 2.3,-                      dataframe-parsing >= 2.1 && < 2.2,+                      dataframe >= 3.3 && < 3.4,+                      dataframe-core >= 2.2 && < 2.3,+                      dataframe-lazy >= 2.3 && < 2.4,+                      dataframe-parsing >= 2.2 && < 2.3,                       directory >= 1.3.0.0 && < 2,                       random >= 1 && < 2,                       text >= 2.1 && < 3,@@ -291,9 +291,9 @@                    criterion >= 1 && < 2,                    deepseq >= 1.4 && < 2,                    process >= 1.6 && < 2,-                   dataframe >= 3.2 && < 3.3,-                   dataframe-core >= 2.1 && < 2.2,-                   dataframe-operations >= 2.1 && < 2.2,+                   dataframe >= 3.3 && < 3.4,+                   dataframe-core >= 2.2 && < 2.3,+                   dataframe-operations >= 2.2 && < 2.3,                    random >= 1 && < 2,     default-language: Haskell2010     ghc-options:@@ -377,18 +377,18 @@     build-depends:  base >= 4 && < 5,                     aeson >= 0.11.0.0 && < 3,                     bytestring >= 0.11 && < 0.14,-                    dataframe >= 3.2 && < 3.3,-                    dataframe-core >= 2.1 && < 2.2,-                    dataframe-core >= 2.1 && < 2.2,-                    dataframe-csv >= 2.2 && < 2.3,-                    dataframe-expr-serializer >= 1.2 && < 1.3,-                    dataframe-fastcsv >= 1.4 && < 1.5,-                    dataframe-json >= 1.2 && < 1.3,-                    dataframe-lazy >= 2.2 && < 2.3,-                    dataframe-learn >= 2.1 && < 2.2,-                    dataframe-operations >= 2.1 && < 2.2,-                    dataframe-parquet >= 1.4 && < 1.5,-                    dataframe-parsing >= 2.1 && < 2.2,+                    dataframe >= 3.3 && < 3.4,+                    dataframe-core >= 2.2 && < 2.3,+                    dataframe-core >= 2.2 && < 2.3,+                    dataframe-csv >= 2.3 && < 2.4,+                    dataframe-expr-serializer >= 1.2.0.1 && < 1.3,+                    dataframe-fastcsv >= 1.4.0.1 && < 1.5,+                    dataframe-json >= 1.2.0.1 && < 1.3,+                    dataframe-lazy >= 2.3 && < 2.4,+                    dataframe-learn >= 2.2 && < 2.3,+                    dataframe-operations >= 2.2 && < 2.3,+                    dataframe-parquet >= 1.5 && < 1.6,+                    dataframe-parsing >= 2.2 && < 2.3,                     HUnit >= 1.6 && < 1.8,                     QuickCheck >= 2 && < 3,                     random-shuffle >= 0.0.4 && < 1,@@ -413,9 +413,9 @@     other-modules: Internal.PackedText     build-depends:  base >= 4 && < 5,                     bytestring >= 0.11 && < 0.14,-                    dataframe >= 3.2 && < 3.3,-                    dataframe-core >= 2.1 && < 2.2,-                    dataframe-operations >= 2.1 && < 2.2,+                    dataframe >= 3.3 && < 3.4,+                    dataframe-core >= 2.2 && < 2.3,+                    dataframe-operations >= 2.2 && < 2.3,                     HUnit >= 1.6 && < 1.8,                     text >= 2.1 && < 3,                     vector >= 0.13 && < 0.15
src/DataFrame/Typed.hs view
@@ -24,7 +24,7 @@ {\-\# LANGUAGE DataKinds, TypeApplications, TypeOperators \#-\} import qualified DataFrame.Typed as T -type People = '[T.Column \"name\" Text, T.Column \"age\" Int]+type People = '[ '(\"name\", Text), '(\"age\", Int)]  main = do     raw <- D.readCsv \"people.csv\"@@ -43,8 +43,8 @@ == filterAllJust tracks Maybe-stripping  @-df :: TypedDataFrame '[Column \"x\" (Maybe Double), Column \"y\" Int]-T.filterAllJust df :: TypedDataFrame '[Column \"x\" Double, Column \"y\" Int]+df :: TypedDataFrame '[ '(\"x\", Maybe Double), '(\"y\", Int)]+T.filterAllJust df :: TypedDataFrame '[ '(\"x\", Double), '(\"y\", Int)] @  == Typed aggregation@@ -60,7 +60,6 @@ module DataFrame.Typed (     -- * Core types     TypedDataFrame,-    Column,     TypedGrouped,     These (..), @@ -394,7 +393,6 @@  ) #endif import DataFrame.Typed.Types (-    Column,     TSortOrder (..),     These (..),     TypedDataFrame,
tests/Learn/TypedModel.hs view
@@ -33,9 +33,9 @@  -- | All-Double schema: two features and a Double target. type Houses =-    '[ DT.Column "x1" Double-     , DT.Column "x2" Double-     , DT.Column "y" Double+    '[ '("x1", Double)+     , '("x2", Double)+     , '("y", Double)      ]  regDF :: D.DataFrame
tests/Operations/Aggregations.hs view
@@ -74,12 +74,12 @@             ( testData                 & either (error . show) id                     . DT.freezeWithError-                        @[ DT.Column "test1" Int-                         , DT.Column "test2" Int-                         , DT.Column "test3" Int-                         , DT.Column "test4" Char-                         , DT.Column "test5" String-                         , DT.Column "test6" Integer+                        @[ '("test1", Int)+                         , '("test2", Int)+                         , '("test3", Int)+                         , '("test4", Char)+                         , '("test5", String)+                         , '("test6", Integer)                          ]                 & DT.groupBy @'["test1"]                 & DT.aggregate (DT.as @"n" DT.countAll)@@ -101,12 +101,12 @@             ( testData                 & either (error . show) id                     . DT.freezeWithError-                        @[ DT.Column "test1" Int-                         , DT.Column "test2" Int-                         , DT.Column "test3" Int-                         , DT.Column "test4" Char-                         , DT.Column "test5" String-                         , DT.Column "test6" Integer+                        @[ '("test1", Int)+                         , '("test2", Int)+                         , '("test3", Int)+                         , '("test4", Char)+                         , '("test5", String)+                         , '("test6", Integer)                          ]                 & DT.groupBy @'["test1"]                 & DT.aggregate (DT.as @"test2_count" (DT.count (DT.col @"test2")))@@ -145,12 +145,12 @@             ( testData                 & either (error . show) id                     . DT.freezeWithError-                        @[ DT.Column "test1" Int-                         , DT.Column "test2" Int-                         , DT.Column "test3" Int-                         , DT.Column "test4" Char-                         , DT.Column "test5" String-                         , DT.Column "test6" Integer+                        @[ '("test1", Int)+                         , '("test2", Int)+                         , '("test3", Int)+                         , '("test4", Char)+                         , '("test5", String)+                         , '("test6", Integer)                          ]                 & DT.groupBy @'["test1"]                 & DT.aggregate (DT.as @"test2_mean" (DT.mean (DT.col @"test2")))
tests/Operations/Derive.hs view
@@ -65,7 +65,7 @@                         (error . show)                         id                         ( DT.freezeWithError-                            @[DT.Column "test1" Int, DT.Column "test2" String, DT.Column "test3" Char]+                            @['("test1", Int), '("test2", String), '("test3", Char)]                             testData                         )                     )
tests/Operations/Join.hs view
@@ -85,10 +85,10 @@             (D.sortBy [D.Asc (F.col @Text "key")] (rightJoin ["key"] df1 df2))         ) -tdf1 :: DT.TypedDataFrame [DT.Column "key" Text, DT.Column "A" Text]+tdf1 :: DT.TypedDataFrame ['("key", Text), '("A", Text)] tdf1 = either (error . show) id (DT.freezeWithError df1) -tdf2 :: DT.TypedDataFrame [DT.Column "key" Text, DT.Column "B" Text]+tdf2 :: DT.TypedDataFrame ['("key", Text), '("B", Text)] tdf2 = either (error . show) id (DT.freezeWithError df2)  testInnerJoinTyped :: Test@@ -128,7 +128,7 @@         ]  tdfOptional ::-    DT.TypedDataFrame [DT.Column "key" Text, DT.Column "C" (Maybe Int)]+    DT.TypedDataFrame ['("key", Text), '("C", Maybe Int)] tdfOptional = either (error . show) id (DT.freezeWithError dfOptional)  {- | A left join over an already-optional column must not nest the Maybe: the@@ -155,7 +155,7 @@   where     joined ::         DT.TypedDataFrame-            [DT.Column "key" Text, DT.Column "A" Text, DT.Column "C" (Maybe Int)]+            ['("key", Text), '("A", Text), '("C", Maybe Int)]     joined = DT.leftJoin @'["key"] tdf1 tdfOptional  testRightJoinTyped :: Test
tests/Operations/Nullable.hs view
@@ -530,10 +530,10 @@ -- ---------------------------------------------------------------------------  type CrossSchema =-    '[ DT.Column "x" Int-     , DT.Column "y" (Maybe Int)-     , DT.Column "d" Double-     , DT.Column "md" (Maybe Double)+    '[ '("x", Int)+     , '("y", Maybe Int)+     , '("d", Double)+     , '("md", Maybe Double)      ]  typedCrossData :: DT.TypedDataFrame CrossSchema@@ -617,7 +617,7 @@ -- Typed TExpr layer tests -- --------------------------------------------------------------------------- -type TestSchema = '[DT.Column "x" Int, DT.Column "y" (Maybe Int)]+type TestSchema = '[ '("x", Int), '("y", Maybe Int)]  typedTestData :: DT.TypedDataFrame TestSchema typedTestData =
tests/Plotting.hs view
@@ -200,7 +200,7 @@ typedParity = TestCase $ do     let tdf =             DT.unsafeFreeze numFrame ::-                DT.TypedDataFrame '[DT.Column "a" Double, DT.Column "b" Double]+                DT.TypedDataFrame '[ '("a", Double), '("b", Double)]         specU =             C.toVegaSpec                 ( C.chart numFrame
tests/Typed/IOReaders.hs view
@@ -25,9 +25,9 @@ import Test.HUnit  type S =-    '[ DT.Column "x" Int-     , DT.Column "y" Double-     , DT.Column "g" T.Text+    '[ '("x", Int)+     , '("y", Double)+     , '("g", T.Text)      ]  sampleDF :: D.DataFrame@@ -50,7 +50,7 @@ wrongSchemaEither = TestCase $ withSystemTempFile "typed_err.csv" $ \fp h -> do     hClose h     D.writeCsv fp sampleDF-    res <- TCSV.readCsvWithError @'[DT.Column "nope" Int] fp+    res <- TCSV.readCsvWithError @'[ '("nope", Int)] fp     assertBool "wrong schema => Left" (isLeft res)  wrongSchemaThrows :: Test@@ -58,7 +58,7 @@     hClose h     D.writeCsv fp sampleDF     r <--        try (TCSV.readCsv @'[DT.Column "nope" Int] fp >>= evaluate . DT.nRows) ::+        try (TCSV.readCsv @'[ '("nope", Int)] fp >>= evaluate . DT.nRows) ::             IO (Either DataFrameException Int)     assertBool "wrong schema => throws DataFrameException" (isLeft r) @@ -69,7 +69,7 @@ typedReadProjects = TestCase $ withSystemTempFile "typed_proj.csv" $ \fp h -> do     hClose h     D.writeCsv fp sampleDF-    narrow <- DT.thaw <$> TCSV.readCsv @'[DT.Column "g" T.Text] fp+    narrow <- DT.thaw <$> TCSV.readCsv @'[ '("g", T.Text)] fp     assertEqual "only the schema's column is read" ["g"] (D.columnNames narrow)     assertEqual "rows intact" (3, 1) (D.dimensions narrow) @@ -85,7 +85,7 @@         "untyped read infers Int"         (Just (DI.fromList [1, 2, 3 :: Int]))         (getColumn "n" inferred)-    typed <- DT.thaw <$> TCSV.readCsv @'[DT.Column "n" T.Text] fp+    typed <- DT.thaw <$> TCSV.readCsv @'[ '("n", T.Text)] fp     assertEqual         "schema types the column as Text"         (Just (DI.fromList ["1", "2", "3" :: T.Text]))
tests/Typed/Parity.hs view
@@ -18,9 +18,9 @@ import Test.HUnit  type S =-    '[ DT.Column "x" Int-     , DT.Column "y" Double-     , DT.Column "g" T.Text+    '[ '("x", Int)+     , '("y", Double)+     , '("g", T.Text)      ]  baseDF :: D.DataFrame@@ -178,10 +178,10 @@ rightDF :: D.DataFrame rightDF = D.fromNamedColumns [("y", DI.fromList [1.0, 2.0 :: Double])] -leftT :: DT.TypedDataFrame '[DT.Column "x" Int]+leftT :: DT.TypedDataFrame '[ '("x", Int)] leftT = either (error . show) id (DT.freezeWithError leftDF) -rightT :: DT.TypedDataFrame '[DT.Column "y" Double]+rightT :: DT.TypedDataFrame '[ '("y", Double)] rightT = either (error . show) id (DT.freezeWithError rightDF)  -- Numeric-only frame for the matrix test.@@ -192,7 +192,7 @@         , ("y", DI.fromList [1.5, 2.5, 3.5 :: Double])         ] -numericT :: DT.TypedDataFrame '[DT.Column "x" Int, DT.Column "y" Double]+numericT :: DT.TypedDataFrame '[ '("x", Int), '("y", Double)] numericT = either (error . show) id (DT.freezeWithError numericDF)  tests :: [Test]