- General type families for improving instance resolution
(product-profunctors). (Currently there are three places in Opaleye
where instance resolution needs to happen:
runQuery
,runInsertReturning
andleftJoin
. As it happens it seems difficult to make any of these benefit from a general type family approach.)
- There may be some missing operators that just need to be written down
- RIGHT JOIN, FULL OUTER JOIN
- Set operations
- EXCEPT
- EXCEPT ALL
- UNION
- INTERSECT
- INTERSECT ALL
- INSERT, UPDATE, DELETE RETURNING
- Improve the testing "framework" perhaps by upgrading it to Tasty
- Make the code generation neater
- Make VALUES work with more, type checked, value types
- Product-valued case statements and (.==)
- Make the test database parameters more easily configurable
- Randomised testing in a QuickCheck style
- distinct, union and aggregate can be made to work with QueryArr rather than just Query if we use LATERAL JOIN