; generates insults inspired by Hunter S. Thompson
; this program inspired by a perl program found at:
;
https://www.perlmonks.org/?node_id=46151
(setf *random-state* (make-random-state t))
; get a fresh random state, we don't want to keep
; repeating the same gibberish over and over here
(defun HST-invective () ; constructs an invective from word lists
(let* ((adjective-1 '("vicious" "rancid" "savage" "rotten"
"demented" "devious" "grisly" "myopic"
"halfwit" "filthy" "foetid" "deranged"
"warped" "raving" "cowardly" "wastrel"
"depraved" "incompetent" "flat-out"
"brutal" "brutish" "crazed" "sniveling"
"whining" "simpering" "merciless" "turncoat"
"twisted" "slavering" "feral" "ruthless"
"manipulative" "drug-addled" "gutless"
"goddamned" "putrid" "diabolical" "heinous"
"distorted" "lying" "furious" "malignant"
"malicious" "mindless" "remorseless"
"plastic" "stupefying" "vile" "black-minded"
"cheap" "mendacious" "foolish" "maddening"
"venomous" "abusive" "confused"
"repellent" "lazy" "half-wit"
"rapacious" "treacherous" "insipid" "degraded"
"bletcherous" "brainwashed"
"prattling" "noisome" "unspeakable" "lame"
"wanton"))
(adjective-2 '("festering" "stinking" "drooling" "scamming"
"rabbit-punching" "knee-crawling" "scurvy"
"thieving" "crypto-fascist" "fascist" "pig-whipping"
"hellish" "wretched" "hag-ridden" "waterhead"
"loathsome" "cheapjack" "buggering" "slobbering"
"degenerate" "inhuman" "virulent" "ghoulish"
"subhuman" "poisonous" "cannibal" "back-stabbing"
"decrepit" "cancerous" "chattering" "diseased"
"monstrous" "gibbering" "cocksucking" "flag-sucking"
"dilettante" "paranoid" "gibberish-spewing"
"yammering" "scheming" "greed-crazed"
"empty-headed" "skunk-sucking" "anal-compulsive"
"vapid" "egg-sucking" "empty-headed" "deadhead"
"sinister" "vacuous" "brainless" "braindead"
"half-mad" "soulless" "soul-sucking" "ungulate"
"psychotic" "blithering" "money-sucking"
"motherfucking" "vomitous" "hustling"))
(noun-1 '("bastard" "little bastard" "swine" "scum"
"crook" "miscreant" "reptile" "fiend"
"psychopath" "geek" "mutant" "hoodlum"
"lunatic" "raving lunatic" "maniac" "parasite"
"soul-fucker" "cockroach" "little cockroach" "weasel"
"asshole" "fatback" "pervert" "lizard"
"thug" "sybarite" "traitor" "ward-heeler"
"slug" "leech" "little pervert" "snake"
"rat eater" "deviant" "jar of raccoon semen"
"roach" "troglodyte" "pigfucker" "pigfucker"
"vermin" "greedhead" "toad" "scumbag"
"invertebrate" "hammerhead" "hustler" "rube"
"animal" "brute" "reprobate" "creep"
"cretin")))
(format t (concatenate 'string "~%~%" "you" " " (choose-word adjective-1) " "
(choose-word adjective-2) " "(choose-word noun-1) "!" "~%~%"))))
(defun choose-word (word-list) ; chooses a random word from a list
(nth (random (length word-list)) word-list))
; For every moment of triumph, for every instant of beauty, many souls
; must be trampled.
; (Hunter S. Thompson)
; The 'jar of raccoon semen' is courtesy of Reddit user 'TheNightBench'
;
https://www.reddit.com/user/TheNightBench
; (format t "~%~% For every moment of triumph, for every instant of beauty, many souls must be trampled. ~% (Hunter S. Thompson) ~%~%")
(hst-invective)