Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jacoby6000/sqlz
Pure Functional SQL generation.
https://github.com/jacoby6000/sqlz
scala sql sql-builder sql-dsl
Last synced: about 2 months ago
JSON representation
Pure Functional SQL generation.
- Host: GitHub
- URL: https://github.com/jacoby6000/sqlz
- Owner: Jacoby6000
- License: mit
- Created: 2016-02-02T14:23:55.000Z (almost 9 years ago)
- Default Branch: series/0.4.x
- Last Pushed: 2018-10-05T17:43:06.000Z (about 6 years ago)
- Last Synced: 2024-11-02T00:51:41.216Z (2 months ago)
- Topics: scala, sql, sql-builder, sql-dsl
- Language: Scala
- Homepage:
- Size: 1.32 MB
- Stars: 40
- Watchers: 6
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Abandoned
I am no longer working on this. Master is currently very broken, and probably does not have good architecture. It is a partial implementation of SQL using tagless algebras...
I am giving up, because the way to correctly do this would be with a mutually recursive AST. I had implemented this in an old version of dotty (see the dotty branch) where it _appeared_ to work, but there were some issues when evaluating the recursive parts of the algebra for the paramorphism. Also, I should've been using `histoM` instead of `paraM` looking back... Anyway, it doesn't matter. Scala doesn't support GADTs and what I had working with Dotty no longer compiles for reasons I don't understand (though, admittedly, I didn't try that hard).
This should be correctly doable using tagless algebras as well, however I am not really a fan of that approach for this particular problem. Modelling SQL using a mutually recursive AST felt right... Tagless doesn't. That's just my opinion though. Feel free to pick this up if you want.
------------------
[![Maven Central](https://img.shields.io/maven-central/v/com.github.jacoby6000/scoobie-core_2.12.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.jacoby6000/scoobie-core_2.12)
[![Join the chat at https://gitter.im/Jacoby6000/Scala-SQL-AST](https://badges.gitter.im/Jacoby6000/Scala-SQL-AST.svg)](https://gitter.im/Jacoby6000/Scala-SQL-AST?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/Jacoby6000/scoobie.svg?branch=master)](https://travis-ci.org/Jacoby6000/scoobie)
[![codecov](https://codecov.io/gh/Jacoby6000/scoobie/branch/master/graph/badge.svg)](https://codecov.io/gh/Jacoby6000/scoobie)