Hacker News new | past | comments | ask | show | jobs | submit login

I've always wanted a tool that can create a flowchart from the flow control of a piece of code. Ideally it would be bidirectional - you could drag and drop things in the flowchart and the text sourcecode would change, and vice versa. There are a million tools that do this with object or class diagrams, but I've never seen one that does it with imperative flow control code (if/then, switch/case, while & for loops, etc.).

I'm months away from a soft launch but I'm building language and environment for declarative, functional programs with a graph-reduction computation model -- basically instead of typing code that gets parsed into an AST you just write the AST

Nodes of the graph re-write themselves as soon as their prerequisites are fulfilled (Kind of an event-driven graph reduction)

I've been dreaming up all kinds of things you can do once your program is emitting 'change' events -- I want to do webGL trees (like the kind made of wood) that update themselves with the state of the graph, and let people program their own sounds for each kind of event -- you could listen to how quickly a program is running, hear how many things are coming off the stack.

If you listened to it every time, you would hear when something changed.

Ultimately my goal is to make source-code more curiosity-inducing, to make the computation of user requests kind of always-present, in the background (like the whirring and grunts of the old machines in Engelbart's mother-of-all-demos, cleverly mic'd by Stewart Brand so the audience could hear the machine at work, tho it was miles away), and then when a user actually looks at the code, they're greeted with something they might eventually intuit by hacking around with it. You could pause and back up and edit the state and replay, such that the IDE is always in debug mode -- hopefully with some groovy sounds and visuals.

I have a very rough draft with mock up gifs at https://lookalive.software if you'd be inclined to give any first impressions

Interesting! This way of structuring & evaluating a program seems analogous to how spreadsheets work, but with a hierarchical instead of a tabular data model. I could see it being helpful to new programmers for building intuition about how code works.

And translating a program's execution into sound and being able to hear changes sounds really fun.

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