<None>

Zbigniew Wieckowski wieckows at cs.umn.edu
Mon Apr 22 03:43:05 AEST 1991


I was once challenged by my Pascal course lecturer to write a self-replicable
program. I was a freshman at the Warsaw Technical University. I made an effort
to reconstruct the program now.

Can anybody think of a sequence of procedure calls after 'begin' that could form
an English language sentence? (by permutating procedures)

Has anyone written such program in Cobol or Fortran?

IMPORTANT:

   Copyright is granted after you send $1 (one dollar) to:

   Zbigniew Wieckowski
   712 Osceola Ave. Apt#1
   St.Paul, MN 55105

-------------------------------------------------
program Selfish(output);
var procname: char;
procedure a; begin write('program Selfish(output);') end;
procedure b; begin writeln end;
procedure c; begin write('var procname: char;') end;
procedure d; begin write('procedure ') end;
procedure e; begin procname:= 'a' end;
procedure f; begin write(procname) end;
procedure g; begin write('; begin write(') end;
procedure h; begin write('''') end;
procedure i; begin write(') end;') end;
procedure j; begin procname:= chr(ord(procname)+1) end;
procedure k; begin write('; begin writeln end;') end;
procedure l; begin h;i;b;d;j;f end;
procedure m; begin write('; begin procname:= ') end;
procedure n; begin write('a') end;
procedure o; begin write(' end;') end;
procedure p; begin write('procname') end;
procedure q; begin write('; begin procname:= chr(ord(procname)+1) end;') end;
procedure r; begin write('; begin h;i;b;d;j;f end;') end;
procedure s; begin write('begin a;b;c;b;d;e;f;g;h;a;h;i;b;d;j;f;k;b;d;j;') end;
procedure t; begin write('f;g;h;c;l;g;h;d;l;m;h;n;h;o;b;d;j;f;g;p;i;b;d;') end;
procedure u; begin write('j;f;g;h;g;l;g;h;h;h;l;g;h;i;l;q;b;d;j;f;g;h;k;') end;
procedure v; begin write('l;r;b;d;j;f;g;h;m;l;g;h;n;l;g;h;o;l;g;h;p;l;g;') end;
procedure w; begin write('h;q;l;g;h;r;l;g;h;s;l;g;h;t;l;g;h;u;l;g;h;v;l;') end;
procedure x; begin write('g;h;w;l;g;h;x;l;g;h;y;l;g;h;z;h;i;b;s;b;t;b;u;') end;
procedure y; begin write('b;v;b;w;b;x;b;y;b;z;b end.') end;
procedure z; begin write('{ Copyright 1984,1991 by Zbigniew Wieckowski }') end;
begin a;b;c;b;d;e;f;g;h;a;h;i;b;d;j;f;k;b;d;j;
f;g;h;c;l;g;h;d;l;m;h;n;h;o;b;d;j;f;g;p;i;b;d;
j;f;g;h;g;l;g;h;h;h;l;g;h;i;l;q;b;d;j;f;g;h;k;
l;r;b;d;j;f;g;h;m;l;g;h;n;l;g;h;o;l;g;h;p;l;g;
h;q;l;g;h;r;l;g;h;s;l;g;h;t;l;g;h;u;l;g;h;v;l;
g;h;w;l;g;h;x;l;g;h;y;l;g;h;z;h;i;b;s;b;t;b;u;
b;v;b;w;b;x;b;y;b;z;b end.
{ Copyright 1984,1991 by Zbigniew Wieckowski }
-------------------------------------------------------



More information about the Alt.sources mailing list