Skip to content

Building on opaleye but also depending on hasql seems surprising #326

@tysonzero

Description

@tysonzero

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions