Path: utzoo!utgpu!cs.utexas.edu!usc!nic.csu.net!beach.csulb.edu!csus.edu!decwrl!pacbell.com!att!news.cs.indiana.edu!ariel.unm.edu!cs.umn.edu!umn-cs!wieckows From: wieckows@cs.umn.edu (Zbigniew Wieckowski) Newsgroups: alt.sources Subject: Message-ID: <1991Apr21.231533.20345@cs.umn.edu> Date: 21 Apr 91 23:15:33 GMT Sender: news@cs.umn.edu (News administrator) Reply-To: wieckows@cs.umn.edu (Zbigniew Wieckowski) Organization: Department of Computer Science, University of Minnesota Lines: 51 Nntp-Posting-Host: mega.cs.umn.edu 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? I apologize for my earlier posting. After a while I agree with David (University of Minnesota) who called it "crass, rude, annoying and contrary to the manner in which U of MN is connected to the rest of the world". Thank you. ------------------------------------------------- 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 } -------------------------------------------------------