|
|
>> - I have no idea what Erlang does...
>
> You send a message to another process, or receive such a message, which
> isn't therefore functional as such. Processing the message is (mostly)
> functional, but the behavior of a collection of processes varies with
> timing and such.
>
> Plus, there are processes implemented in C which do non-functional stuff
> with messages, like write them to stdout.
So it's kinda like SQL - it's basically stateless, except for some
top-level state mutation. (?)
>> (A Haskell "program" takes an infinite list of I/O responses as input,
>> and returns an infinite list of I/O requests as output.
>
> I remember reading about that a long time ago! :-)
Yeah. Frighteningly easy to accidentally get the requests and replies
out of sync. This means it's also very easy to accidentally try to read
a response before the request has been sent - also known as a
"deadlock". :-/
We got rid of that For A Reason(tm). ;-)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
|