Has anyone had success with an EDSL (via some free monad-like thing or not) for extracting data, which supports both an SQL interpretation and some other (e.g. over lists/Set/Map) interpretation?
Context:
I'm using an effects system, with an effect for interacting with a "store" - which is a SQL database "in production", but a lot of logic is ending up in an interpreter - which is fine, if the action being handled was simple enough to convey this, but it isn't.
I want to try to break down my "query" action(s) into smaller ones like "order", "group", etc, but I have the feeling that if I go down this route I'll just end up writing some EDSL for SQL.
I would be happy to see some domain-restricted version too! The "domain-restricted" part is what I'm hoping will help with making this not a 1-to-1 translation of SQL.
Has anyone had success with an EDSL (via some free monad-like thing or not) for extracting data, which supports both an SQL interpretation and some other (e.g. over lists/
Set
/Map
) interpretation?Context:
I'm using an effects system, with an effect for interacting with a "store" - which is a SQL database "in production", but a lot of logic is ending up in an interpreter - which is fine, if the action being handled was simple enough to convey this, but it isn't.
I want to try to break down my "query" action(s) into smaller ones like "order", "group", etc, but I have the feeling that if I go down this route I'll just end up writing some EDSL for SQL.
I would be happy to see some domain-restricted version too! The "domain-restricted" part is what I'm hoping will help with making this not a 1-to-1 translation of SQL.