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.
_______________________________________________