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