Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freestyle implementation of Phantom queries. #829

Open
alexflav23 opened this issue Apr 19, 2018 · 0 comments
Open

Freestyle implementation of Phantom queries. #829

alexflav23 opened this issue Apr 19, 2018 · 0 comments
Assignees

Comments

@alexflav23
Copy link
Member

alexflav23 commented Apr 19, 2018

Looking forward to Phantom 3.x.x, we need to re-implementing the core query mechanism to run on Cats free and maybe freestyle frees as concrete backends with interpreters against known free libraries. The current version of phantom is a joke with respect to how functional it is, and several steps will be required to reach a 3.0.0

  • Remove the EDSL entirely, in favour of working directly with encoded case classes.
  • Unlike quill, we do not plan to go fully QDSL mode, and we will have an in between approach where the syntax language of CQL will still be fully replicated in Scala, just like what phantom attempts to do today.
  • Replace execution backends and the complex poor man's Free Monad currently available via QueryContext with a simple implementation on top of Cats Free.
  • Research whether or not a Cats dependency with the now required -Y-partial-unification flag is a realistic goal that the audience would be happy with, and consider whether this forces us to finally drop the Scala 2.10 support we worked hard to keep alive until today.
  • Add in Support for Scala 2.13.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants