-
Notifications
You must be signed in to change notification settings - Fork 43
Description
Opaleye itself is already built on postgresql-simple, so it seems a bit strange to me to build on top of opaleye but use hasql, leading to rel8 having both as (transitive) dependencies. It also seems to mean that using opaleye and rel8 in parallel at all, such as migrating from one to the other or using one to cover missing features in the other, is quite a bit harder. It also increases the mental overhead of switching, as you have to get used to a different connection/pooling/transaction/etc. system.
The dependency story could perhaps be resolved via opaleye-core/opaleye-simple/opaleye-hasql type package splitting, as I presume even though rel8 depends on opaleye and opaleye depends on postgresql-simple, that rel8 doesn't actually directly use any part of opaleye that uses postgresql-simple.
Of course if opaleye is convinced to go down this route, a similar argument could be made for rel8 doing the exact same thing, which may have side benefits like additional robustness in the presence of bugs in hasql. In my case I would have liked to try rel8-simple to see if it would have fixed #325.