(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"))