Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wanted to add: I skimmed your paper and slides. Your work is very, very interesting and well thought out. I'll take a deeper look when I'm not so tired.

One important thing: in your slides you write that data flow is underpinned by graph theory.

You are absolutely correct that data flow diagrams (whether a directed graph, directed acyclic graph, etc.) are underpinned by graph theory.

But the critical issues of visual programming are an algebraic problem, not a problem of graph theory. If it were just a graph problem, then you'd maybe be able to write a tool that allowed you to diagram an abstract syntax tree and you'd be done.

When I say the problem space is algebraic, I mean the problem space of computation ultimately involves sets of operators and operands that define an algebra, and the boundaries of this algebra determine what kinds of problems your data flow language can solve.

I've found abstract algebra (the notions of identity, commutativity, associativity, and closure) to be particularly helpful in breaking these problems down. I've already discussed closure in my longer response to you, but the axioms of identity, inverses, and commutativity are very useful for building strategies to handle type conversions in visual programming.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: