Xref: utzoo comp.lang.c:17506 comp.sys.amiga.tech:4547 comp.lang.modula2:1408 comp.lang.pascal:1682 rec.humor:20556 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!uunet!cs.dal.ca!aucs!850347s From: 850347s@aucs.UUCP (Hume Smith) Newsgroups: comp.lang.c,comp.sys.amiga.tech,comp.lang.modula2,comp.lang.pascal,rec.humor Subject: Re: Another Silly programming puzzle.... Keywords: contest silly Message-ID: <1751@aucs.UUCP> Date: 7 Apr 89 18:43:22 GMT References: <1210@microsoft.UUCP> <12320@reed.UUCP> <1744@aucs.UUCP> Reply-To: 850347s@aucs.UUCP (Hume Smith) Organization: Mathematics Acadia University Lines: 40 850347s@aucs.UUCP (Hume Smith) almost, but not quite, wrote }- exactly why i hate pascal - a hundred lines of illegibility instead of the }- 2 or 3 you'd have in C. }- }- i wonder if i can do this in Lisp... read that carefully, i do mean the 2 or 3 lines of illegibilty :-) this runs under franz lisp... i recommend compiling it though. Usage: (rot13 t_filename) (def alpha<= (lambda (&rest x) (if (or (null x) (null (cdr x))) t (and (or(eq (car x) (cadr x)) (alphalessp (car x) (cadr x))) (apply 'alpha<= (cdr x)))))) (def rot13 (lambda (file) ((lambda (port) (do ((X)) ((null (setq X (readc port)))) (princ (cond ((or (alpha<= 'a X 'm) (alpha<= 'A X 'M)) (ascii (+ (getcharn X 1) 13))) ((or (alpha<= 'n X 'z) (alpha<= 'N X 'Z)) (ascii (- (getcharn X 1) 13))) (t X)))) (close port)) (infile file)))) -- now: HAS THIS BLEEDIN' ROT13 NONSENSE GONE ON LONG ENOUGH? -- Hume Smith Wolfville Nova Scotia BITNET 850347s@Acadia Internet 850347s%Acadia.BITNET@CUNYVM.CUNY.EDU UUCP {uunet|watmath|utai|garfield}!dalcs!aucs!850347s