steven@mcvax.UUCP (Steven Pemberton) (12/19/84)
OBFUSCATED MLISP CONTEST - RESULTS
Despite a very poor response to this competition (probably because I forgot
to announce it) the first prize of an all-expenses paid weekend for one in
Amsterdam, Sweden, goes to the author of this superb piece of obfuscated
mlisp, namely steven@mcvax. Congrats Steven! More of it!
To run this code, blurfl it into a buffer, execute-mlisp-buffer, and execute
the mlisp function 'surprise', answering the question with, for example, 4.
_______________CUT HERE______________KEEP CUTTING HERE________________________$
(defun
(show
(save-excursion
(beginning-of-file)
(sit-for 0)
)
(novalue)
)
(surprise limit i
(setq limit (arg 1 "Value (3, 4, or 5): "))
(pop-to-buffer "Surprise")
(beginning-of-file) (set-mark) (end-of-file) (delete-to-killbuffer)
(insert-string " . . . \n =|= | | \n")
(setq i 1)
(while (< i limit)
(end-of-file)
(previous-line)
(kill-to-end-of-line) (delete-next-character)
(yank-from-killbuffer) (insert-string "\n")
(yank-from-killbuffer) (insert-string "\n")
(beginning-of-file)
(replace-string " . " " . ")
(replace-string " =" " =")
(replace-string "= " "= ")
(replace-string " | " " | ")
(end-of-file) (previous-line)
(replace-string " =" "==") (replace-string "= " "==")
(setq i (+ i 1))
)
(beginning-of-file) (replace-string "." " ") (sit-for 20)
(do-it limit 1 2 3)
(beginning-of-file)
(provide-prefix-argument 2 (search-forward "|"))
(previous-line) (backward-character)
(insert-string "*")
(beginning-of-line)
(kill-to-end-of-line)
(yank-from-killbuffer)
(end-of-file)
(yank-from-killbuffer)
(insert-string "\n") (previous-line)
(delete-next-character) (replace-string "*" "y X")
(delete-next-character) (re-replace-string "y.X" "p&m")
(delete-next-character) (re-replace-string "p.*m" "p&a")
(delete-next-character) (re-replace-string "p.*a" "a&s")
(delete-next-character) (re-replace-string "a.*s" "H&!")
(beginning-of-file) (search-forward "*") (backward-character)
(novalue)
)
(raise i
(while (looking-at "=*|")
(setq i 1)
(while (<= i 2)
(setq i (+ i 1))
(while (looking-at "=")
(delete-next-character) (insert-string " ")
(backward-character) (previous-line)
(delete-next-character) (insert-string "=")
(next-line)
)
(forward-character)
)
(previous-line)
(search-reverse " =") (forward-character) (show)
)
)
(lower i
(next-line)
(while (! (| (looking-at "=") (eobp)))
(previous-line)
(setq i 1)
(while (<= i 2)
(setq i (+ i 1))
(while (looking-at "=")
(delete-next-character) (insert-string " ")
(backward-character) (next-line)
(delete-next-character) (insert-string "=")
(previous-line)
)
(forward-character)
)
(next-line)
(search-reverse " =") (forward-character) (show)
(next-line)
)
)
(jiggle from to replacement
(setq from (arg 1 "from: ")) (setq to (arg 2 "to: "))
(beginning-of-file)
(provide-prefix-argument from (search-forward "|"))
(backward-character) (backward-character)
(while (! (looking-at "=")) (next-line))
(search-reverse " ") (forward-character)
(raise)
(beginning-of-file)
(provide-prefix-argument to (search-forward "|"))
(backward-character) (previous-line)
(if (< from to) (setq replacement " \\1") (setq replacement "\\1 "))
(while (! (looking-at "="))
(beginning-of-file)
(re-replace-string " \\(==* ==*\\) " replacement) (show)
(provide-prefix-argument to (search-forward "|"))
(backward-character) (previous-line)
)
(while (! (looking-at " "))
(beginning-of-file)
(re-replace-string " \\(==* ==*\\) " replacement) (show)
(provide-prefix-argument to (search-forward "|"))
(backward-character) (previous-line)
)
(search-reverse " =") (forward-character)
(lower)
(novalue)
)
(do-it
(if (> (arg 1) 0)
(progn
(do-it (- (arg 1) 1) (arg 2) (arg 4) (arg 3))
(jiggle (arg 2) (arg 3))
(do-it (- (arg 1) 1) (arg 4) (arg 3) (arg 2))
)
)
(novalue)
)
)gertjan@txsil.UUCP (12/28/84)
Obfuscated not in my Prisma dictionary!