procgen  Diff

Differences From Artifact [ef9918389c]:

To Artifact [2691b62b95]:


     1      1   let adjs = [| "queer"; "electric"; "space"; "super"; "discount"; "extreme"; "far-left";
     2         -    "far-right"; "unreconstructed"; "modern"; "eternal"; "original"; "historical"; "tankie"; "mystical"; "arcane"; "catholic"; "protestant"; "irish"; "dialectical"; "confucian"; "orbital"; "suborbital"; "martian"; "minimalist"; "moist"; "dire"; "trotskyite"; "trotskyist"; "supreme"; |] 
            2  +    "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"; |] 
     3      3   let prefixes = [|"neo"; "post"; "retro"; "anti"; "counter"; "pre"; "paleo"; "femino"; "anarcho"; "oligo"; "meta"; "diabolo"; "theo"; "petro"; "sado"; "arachno"; "psycho"; "eroto";
     4      4       "nano"; "mini"; "xeno"; "astro"; "femto"; "electro"; "endo"; "arch"; "macro"; 
     5      5       "cardio"; "mesmo"; "chrono"; "nycto"; "megalo"; "lesbo"; "masculo"; "ultra"; "urtla";
     6      6       "proto"; "weebo"; "thanato"; "volcano"; "strangulo"; "quasi"; "pseudo"; "procto";
     7         -    "copro"; "hydro"; "gastro"; "thermo"; "mystico"; "arcano"; "disastro"; "vagino"; "dino"; "nympho"; "pharma"; |]
     8         -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"; |]
            7  +    "copro"; "hydro"; "gastro"; "thermo"; "mystico"; "arcano"; "disastro"; "vagino"; "dino";
            8  +    "nympho"; "pharma"; "macho"; "tele"; "bio"; "cryo"; "homo"; "hetero"; "auto"; "arachno";
            9  +    "christo"; "islamo";|]
           10  +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"; |]
     9     11   
    10     12   let range min max = (Random.int (max-min)) + min
    11     13   let chance n = range 0 n = 0
    12     14   let pick (r: 'a array) : 'a = r.(range 0 (Array.length r));;
    13     15   
    14     16   let rec accumulate fn times = fn () ^ if times = 0 then "" else " "^(accumulate fn (times-1))
    15     17   let makeist () = (if chance 2 then (pick prefixes)^"-" else "") ^ (pick ists)^(pick [|"st"; "te"|])
    16         -let ideology () = (if chance 3 then (if chance 4 then (pick prefixes) else "") ^ (pick adjs)^" "  else "" ) ^ (accumulate makeist (range 0 2)) ^ " " ^ (if chance 2 then ((if chance 3 then pick prefixes else "") ^"anarchism") else (pick [|"anarcho-";"arachno-"|])^(pick ists)^"sm")
           18  +let ideology () = (if chance 3 then (if chance 4 then (pick prefixes) else "") ^ (pick adjs)^" "  else "" )
           19  +        ^ (accumulate makeist (range 0 2)) ^ " "
           20  +        ^ (if chance 3 then (pick prefixes)^"-" else "") ^ (pick ists) ^ "sm"
           21  +        (* original "mock the anarchists" mode:
           22  +        ^ (if chance 2 then ((if chance 3 then pick prefixes else "") ^"anarchism") else (pick [|"anarcho-";"arachno-"|])^(pick ists)^"sm") *)
    17     23   let () = Random.self_init (); print_string (ideology ())
    18     24