HackerTrans
TopNewTrendsCommentsPastAskShowJobs

thenonameguy

no profile record

comments

thenonameguy
·anno scorso·discuss
> One of the things that puts metaprogramming on wheels is being able to pull in grammars, schemas and such for external systems.

That's what I've been trying to do with: https://github.com/schemamap/schemamap

For a well-constrained Postgres schema, a deterministic SQL compiler can be built (with plenty of logic programming/constraint-solving/hypergraph-analysis) that can integrate arbitrary external systems data.

While this is NP-hard, with some clever use of embeddings and ontologies, and use of every single constraint AST within the DB to reduce the search space, this becomes a feasible problem.

For any Clojurists interested, I've packaged `pg_query`, so you can use it in your applications: https://github.com/schemamap/pg-query-clj

At the moment I'm saving up for the next development cycle, so not only PG->PG schema mappings can be solved for (JSON schema is next!). Hope this sounds interesting :)
thenonameguy
·2 anni fa·discuss
Yup, it's still the best tool for me. Especially for complex domains, as it does not allow you to over-abstract data structures.

Schemamap.io has a declarative SQL compiler and backend implemented in it, solving Postgres database syncing.
thenonameguy
·2 anni fa·discuss
I'm not certain, but Clojure supports this through CIDER's Enlighten mode: https://docs.cider.mx/cider/debugging/enlighten.html

It would be even better if larger values were inspectable, as it becomes challenging to view more complex data types beyond numbers and short strings.
thenonameguy
·2 anni fa·discuss
It works on MacOS/Windows, unlike systemd. Therefore it's well suited for development environment setups for polyglot teams.

https://devenv.sh/ is one example that uses it to do just that.
thenonameguy
·2 anni fa·discuss
NixOS/GNU Guix is uniquely positioned in this area, as it tracks all dependencies explicitly, with exact versions. If there is a paradigm where this can be achieved on the OS level, they are the closest to it today.

See this related talk from NixOS 2022: https://www.youtube.com/watch?v=HZKFe4mCkr4
thenonameguy
·2 anni fa·discuss
The IMO superior https://github.com/F1bonacc1/process-compose project has this built in, while allowing to manage regular programs that don't require containers.

See: https://f1bonacc1.github.io/process-compose/health/?h=port#r...