Re: [stack] Advantages of cat, joy ..?
John Nowak <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Feb 16, 2009, at 12:21 PM, William Tanksley wrote: > For example, applicative languages make it easy to implement a very > limited amount of parallel control flow: the parameters of a function > are evaluated independently, so in theory they could be evaluated in > parallel. One possible solution is to invent control structures that > are > explicitly parallel; indeed, this has been done for at least one very > interesting language, Factor. Representing stack-based code in a graphical manner exposes essentially all of the parallelism you'd get in an applicative language. There are areas where applicatively languages are better (primarily implementing existing algorithms and math equations), but I don't think parallelism is one of them. Well, at least not in any way that matters; if you're talking about implicit parallelism, your compiler is going to be figuring it out for you anyway. Talking about "human factors", I really think an interface that would draw out your data flow in real-time as you coded (which is trivial to do in a flat language), complete with type labels, etc, would make a huge difference. You'd name the inputs and outputs to your function as you do in Forth/Factor, but you could think about these labels as names for "ports". The diagram would represent a push-based, strictly- downward dataflow program. As soon as I get the time, I'll try and put something together; I have the unfortunate obligation of working to feed myself lately. The idea would be to make concatenative programming accessible to artists and incorporate some functional reactive programming ideas. - John