Commit Graph

287 Commits

Author SHA1 Message Date
Shane
98687b592b
Rename OuterJoin to HMaybe and add HList and HNonEmpty
I've also updated these to take a `a :: Type` rather than a `t :: (Type -> Type) -> Type`. This is more general and means `HMaybe` can replace both `OuterJoin` and `OuterJoin2` from the old Rel8.
2021-03-05 02:03:17 +00:00
Shane
8fb5051c1d
Stop At leaking into user tables (instead use it only on internal tables) (also rename it to Context) 2021-03-05 01:35:12 +00:00
Oliver Charles
7aeb652e61 GHigherKindedTable work 2021-03-04 21:48:18 +00:00
Ollie Charles
a33fe3d1ca Restore in_ 2021-03-04 14:34:16 +00:00
Ollie Charles
eb6adcc1d3 Restore Rel8.Time 2021-03-04 14:26:57 +00:00
Ollie Charles
3f94330a35 Restore Num (Expr a) and Fractional (Expr a) 2021-03-04 14:15:50 +00:00
Ollie Charles
3235887375 Remove _forAll nonsense 2021-03-04 14:11:32 +00:00
Ollie Charles
4af337b849 Add more binary operators 2021-03-04 14:03:33 +00:00
Ollie Charles
b29db5238b Drop more deps 2021-03-04 13:28:02 +00:00
Ollie Charles
c8382f8051 Drop semigroupoids dependency 2021-03-04 13:27:32 +00:00
Ollie Charles
57f171e41f Drop an incorrect comment 2021-03-04 13:18:19 +00:00
Ollie Charles
a1ee92d09d Documentation 2021-03-04 13:08:54 +00:00
Ollie Charles
972061f6f1 Documentation 2021-03-04 13:03:53 +00:00
Ollie Charles
a02ba0fcfc Change asc and desc to work on Expr 2021-03-04 12:44:26 +00:00
Ollie Charles
9895de07ba Add some documentation 2021-03-04 12:41:00 +00:00
Shane
5acb66ba9f
Remove HConstrainTable (Columns a) DBType superclass of HigherKindedTable 2021-03-04 12:01:02 +00:00
Ollie Charles
9515a2aebc Fix tests 2021-03-04 12:00:04 +00:00
Shane
8a58e45cb1
Remove AnExpr 2021-03-04 11:30:29 +00:00
Ollie Charles
d112076151 Replace ResultType & ExprType with ExprFor and a FD 2021-03-04 10:53:00 +00:00
Shane
3e88e09a31
Slightler safer/more correct listAgg and nonEmptyAgg 2021-03-04 10:37:23 +00:00
Oliver Charles
0deacafaac Bring back Applicative Aggregate 2021-03-04 09:55:41 +00:00
Shane
61c0ce2c96
Simplify constraints of some and many 2021-03-04 02:06:01 +00:00
Shane
c096d80a4d
Drop columnar arrayAgg (listAgg and nonEmptyAgg are now both tabular)
This is a welcome simplification and eases some of the nonsense we were accumulating in `ExprType` and `ResultType`.

In order to make it work though I needed to remove `AnExpr` from the superclasses of `DBType`. However, it was almost entirely unncessary, so this actually simplifies things as well. The only function of `AnExpr` as a superclass of `DBType` seemed to be to say "if you have an a, and a is a `DBType`, then you can do `lit a` to get an `Expr a`". However, this is kind of circular, because `DBType` by itself already gives you `encode` which is basically `lit`. It's easier to just define a columnar `lit` (which I call `monolit`) that's defined directly in terms of `encode`, and to use that in cases where you know you have a single column and going through `Serializable` doesn't quite fit.
2021-03-04 01:17:12 +00:00
Shane
9ad2bab4d0
Remove special case of Compose in Column type family 2021-03-04 00:03:50 +00:00
Shane
fb31f3320d
Introduce AggregateTable class and drop Foldability 2021-03-03 23:35:15 +00:00
Shane
07701436b5
Overhaul aggregations 2021-03-03 10:59:38 +00:00
Ollie Charles
8f79711783 Add Selects constraint synonym 2021-03-03 10:40:32 +00:00
Ollie Charles
8429afbfdd Revert "Push Table ColumnSchema into TableSchema"
This reverts commit cac088f75f.
2021-03-03 10:36:38 +00:00
Ollie Charles
cac088f75f Push Table ColumnSchema into TableSchema
This simplifies some other types, at the cost of preventing TableSchema
from being a Functor.
2021-03-03 10:29:45 +00:00
Ollie Charles
0cda3816cf Simplify the type of Projection 2021-03-03 10:14:11 +00:00
Ollie Charles
a3d6997d2b Add Congruent 2021-03-03 10:11:36 +00:00
Ollie Charles
7848095c79 Add ordering operations 2021-03-03 09:58:58 +00:00
Shane
ac99cd9084
Rename hcontents to htable for consistency with MaybeTable 2021-03-02 20:38:16 +00:00
Shane
8f7e1da473
Better testMaybeTableApplicative 2021-03-02 20:35:50 +00:00
Shane
0e1bccf1f7
Fix exists 2021-03-02 19:28:43 +00:00
Ollie Charles
7391c34d4c Some more 2021-03-02 17:58:38 +00:00
Ollie Charles
84afca03ea Stuff 2021-03-02 16:51:33 +00:00
Ollie Charles
8b29542434 Move -Weverything to .cabal 2021-03-02 16:44:23 +00:00
Ollie Charles
3c0b3f9bf7 Implement lit for Array 2021-03-02 16:43:33 +00:00
Ollie Charles
9ccae597b9 Fix CI 2021-03-02 15:07:44 +00:00
Ollie Charles
dd9bfccfdb Got arrayAggregation working properly 2021-03-02 14:06:56 +00:00
Oliver Charles
a4837c66fe Formatting 2021-02-28 20:15:44 +00:00
Oliver Charles
b566190419 More polishing 2021-02-28 20:09:46 +00:00
Ollie Charles
e444782554 Noodling 2021-02-28 17:54:50 +00:00
Ollie Charles
0570ab5b02 Back to passing tests 2021-02-28 17:45:19 +00:00
Oliver Charles
9136a8879b Squashing 2021-02-28 17:13:58 +00:00
Ollie Charles
37107fda14 Test selecting nested pairs 2021-02-28 15:29:18 +00:00
Ollie Charles
fde7186123 Remove some debugging 2021-02-28 15:00:16 +00:00
Ollie Charles
63dd4cf090 Back to working! 2021-02-28 14:59:32 +00:00
Ollie Charles
c0d3cef499 Everything type checks, everything loops 2021-02-28 14:42:48 +00:00