Git Product home page Git Product logo

Comments (4)

meteficha avatar meteficha commented on September 7, 2024

Doesn't bother me much, as you'd expect from the fact that I didn't change them :). There are also two practical issues with changing them:

  • Forcing everyone to rewrite all of their queries, or at the very least changing their imports to a compatibility module.
  • Finding out a new set of operators that look good and don't clash with anything.

from esqueleto.

bitemyapp avatar bitemyapp commented on September 7, 2024

@meteficha I know these are costly issues but I'd rather do it sooner than later to avoid the problem growing. The number of Haskellers and Haskell projects out there is growing and will be growing faster over time.

I am happy to help with both issues if you're willing to commit to a release that deals with this.

My suggestion:

First release of the new names/operators

Database.Esqueleto.Functions and Database.Esqueleto.Operators are added, there's a single module that exports both. These are exclusively the new, non-conflicting names. I'd like it if all operators had an ordinary named prefix function that does the same thing as well, so that the operators are only nice syntax, not obligatory.

Database.Esqueleto stays the same.

Bandaid gets ripped off, next major release

Functions and Operators stay as they are, but Database.Esqueleto now re-exports those names.

How does this sound to you?

from esqueleto.

bitemyapp avatar bitemyapp commented on September 7, 2024

@meteficha could I get a thumbs up/down on this please? If there's an alternative approach you'd be open to, I'd like to hear that as well but this remains a day-to-day albatross at work.

from esqueleto.

meteficha avatar meteficha commented on September 7, 2024

I'm really not a fan of having two names for the same things. That will make it confusing to read and write. Furthermore, esqueleto will appear less like SQL. So the Functionsmodule is not going to happen.

Regarding the operators, I'm at a loss about a set of operators that look nice and don't conflict with the plethora of libraries that already exist. I'm not looking forward to searching for this set myself. The decision about whether to transition esqueleto to a new set is dependent on what the new set is. I can't commit to making a change I know almost nothing about.

from esqueleto.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.