DokMelody
dokmelody.bsky.social
DokMelody
@dokmelody.bsky.social
Bootstrapping DokMelody - https://dokmelody.org
I added the generation of JastAdd AST of a language, from its tree-sitter grammar.
September 13, 2026 at 11:41 AM
I switched from Aider/Cecli (i.e. AI pair programming) to omp.sh/docs/vibe that is also an AI vibe-coding tool. I started adding some "slop" AI code. The hope is to use Dok, in future, for having understandable AI generated code, because the code can be linked to docs and high-level views.
omp — a coding agent with the IDE wired in
Subagents, plan mode, LSP, DAP, hindsight memory, hashline edits, time-traveling rules — with a native Rust engine doing the heavy lifting.
omp.sh
September 13, 2026 at 11:39 AM
I can convert a generic tree-sitter grammar into a JastAdd representation, using JastAdd attribute grammars equations.

I can show: the JSON source text; the JSON graph; the resulting graph.
July 20, 2026 at 12:01 AM
If I select a text, the corresponding AST node is highlighted, and vice-versa. This feature is inspired to CodeProber behavior codeprober.org . An AST tree can become very big, but this feature it is easy to see the represented part.
CodeProber
codeprober.org
June 18, 2026 at 1:16 PM
After trying pi.dev for AI coding harness, I decided to use the more conservative aider-chat (aider.chat): it is mainly an AI-pair-programming tool; it reads `AI!` annotations near the source code positions I need to change; it uses the tokens in a very efficient way, and many of them are cached.
Pi Coding Agent
A terminal-based coding agent
pi.dev
June 17, 2026 at 11:54 PM
If I select a node on the tree, it shows the associated source text. Useful for debugging the grammar, because a tree can be rather complex, while the source text is linear.
June 17, 2026 at 11:47 PM
I can draw (in a ugly way) a text parsed from JastAdd to a tree, managed from the ELK library (eclipse.dev/elk/).

For the conversion I take advantage of the Java annotations generated by JastAdd, and added to JVM Classes.
Eclipse Layout Kernel (ELK)
eclipse.dev
June 17, 2026 at 3:17 PM
Despite Tangled works out of the box with Jujutsu(www.jj-vcs.dev), I started using Sapling (sapling-scm.com), and I like it very much:
- it can push and pull commits from normal Git repo
- it has a very elegant and simple semantic

Maybe in future I will study better Pijul, and its patch semantic.
Jujutsu docs
www.jj-vcs.dev
June 7, 2026 at 10:22 AM
The JastAdd formalism is more compact than Java classes. This is the AST of Dok tangled.org/dokmelody.bs...
src/main/jastadd/org/dokmelody/scratch2/ast/dok/dok.ast at main · dokmelody.bsky.social/scratch-02-jastadd
Implement using JustAdd attribute grammar approach and JCR content repository
tangled.org
June 7, 2026 at 10:13 AM
I added the repo with the current implementation attempt: tangled.org/dokmelody.bs...

I'm using these tools:
- Tree-Sitter for the grammar
- JastAdd Attribute Grammars for the semantic
- Java Jackrabbit JCR for the storage of hierarchical documents
- Java H2 for Doknil facts
dokmelody.bsky.social/scratch-02-jastadd
Implement using JustAdd attribute grammar approach and JCR content repository
tangled.org
June 7, 2026 at 10:09 AM
I dediced to use the European Union Public Licence (EUPL) for DokMelody, for these reasons: dokmelody.tngl.io/scratch-02-d...

#eupl
ADR-005: Use EUPL and CC-BY-4.0 licenses
dokmelody.tngl.io
May 13, 2026 at 5:48 PM
I published the temporary (scratch) documentation website. I'm using DITA, because it allows to navigate easily in related concepts of the documentation.
dokmelody.tngl.io/scratch-02-d...
Page Redirection
dokmelody.tngl.io
May 12, 2026 at 1:49 AM
I put here an old implementation attempt, based on Common Lisp: tangled.org/dokmelody.bs...

I decided to change the name from Dokmelody to DokMelody, because it makes more sense.
dokmelody.bsky.social/scratch-01-common-lisp
An archived attempt
tangled.org
May 11, 2026 at 7:44 PM