[Haskell-cafe] Benefits and use cases for strong mobility in presence of closure serialization

Станислав Черничкин schernichkin at gmail.com
Wed Jul 17 14:02:45 UTC 2019


Benefits and use cases for strong mobility in presence of closure
serialization

I read a paper about strong mobility in Haskell
http://www.dcs.gla.ac.uk/~trinder/papers/strongm.pdf and I wondering what
benefits it gives in presence of closure serialization? I guess for some
languages strong mobility could be only way to transfer execution state of
program, e.g.

[Mobile Pascal;)]
program Test;
var
  a: Integer;
begin
  readln(a);             // acquiring on current host
  moveTo("anotherHost"); // transfering state and terminating
  writeln(a);            // printing on another host
end.

but in Haskell same program can be written just using rfork :: Host -> IO
() -> IO ():

main = do
  a <- readLn
  rfork AnotherHost $ do
    print a

The difference comparing to moveTo :: Host -> IO () version is purely
syntactic:

main = do
  a <- readLn
  moveTo AnotherHost
  print a

-- 
Sincerely, Stanislav Chernichkin.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20190717/5aa59696/attachment.html>


More information about the Haskell-Cafe mailing list