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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.