#include #define boolean bool #define character char #define integer int #define loop for (;;) typedef character * text; typedef integer instruction(integer); static boolean doesnothalt(instruction program, integer input) { volatile text magic = (text)program + input; return (boolean)magic; } static integer function(integer input) { if (doesnothalt(function, input)) loop; else return 0; } integer main(integer count, text arguments[]) { return function(count ? arguments[count - 1][0] : 0); }