<div dir="ltr"><p dir="ltr">I have long had an interest in visualizing code and a dream of a visual development environment. I've pretty much concluded that a "visual programming language" is a pipe dream for all but trivial use cases however graphical modeling is obvious.</p>
<p dir="ltr">On May 2, 2016 1:22 PM, "Vlad Dumitrescu" <<a href="mailto:vladdu55@gmail.com" target="_blank">vladdu55@gmail.com</a>> wrote:<br>
> It's possible to even scan for all spawn calls and draw a diagram of the processes in an application. </p>
<p dir="ltr">Many years ago I wrote a tool which parsed the abstract syntax tree of gen_fsm behaviour callback modules and output .dot files for input to Graphviz which then output a picture of the directed graph of States and Events driving state transitions. This proved very helpful for finding missing event handlers.</p>
<p dir="ltr">> Going the other way around, an IDE can make usage of tools easier -</p>
<p dir="ltr">I had always wanted to finish that project by going the other way, starting with a graphical editor (e.g. dotty(*)) to create the model of a communicating finite state machine in a graphviz file (foo_fsm.dot) with annotations.  Feed that through a utility which created a template gen_fsm behaviour callback module (foo_fsm.erl) with annotations so that it could be read back into .dot for further graphical editing.<br>
</p><p>Another, more generally useful, IDE utility I have always planned is a graphical editor for supervision hierarchies.  I would love to start new Erlang applications on a canvas with a palette of application master, supervisor and worker.  Drag and drop the supervisors, connect them with lines to their children, annotate with the child specifications and init arguments and save it as a template application ready to call application:start(foo).</p><p>These aren't terribly difficult projects, trivial really compared to what ROK is talking about, but yet (AFAIK) they don't exist.  If one was to contemplate doing such a thing I understand that Eclipse has a Graphical Editing Framework (GEF) which may form a good foundation for the graphical editor.  Maybe I'll get around to it someday however it's been on my todo list for 15 years now and yet I still use vim as my "IDE".</p>
</div>