Stu wrote in post #994213:
> Which language would be a decent new users language which would fit
> well into my unix toolkit above as well as threading the knowledge
> back into ruby's hybrid programming?

If you are coming to functional programming from an imperative 
background, I would recommend Erlang as a sound starting point. It's a 
highly practical language for real-world applications, albeit with a 
frustrating syntax.

In Erlang, functions can and do have side effects, in particular the 
sending of messages between processes. However variables can be bound 
only once, and data structures are immutable. There is no "A = A + 1" 
:-)

So each individual process is functional, and you start getting your 
head around functional algorithms "in the small", such as using 
recursion for looping and traversing data structures. But you don't have 
to worry about building your entire application in a purely functional 
form.

The immutability of data means concurrency is easy (no mutexes!) and you 
have zero-copy passing of data structures, at least between processes on 
the same node.

-- 
Posted via http://www.ruby-forum.com/.