Deml: Directed Acyclic Graph Elevation Markup Language
Posted3 months agoActive3 months ago
github.comTechstory
calmmixed
Debate
40/100
Data SerializationGraph TheoryFile Formats
Key topics
Data Serialization
Graph Theory
File Formats
The Deml project introduces a new markup language for representing directed acyclic graphs (DAGs), sparking discussion on its novelty and potential pitfalls.
Snapshot generated from the HN discussion
Discussion Activity
Light discussionFirst comment
1h
Peak period
4
2-3h
Avg / period
2.3
Key moments
- 01Story posted
Sep 30, 2025 at 10:12 AM EDT
3 months ago
Step 01 - 02First comment
Sep 30, 2025 at 11:39 AM EDT
1h after posting
Step 02 - 03Peak activity
4 comments in 2-3h
Hottest window of the conversation
Step 03 - 04Latest activity
Sep 30, 2025 at 4:03 PM EDT
3 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45425714Type: storyLast synced: 11/20/2025, 2:35:11 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
edit: link https://kix.fsv.cvut.cz/~demel/grafy/
Is there a PDF link?
There is this - https://kix.fsv.cvut.cz/~demel/grafy/gr.pdf
But I was hoping for an English version?
https://math.fel.cvut.cz/en/people/demlova/
The output of this language/library is a graph, not a linearization.
The river terminology is probably best described as a metaphor to help someone understand what a DAG is.
upriver/downriver is the partial order relationship between nodes.
elevation is partway to a complete topological ordering -- as in, an assignment of elevations to nodes must follow the partial ordering, but there are multiple possible assignments in general, so it is a way to produce a set of elevation groupings but not the only way.
For example, if you have UP -> A -> B -> DOWN and UP -> X -> DOWN, then you could make elevation grouping {UP}, {A, X}, {B}, {DOWN} or {UP}, {A}, {B, X}, {DOWN} and both groupings satisfy the same partial ordering (and follow the same dags).
You could make a canonical elevation grouping by doing a breadth first search from the root node(s) and grouping by distance from the roots, or a different one by starting from the leaf/leaves. Though then the distinction between dags and partial orders comes in; your canonical grouping would have to be a BFS of a minimal dag without any "redundant" edges (any edge where removing it would not change the partial ordering).
You can't derive a dag or even just its partial ordering from either a topological ordering or an elevation grouping. Topological ordering A,B,C could come from A->B->C or from A->B, A->C (or the edgeless A, B, C!) Elevation grouping {A}, {B, C}, {D} could come from A->B->D, A->C->D or A->B->D, A->C.
I think you could order all of these from least information to most?: 1. topological ordering 2. elevation grouping 3. partial ordering 4. dag
It's 2025. Enough with the ASCII. As a human, if I want to map out and display a DAG, I don't want to do it in a text file. Give me a UI or give me death.
With that in mind, what you seem to be bothered by (please correct me if I'm wrong) is actually that a language has been released without a UI to abstract away the process of writing it?