||this produces an endless self describing scroll of lines, as follows || the 1st line is || "the 1st line is" || the 2nd line is || ""the 1st line is"" || the 3rd line is || "the 2nd line is" || etc... ||To see the result, say || output ||Hit control-C (interrupt) when you have seen enough. ||If you would like to send the output to a file, say || output &> fil ||where `fil' is the name of the file in which you want to put it ||this will create a background job output = concat[l++"\n"|l<-selflines] selflines = mklines 1 mklines n = ("the "++ord n++" line is:"): ("\""++selflines!(n-1)++"\""): mklines(n+1) ord n = show n++suffix n suffix 1 = "st" suffix 2 = "nd" suffix 3 = "rd" suffix n = "th", if n=0 \/ 3<=n&n<=9 = "th", if (n mod 100)div 10 = 1 ||because of 11,12,13 = suffix(n mod 10), otherwise