2 ms·
The HN link title says "Language-natural persistence to KV stores" - but the page itself only mentions Java, and the linked "API docs" is just a Javadoc: http:/
by DaiPlusPlus 3y ago
The HN link title says "Language-natural persistence to KV stores" - but the page itself only mentions Java, and the linked "API docs" is just a Javadoc: http://permazen.github.io/permazen/site/apidocs/index.html?io/permazen/Permazen.html http://permazen.github.io/permazen/site/apidocs/index.html?i...
- TOGoS 3y agoIt also appears to be about music production, or concerts, or something. Maybe this is an AI-generated website.
- DaiPlusPlus 3y agoNo, it's a real GitHub project: https://github.com/permazen https://github.com/permazen - they just used a random website template.
- dang 3y agoOk, let's change to https://github.com/permazen/permazen https://github.com/permazen/permazen instead of https://permazen.io/ https://permazen.io/ above. Usually we go the other way and prefer the project page, but there's clearly not enough info there.
- mike_hearn 3y agoThe concept can be implemented in any language, this implementation just happens to use Java. More subtly, the design is split into three layers. At the bottom is an abstraction over pluggable KV stores. The middle layer is the "database" layer, which is language neutral. None of the concepts in this API are Java specific. http://permazen.github.io/permazen/site/apidocs/io/permazen/core/Database.html http://permazen.github.io/permazen/site/apidocs/io/permazen/... Then the final layer sits on top of the middle database layer, and is the language binding to Java. It uses specific Java features like annotations and annotation processors to generate object bindings, adds things like subtyping, support for enums, etc. In theory you could take a language like Python or JavaScript and connect it directly to the middle layer using e.g. GraalVM (or reimplement it). You'd want to work out what the equivalent language bindings would be for those languages.