Re: [stack] Interesting Joy usage
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
> I was reading the recent "Steps towards the reinvention of > programming" paper from VPRI today and noticed this snippet: > > "A subset of the "Joy" language is used for the internal > representation of dataflow programs. Joy is > a language based on Combinatory Logic, useful for program > transformation because it has no free > variables. We used a simplified Joy based on Linear Logic that > requires the programmer to make > explicit any duplication or deletion." > > This is is on page 26 talking about a Visual Dataflow Programming. Joy programs have a straightforward translation to a sort of visual dataflow representation. Due to the stack, the resulting diagrams are quite clear (lines do not cross, data flows in "columns", there are no cycles, etc). Here's everyone's favorite hypotenuse function where the right-most column is the top element of the stack: http://johnnowak.com/heap/hypot.png What's nice about this visual representation is that it's very clear how many elements each function consumes and produces. I've used it to explain the functional stack-based paradigm to non-programmers with a fair deal of success. I'll post some more interesting examples of visual translations later -- I'm at work at the moment and it seems I only have that one image uploaded. - John