From: cessu@cs.hut.fi (Kenneth S A Oksanen)
Subject: hokkaspokkas.cl
Organization: Helsinki University of Technology
Distribution: sfnet
Date: Thu, 5 Nov 1992 05:54:25 GMT


Joo, kyll{ tosiaan taitaa olla niin, ett{ tuo t{{ll{ jo jonkin aikaa
esiintynyt ilmi| on vain maaginen teko{lyohjelma. Osoittaakseni t{m{n
kulutin hieman p{{lle puoli tuntia sellaista kirjoittaessani. Toimii
niin hyvin, etten erota sen tuottamaa puppaa t{{ll{ n{hdyst{ muutoin
kuin siit{, ett{ siin{ on toistaiseksi viel{ hieman liian paljon
v{lily|ntej{ ja siit{, ett{ se tuottaa hieman turhan pitki{ rivej{.

(En vaadi tuohon hackiin mit{{n oikeuksia, joten porukka voi varsin
hyvin ryhty{ kehittelem{{n sit{ edelleen. (Tosin ei kovin paljon ei
ole varaa tai se menee mallistaan ohi...))

-- cut -- cut -- cut -- cut -- cut -- cut -- cut -- cut -- cut -- cut --

<cl> :ld hokkaspokkas.cl

; Loading /m/huuhaa/users4/cessu/lisp/hokkaspokkas.cl.
<cl> (hokkaspokkas 3)
Herra K|nkk|l{ esiintyy kuin huuhaileva eunukki  , joten Herra Hursti on totuudesta vieraantunut torvi  .
punaiset julistaa totuutta  , siis Jyv{skyl{n yliopiston kahvikassa julistaa totuutta  .

NIL 
<cl> (hokkaspokkas 8)
Hrustsev julistaa totuutta  , kun taas EY pakottaa myym{{n peppua kadulla  .
NKP pelastaa tuholta  , siis Marx pelastaa tuholta  .
Jungs julistaa totuutta kuten aina  , joten Hrustsev pelastaa tuholta kuten aina  .
Iso-britannia aiheuttaa miljoonittain kuolonuhreja j{lleen  ja USA aiheuttaa miljoonittain kuolonuhreja j{lleen  .
HUT on v{{r{ss{ kuten aina  .
Hei hulinaa .
ahkeruus julistaa harhaoppisuutta taas  .

NIL 

-- cut -- cut -- cut -- cut -- cut -- cut -- cut -- cut -- cut -- cut --
;;;;;
;;;;; hokkaspokkas.cl -- a leftists propaganda generator.
;;;;;
;;;;; Written 5.11-1992 by <cessu@cs.hut.fi>, all rights perverted.
;;;;;


(defparameter *leftist-organizations*
  '("KGB" "NKP" "Politbyroo" "SKP" "kommunistinen puolue" 
    "Jyv{skyl{n yliopiston kahvikassa" "punaiset" "SAK"))

(defparameter *leftist-persons*
  '("Marx" "Engels" "Jungs" "Lenin" "Stalin" "Hrustsev" "Popper"))

(defparameter *rightist-organizations*
  '("CIA" "Suopo" "USA" "Iso-britannia" "EY" "Kokoomus" "POP"))

(defparameter *they-are-smarter-than-me-so-I-have-to-bash-them*
  '("Herra Viljanen" "Valistusupseeri Viljanen" "Herra K|nkk|l{"
    "Herra Visti" "Herra Hursti" "Herra Raivio" "TKK" "HUT"))

(defparameter *leftisms*
  '("kommunismi" "sosialismi" "ty|v{enliike"))

(defparameter *rightisms*
  '("kapitalismi" "markkinatalous" "yritt{jyys" "ahkeruus" "rahan himo"
    "monetarismi"))

(defparameter *positive-VP*
  '("on oikeassa" "julistaa totuutta" "pelastaa tuholta" "s{{st{{ lamalta"))

(defparameter *negative-VP*
  '("on v{{r{ss{" "julistaa harhaoppisuutta" "johtaa tuhoon" 
    "aiheuttaa miljoonittain kuolonuhreja" "pakottaa myym{{n peppua kadulla" 
    "ajaa ihmiset itsemurhiin" "johtaa kadotukseen"))

(defparameter *continuations*
  '("tapansa mukaan" "kuten aina" "taas" "j{lleen"))

(defparameter *exist-verbs*
  '("on" "todisti j{lleen olevansa" "esiintyy kuin"))

(defparameter *negative-nouns* 
  '("torvi" "eunukki" "kahjo"))

(defparameter *negative-adjectives*
  '("j{rkens{ menett{nyt" "totuudesta vieraantunut" "huuhaileva" 
    "ep{inhimillinen" "tyhm{"))

(defparameter *concaters*
  '(", siis" ", joten" ", siksi" "ja" "tai"))

(defparameter *inv-concaters*
  '(", kun taas" ", toisin kun"))


(defparameter *lefts*
  '(*leftist-organizations*
    *leftist-persons*
    *leftisms*))

(defparameter *rights*
  '(*rightist-organizations*
    *they-are-smarter-than-me-so-I-have-to-bash-them*
    *rightisms*))

(defparameter *left-sentence*
  '((*lefts* *positive-VP*)
    (*lefts* *positive-VP* *continuations*)))

(defparameter *right-sentence*
  '((*rights* *negative-VP*)
    (*rights* *negative-VP* *continuations*)
    (*rights* *exist-verbs* *negative-adjectives* *negative-nouns*)))

(defparameter *sentences*
  '((*left-sentence*)
    (*right-sentence*)
    (*left-sentence* *concaters* *left-sentence*)
    (*right-sentence* *concaters* *right-sentence*)
    (*left-sentence* *inv-concaters* *right-sentence*)
    (*right-sentence* *inv-concaters* *left-sentence*)
    ("Hei hulinaa")))


(defun produce (rule)
  (cond ((stringp rule) (format t "~a" rule))
	((symbolp rule) (produce (symbol-value rule)))
	((listp rule)
	 (let ((prod (nth (random (length rule)) rule)))
	   (if (listp prod)
	       (loop for r in prod
		     do (produce r)
		     unless (eq (last rule) r)
		       do (format t " "))
	     (produce prod))))))

(defun hokkaspokkas (n)
  (when (> n 1)
	(produce *sentences*)
	(format t ".~%")
	(hokkaspokkas (- n 1))))


-=-
; (c) 1992 by Kenneth Oksanen, <cessu@cs.hut.fi>, +358-0-4513377 or -555017
((lambda(a) (a a((lambda(a)(lambda()(set! a(+ a 1))a))1)))(lambda(a c)
((lambda(b) (newline)(write b)(a a((lambda(c)(lambda()(c c)))(lambda(a)
((lambda(c) (if(=(modulo c b)0)(a a)c))(c))))))(c)))) ; Have fun!
Newsgroups: sfnet.keskustelu.politiikka