As it happens, I am in the process of making a documentation language with equation and graph support, taking hints from GraphViz, and initially targets PostScript. Structurally, I know how DAGs work. I have used DAGs in this abandoned compiler I was working on:
https://github.com/Chubek/Batmite
dag.c
It also has a graph coloring code.
I stopped working on it. I also learned about graphs in HS and first semester of college at DiscMath class, but they were basic info. I then learned about graphs by reading Rosen's discmath. I wanna read 7th edition. But ChatGPT has made me lazy. Why read a book fully when I can make a model, tell it to absorb the book (I think they have downloaded the entire libgen into their model? Am I wrong here? Why does it know every book libgen has, and does not know every book ligen does NOT have?) and then quiz it? haha.
Exactly! I still remember crawling through manpages back in the day. It's very nice.