Index: badbiobot.ml ================================================================== --- badbiobot.ml +++ badbiobot.ml @@ -169,6 +169,7 @@ loop (i+2) ((acc^^c2)^^c1) true else loop (i+2) ((acc^^c1)^^c2) tps in loop 0 "" false -let () = Random.self_init(); print_string (scramble (eval top)) +(* let () = Random.self_init(); print_string (scramble (eval top)) *) +let () = Random.self_init(); print_string(eval top) Index: botsoc.scm ================================================================== --- botsoc.scm +++ botsoc.scm @@ -304,11 +304,11 @@ (" for ") ( (: (" by " (group))) (one-of " to address the needs of " " in the class interest of ")))) (" only " (one-of "centers" "uplifts" "liberates" - "cares about" "addresses the needs of")) + "cares about" "addresses the needs of") " ") ((one-of " only" "") (one-of " centers " " cares about ") (? "the " (one-of "needs" "struggles" "voices" "experiences" ADDED dotorg.scm Index: dotorg.scm ================================================================== --- dotorg.scm +++ dotorg.scm @@ -0,0 +1,200 @@ +(include "lib/lisp-macro.scm") +(include "lib/bot.scm") +(import (chicken process-context)) + +(rule (maybe x) (x) ("")) +(rule (maybe_ x) (x " ")) +(rule (maybe* x) ((x)) ("")) +(rule (maybe_* x) ((x) " ") ("")) + +(define cat string-append) +(define-macro (* . body) + (let ([sg (car body)] + [pl (cadr body)]) + `(if (eq? *n 'sg) ,sg ,pl))) + +(rule (language) + ("brainfuck") + ("JavaScript") + ("ECMAscript") + ("FORTRAN") + ("COBOL") + ("Delphi") + ("Visual Basic") + ("assembly") + ("QBasic") + ("vimscript") + ("bash") + ("shell") + ("C++") + ("Java") + ("Node") + ("WebAssembly") + ("Scheme") + ("Clojure") + ("ASP.NET") + ("Pascal")) + +(rule (bigotry) + ("ECMAphobia") + (prefix (one-of "phobia" "misia")) + ((language) "-" (one-of "phobia" "misia"))) + +(rule (prefix) + ("neo") + ("neo-") + ("retro") + ("hypno") + ("meta") + ("retro") + ("psycho") + ("post") + ("diablo") + ("crypto") + ("erotic ")) + +(rule (noun) + ("freedom") + ("courage") + ("pride") + ("hate") + ("fascism") + ("whiteness") + ("orgone")) + +(rule (adj) + ("retro") + ("male") + ("white") + ("decentralized") + ("non-profit") + ("for-profit") + ("anti-" (@ ((clade 'sg)) ((noun)))) + ((clade 'sg) (one-of "-phobic" "-misic"))) + +(rule (trans) + ("alienware") + ("process") + ("capitalist") + ("charset") + ("digital") + ("POSIX")) + +(rule (axis) + ("stunning and brave") + ("furry") + ("cyberqueer") + ((one-of "strongly" + "statically" + "dynamically") "-typed") + ("trans" (trans)) + ("read-only") + ("spinlocked")) + +(rule (kin) + ("latin-1") + ("Shift JIS") + ("KOI8-R") + ("POSIX") + ("FAT32") + ("ext2") + ("ext3") + ("ZFS") + ("systemd-") + ("other") + ("GNU") + ("Stallman") + ("Torvalds") + ("cyber") + ("intel") + ("x86-") + ("RISC") + ("PowerPC-") + ("sudoer") + ("null") + ("void") + ("root")) + +(rule (tyranny) + ("FurAffinity") + ("North Korea") + ("the USSR") + ("Canada") + ("Minecraft") + ("Pewdiepie") + ("T-Series") + ("Buzzfeed") + ("VICE") + ("Fortnite")) + +(rule (environment) + ("VR") + ("Minecraft") + ("YouTube") + ("4chan")) + +(rule (job) + ("journalist") + ("meme technician") + ("plumber") + ("electrician") + ("masseuse") + ("beautician") + ("stylist") + ("janitor") + ("heating engineer") + ("camgirl") + ("carpenter")) + +(rule (clade *n) + ((* "depth-groveler" "depth-grovelers")) + ((* "latin✘" "latin✘s")) + ((* "latin@" "latin@s")) + ((* "transradical" "transradicals")) + ((* "biracial" "biracials")) + ((* "bisexual" "bisexuals")) + ((* "bimetallic" "bimetallics")) + ((* "orphan" "orphans")) + ((* "gamer" "gamers")) + ((* "male feminist" "male feminists")) + ((maybe (cat (tyranny) " ")) + (maybe (prefix)) (* "refugee" "refugees")) + ((environment) " " (job) "s") + ((* "HTML #000" "HTML #000s")) + ((* "NPC" "NPCs")) + ((kin) "kin")) + +(rule (value) + ((clade 'sg) " pride") + ((clade 'sg) " " (noun))) + +(rule (faction) + ("Jordan Peterson") + ("radical centrist") + ("epic gamer") + ("leftbook") + ("memelord") + ) + +(rule (orgtype) + ("commune") + ("think tank") + ("superPAC") + ("co-op") + ("collective") + ("for-profit") + ((one-of "death squad" "militia" "brigade")) + ((one-of "defense" "private military") " " + "contractor") + ("non-profit")) + +(rule (org) + ((maybe_* adj) (maybe_* faction) + (maybe (prefix)) (orgtype))) + +(rule (woke-product) + ((org) " for " (clade 'pl)) + + ((clade 'sg) " " (language) " " (maybe (prefix)) (orgtype))) + +(display (string-append (woke-product) "\n"))