
@notjack That sounds plausible, but not sure what facet of URIs you have in mind. (My initial reaction is actually: limiting to just module paths plus filesystem paths is bad enough already. :slightly_smiling_face: ) Requiring everything to be expressed as universal references, instead of relative as Leif is trying, certainly would be simpler – but also less convenient and flexible.

Fwiw, Pyret has taken the uri approach. Local filesystem files have a file: protocol, built-in modules get a builtin: protocol, and files from Google drive get a shared-gdrive: or my-gdrive: protocol as needed. The local files are canonicalized into absolute paths in their uris. For us at least, having multiple protocols gave us a fairly uniform interface for locating code given some module name or reference.

I have just written some code to generate a large sexp representing some static code analysis. I’d like to visualize it. Is there a quick & dirty way to go from sexp thingies to DOT output?

(or something else—I’m not stuck on graphviz)

I have a list of structs w/ lots of cross references wired up (verified with print-graph
and pretty-print
)… I found the graphviz
call in the graph module, but it looks like I need to implement ~20 methods per struct or something?