Haskell(GHC) has out-of-the-box support for green threads (Erlang's 'processes'). For example
forkIO spawns a new green thread and returns its thread id.
forkIO :: IO () -> IO ThreadId
message passing mechanism is implemented by the package distributed-process but it is not very well maintained.
Haskell's data-sharing mechanism differs from Erlang. ...