So, you think you know Erlang?

Michael Fogeborg micke@REDACTED
Tue Jun 6 00:34:32 CEST 2006


%%
%%  compiler complained...  had to do manual macro-expansion myself...
%%

%% Copyright (C) 2005 Richard Carlsson
%% Compile and call run().

-module(export_all).

-define(xyzzy, -ifdef(magic)).
-define(plugh, -ifndef(magic)).

-define(pi, 3.141592653589793).
-define('\',).
','compile'.
-define(%',?MODULE).

_@,?'\^@'.%@*^&@^&#$@
?xyzzy.

-define(zy,)).
-define(_,?'\',).\012'.%.').
-define('\0',?'\115O\104U\114\105').
-define(__(_),??_.%._??,(_)__).
-define(xy, -?%?-

_(.%.
?xy?_@?zy.%)).

?plugh.

-define(else,;(X)->

           . %%%% .
           %% .. %%

'fun'() -> fun() -> $\n = io:nl() end.

-record('\'',{'\'\'','\'\'\''}).

undefined_function(M, F, As) -> fun() -> [hd(As)|apply(M, F, tl(As))] end.

run() ->
     process_flag(error_handler, ?MODULE),
     case fun(__)->{element(#'\''.'\'\'\''-#'\''.'\'\'',  
__?zy,__#'\''.'\'\''} end of ___ ->
     begin case catch size([apply(spawn,lists,length([]))]) of __->__ end  
end,
     _@=(___(hd((__#'\''.'\'\'')#'\''.'\'\'')))(___({?'\0',(fun (_x) ->  
list_to_atom(((fun (_y) -> (fun (___) -> (fun
(__) -> (__)(__) end)((fun (__) -> (___)(fun (___) -> ((__)(__))(___) end)  
end)) end)(fun(___) -> fun (__) -> _z =
_y(hd(__)), if _z -> [hd(__)|(___)(tl(__))]; true -> [] end end end)  
end)(fun (X) when float(X) /= false -> X >=
math:pow(?pi, 4) ?else X < 8#177 end))(_x)) end)(?__(fun (_) -> false  
end)),0}),?__([?plugh?])) end,
     catch (((fun (___) -> (fun (__) -> (__)(__) end)((fun (__) ->  
(___)(fun (___) -> ((__)(__))(___) end) end))
end)(fun(___) -> fun (__) -> fun (____) -> io:put_chars([hd(__())]),  
((___)(tl(__())))(____) end end end))(((((fun (___)
  -> (fun (__) -> (__)(__) end)((fun (__) -> (___)(fun (___) ->  
((__)(__))(___) end) end)) end)(fun(_w) -> fun (_x) ->
fun (__) -> fun (___) -> fun () ->  
[_x(hd(__()),hd(___()))|(((_w)(_x))(tl(__())))(tl(___()))] end end end end  
end))(fun
(_x,_y) -> _x bxor _y end))(_@))((((fun (___) -> (fun (__) -> (__)(__)  
end)((fun (__) -> (___)(fun (___) ->
((__)(__))(___) end) end)) end)(fun(_x) -> fun (__) -> fun (___) -> fun ()  
-> [___+hd(__())|
((_x)(tl(__())))(hd(__())+___)] end end end  
end))(?'\^@':(hd(tuple_to_list(hd((hd(module_info()))#'\''.'\'\''))))(2,  
50,
  14, -7, -45, 33, 21, -69, -9, 75, 1, -15, 56)))(17))))(fun (_) ->  
exit(42) end),
    ok.




More information about the erlang-questions mailing list