mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-18 13:02:11 +03:00
d91029ad51
### Description This PR removes all `fmapX` and `traverseX` functions from RQL.IR, favouring instead `Functor` and `Traversable` instances throughout the code. This was a relatively straightforward change, except for two small pain points: `AnnSelectG` and `AnnInsert`. Both were parametric over two types `a` and `v`, making it impossible to make them traversable functors... But it turns out that in every single use case, `a ~ f v`. By changing those types to take such an `f :: Type -> Type` as an argument instead of `a :: Type` makes it possible to make them functors. The only small difference is for `AnnIns`, I had to introduce one `Identity` transformation for one of the `f` parameters. This is relatively straightforward. ### Notes This PR fixes the most verbose BigQuery hint (`let` instead of `<- pure`). https://github.com/hasura/graphql-engine-mono/pull/1668 GitOrigin-RevId: e632263a8c559aa04aeae10dcaec915b4a81ad1a |
||
---|---|---|
.. | ||
Backends | ||
Base | ||
Cache | ||
Eventing | ||
GraphQL | ||
Incremental | ||
Metadata | ||
RQL | ||
Server | ||
SQL | ||
App.hs | ||
EncJSON.hs | ||
GC.hs | ||
HTTP.hs | ||
Incremental.hs | ||
Logging.hs | ||
Prelude.hs | ||
Session.hs | ||
Tracing.hs |