All pastes #2104175 Raw Edit

Unnamed

public text v1 · immutable
#2104175 ·published 2012-01-19 21:34 UTC
rendered paste body
%===== Crashes:
Y = 
  fun (M) -> 
    G = fun(F) -> M(fun(A) -> (F(F))(A) end) end,
    G(G)
  end.
  
Loop = fun (F) ->
        fun () -> 
          receive {From,X} -> From ! X end, F()
        end
      end.
Pid = spawn(fun() -> (Y(Loop))() end).
     
Pid ! {self(), hi}. receive X -> X end. 
      
%===== Runs:
Y = 
  fun (M) -> 
    G = fun(F) -> M(fun(A) -> (F(F))(A) end) end,
    G(G)
  end.      
      
Func = fun (F) ->
        fun (0) -> 1, receive X -> X end;
         (N) -> receive {From,X} -> From ! X end, N * F(N-1)
        end
      end.      
Pid = spawn(fun() -> (Y(Func))(200) end).      

Pid ! {self(), hi}. receive X -> X end.