HackerTrans
TopNewTrendsCommentsPastAskShowJobs

thenonameguy

no profile record

comments

thenonameguy
·ano passado·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
·há 2 anos·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
·há 2 anos·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
·há 2 anos·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
·há 2 anos·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
·há 2 anos·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...