Index: botsoc.scm ================================================================== --- botsoc.scm +++ botsoc.scm @@ -14,11 +14,11 @@ ("onanism") ("anthropology") ("authoritarianism") ("totalitarianism") ("social justice") ("identity politics") ("idpol") ("terrorism") ("islamism") ("hedonism") ("libertinism") ("computer science") ("transhumanism") ("posthumanism") ("humanism") - ("humanitarianism") + ("humanitarianism") ("racism") ("libertarianism"); ("static typing") ("dynamic typing") ("neoliberalism")) (rule (ideology-prefix) ("neo-") ("social ") ("democratic ") ("paleo-") ("retro-") ("anarcho-") @@ -26,11 +26,11 @@ ("sado-") ("eroto-") ("strangulo-") ("theo-") ("ultra-") ("arachno-") ("anti") ("post-") ("post") ("ethno-") ("marxism-") ("left-") ("alt-") ("right-") ("space ") ("gay ") - ("quantum ")) + ("quantum ") ("racial ")) (rule (ideology) ((base-ideology)) ((adjective) " " (ideology)) ((ideology-prefix) (base-ideology))) (rule (problem) @@ -92,18 +92,20 @@ ("declare war") ("deprive " (group) " of " (necessity))) (rule (trait) ("power") ("influence") ("wealth") ("solidarity") ("hope") ("conviction") ("autonomy") ("freedom") - ("liberty") ("faith") ("humanity") ("sapience")) + ("liberty") ("faith") ("humanity") ("sapience") + ("purity") ("flesh purity") ("racial purity")) (rule (necessity) ("sex") ("water") ("food") ("money") ("wealth") ("income") ("welfare") ("tea") ("therapy") ("pain relief") ("medical care") ("medicine") ("reproduction") ("hope") ("faith") - ("love") ("pain") ("love") ("oxygen") ("nutrition")) + ("love") ("pain") ("love") ("oxygen") ("nutrition") + ("racial hygiene")) (rule (thing) ((problem)) ((necessity)) ("Russia") ("Mars") ("activism") ((thing) " activism") ("anti-" (thing) " activism") @@ -117,22 +119,22 @@ ("influenza") ("alien life") ("mind control") ("terrorism") ("identity") ("healthcare") ("literature") ("grass") ("catnip") ("virginity") ("television") ("romance") ("finance") ("opium") ("law") ("dating") ("online dating") ("friendship") - ("the Resistance")) + ("the Resistance") ("the Manosphere") ("race") ("Qanon")) (rule (things) ("pandas") ("lasers") ("toasters") ("kulaks") ("opiates") ("painkillers") ("teacups") ("umbrellas") ((thing) " rights") ((adjective) " rights") (group) ("humans") ("vaccines") ("doctors") ("drugs") ("hospitals") ("UFOs") ("aliens") ("flowers") ("pumpkins") ("guns") ("babies") - ("friends") ("bitcoins") - ) + ("friends") ("bitcoins")) + (rule (thingss) ((thing)) ((things))) (rule (group) ("gays") ("whites") ("African-Americans") @@ -156,11 +158,11 @@ ("kulaks") ("slaves") ("human trafficking victims") ("victims") ("crime victims") ("victims of " (problem)) ("losers") ("thieves") ("queer people") ("queers") ("senators") ("presidents") ("queens") ("kings") ("emperors") - ("aliens") + ("aliens") ("racists") ((thing) " activists") ("anti-" (adjective) " activists") ((ideology) " activists") ((adjective) " activists")) ; utility fns (rule (adjfor adj con g) Index: bottist.ml ================================================================== --- bottist.ml +++ bottist.ml @@ -1,24 +1,24 @@ let adjs = [| "queer"; "electric"; "space"; "super"; "discount"; "extreme"; "far-left"; - "far-right"; "unreconstructed"; "modern"; "eternal"; "original"; "historical"; "tankie"; "mystical"; "arcane"; "catholic"; "protestant"; "irish"; "dialectical"; "confucian"; "orbital"; "suborbital"; "martian"; "minimalist"; "moist"; "dire"; "trotskyite"; "trotskyist"; "supreme"; "objective"; "object-oriented"; "moist"; "authentic"; "nazi"; "anti-revisionist"; "revisionist"; "revolutionary"; "counter-revolutionary"; "populist"; "de-leonist"; "lexical"; "armed"; "unarmed"; "people's"; "sectarian"; "israeli"; "palestinian"; "american"; "mexican"; "russian"; "soviet"; "reformist"; "canadian"; "automatic"; "automated"; "luxury"; "deluxe"; "gay"; "full"; "islamic"; "christian"; "visionary"; "magical"; "magic"; "social"; |] + "far-right"; "unreconstructed"; "modern"; "eternal"; "original"; "historical"; "tankie"; "mystical"; "arcane"; "catholic"; "protestant"; "irish"; "dialectical"; "confucian"; "orbital"; "suborbital"; "martian"; "minimalist"; "moist"; "dire"; "trotskyite"; "trotskyist"; "supreme"; "objective"; "object-oriented"; "moist"; "authentic"; "nazi"; "anti-revisionist"; "revisionist"; "revolutionary"; "counter-revolutionary"; "populist"; "de-leonist"; "lexical"; "armed"; "unarmed"; "people's"; "sectarian"; "israeli"; "palestinian"; "american"; "mexican"; "russian"; "soviet"; "reformist"; "canadian"; "automatic"; "automated"; "luxury"; "deluxe"; "gay"; "full"; "islamic"; "christian"; "visionary"; "magical"; "magic"; "social";"racist"; |] let prefixes = [|"neo"; "post"; "retro"; "anti"; "counter"; "pre"; "paleo"; "femino"; "anarcho"; "oligo"; "meta"; "diabolo"; "theo"; "petro"; "sado"; "arachno"; "psycho"; "socio"; "eroto"; "nano"; "mini"; "xeno"; "astro"; "femto"; "electro"; "endo"; "arch"; "macro"; "cardio"; "mesmo"; "chrono"; "nycto"; "megalo"; "lesbo"; "masculo"; "ultra"; "urtla"; "proto"; "weebo"; "thanato"; "volcano"; "strangulo"; "quasi"; "pseudo"; "procto"; "copro"; "hydro"; "gastro"; "thermo"; "mystico"; "arcano"; "disastro"; "vagino"; "dino"; "nympho"; "pharma"; "macho"; "tele"; "bio"; "cryo"; "homo"; "hetero"; "auto"; "arachno"; - "christo"; "islamo"; "narco"|] -let ists = [| "plurali"; "femini"; "activi"; "sociali"; "marxi"; "lenini"; "stalini"; "fasci"; "sadi"; "stirneri"; "masochi"; "imperiali"; "arcani"; "syndicali"; "masturbati"; "pedantici"; "posadi"; "hoxhai"; "maoi"; "papi"; "catholici"; "protestanti"; "coloniali"; "francoi"; "materiali"; "immateriali"; "sexuali"; "stallmani"; "minarchi"; "totalitariani"; "authoritariani"; "revisioni"; "legali"; "supremaci"; "masculi"; "primitivi"; "brezhnevi"; "populi"; "kautskyi"; "hitleri"; "pacifi"; "zioni"; "reformi"; "canadiani"; "tribadi"; "automati"; "autonomi"; "luddi"; "libertariani"; "capitali"; "chauvini"; "anarchi"; "mystici"; "islami"; "nazi"|] + "christo"; "islamo"; "narco"; "levo"; "dextro";|] +let ists = [| "plurali"; "femini"; "activi"; "sociali"; "marxi"; "lenini"; "stalini"; "fasci"; "sadi"; "stirneri"; "masochi"; "imperiali"; "arcani"; "syndicali"; "masturbati"; "pedantici"; "posadi"; "hoxhai"; "maoi"; "papi"; "catholici"; "protestanti"; "coloniali"; "francoi"; "materiali"; "immateriali"; "sexuali"; "stallmani"; "minarchi"; "totalitariani"; "authoritariani"; "revisioni"; "legali"; "supremaci"; "masculi"; "primitivi"; "brezhnevi"; "populi"; "kautskyi"; "hitleri"; "pacifi"; "zioni"; "reformi"; "canadiani"; "tribadi"; "automati"; "autonomi"; "luddi"; "libertariani"; "capitali"; "chauvini"; "anarchi"; "mystici"; "islami"; "nazi"; "arsoni"|] let range min max = (Random.int (max-min)) + min let chance n = range 0 n = 0 let pick (r: 'a array) : 'a = r.(range 0 (Array.length r));; let rec accumulate fn times = fn () ^ if times = 0 then "" else " "^(accumulate fn (times-1)) -let makeist () = (if chance 2 then (pick prefixes)^"-" else "") ^ (pick ists)^(pick [|"st"; "te"|]) +let makeist () = (if chance 2 then (pick prefixes)^"-" else "") ^ (pick ists)^(pick [|"st"; "st"; "st"; "te"|]) let ideology () = (if chance 3 then (if chance 4 then (pick prefixes) else "") ^ (pick adjs)^" " else "" ) ^ (accumulate makeist (range 0 2)) ^ " " ^ (if chance 3 then (pick prefixes)^"-" else "") ^ (pick ists) ^ "sm" (* original "mock the anarchists" mode: ^ (if chance 2 then ((if chance 3 then pick prefixes else "") ^"anarchism") else (pick [|"anarcho-";"arachno-"|])^(pick ists)^"sm") *) let () = Random.self_init (); print_string (ideology ())