<div dir="ltr"><div>I'm writing a graph class that generalizes the traditional mathematical graph: Nodes can be statements or relationships, and relationships ("edges") can involve any number of nodes, including other relationships. [1] describes the motivation in a little more detail.</div><div><br></div><div>[2] explains the idea behind the major types -- Graph, Node, Stmt, and Rel.</div><div><br></div><div>Of the .hs files in the project, at this time I believe only the primary one, Dwt.hs [3], deserves your attention.  It is only about 100 lines of code.</div><div><br></div><div>I am interested in any kind of feedback at all, no matter how minute in detail or expansive in scope.</div><div><br></div><div>[4] lists what I already think might be likely problems and solutions. In particular I wonder whether I should interpret these two patterns:</div><div>  "case ni of Rel -> .. Stmt -> .."</div><div>and </div><div>  "if (Maybe.isJust nMb) ... else error ..."</div><div>as signs that I'm not completely solving the problem. </div><div><br></div><div>I suspect it might be helpful to make the graph operations Maybe or Either, and use <|> on them -- but while I can monkey those words, I don't really know what I'm saying.</div><div><br></div><div>[1] <a href="https://github.com/JeffreyBenjaminBrown/digraphs-with-text/blob/master/english/motivation.txt">https://github.com/JeffreyBenjaminBrown/digraphs-with-text/blob/master/english/motivation.txt</a></div><div>[2] <a href="https://github.com/JeffreyBenjaminBrown/digraphs-with-text/blob/master/english/how_it_works.txt">https://github.com/JeffreyBenjaminBrown/digraphs-with-text/blob/master/english/how_it_works.txt</a></div><div>[3] <a href="https://github.com/JeffreyBenjaminBrown/digraphs-with-text/blob/master/src/Dwt.hs">https://github.com/JeffreyBenjaminBrown/digraphs-with-text/blob/master/src/Dwt.hs</a></div><div>[4] <a href="https://github.com/JeffreyBenjaminBrown/digraphs-with-text/blob/master/english/todo%2Cmaybe.txt">https://github.com/JeffreyBenjaminBrown/digraphs-with-text/blob/master/english/todo%2Cmaybe.txt</a></div><div><br></div><div>Thank you,</div><div>Jeff</div></div>