@@ -1,9 +1,9 @@ (include "lib/lisp-macro.scm") (include "lib/fail.scm") (include "lib/interlace.scm") (include "lib/bot.scm") -(include "lib/struct.scm") +(include "lib/fn-struct.scm") (include "lib/verb.scm") (define (forms fn vb . args) (list->vector (map (lambda (a) (fn vb a)) args))) @@ -12,12 +12,50 @@ (list->vector (append (map (lambda (x) postpositive vb x) args) (map (lambda (x) phrase vb x) args)))) + +(define transitive-verbs (interlace vector + (verb:weak "whack") + (verb:weak "bludgeon") + (verb:weak "brain") + (verb:weak "debunk") + (verb:weak "disembunk") + (verb:strong "disprove" "disproved" "disproven") + (verb:weak "disbar") + (verb:weak "demolish") + (verb:weak "defend") + (verb:weak "defund") + (verb:strong! "shoot" "shot") + (verb:heavy "zap" "p") + (verb:weak "spank") + (verb:es "ravish") + (forms postpositive + (verb:es "piss") "on" "at" "upon" "away") + (verb:e "disembon") + (verb:e "debat") + (verb:e "demot") + (verb:e "puzzl") + (verb:e "scrobbl") + (verb:e "chok") + (verb:e "defil") + (verb:e "freebas") + (verb:e "us") + (verb:e "vap") + (verb:e "smok") + (verb:e "gargl") + (verb:e "guzzl") + (verb:e "admir") + (forms postpositive + (verb:weak "shout") "at" "up" "away") + throw. (verb:strong "throw" "threw" "thrown") + (forms postpositive + throw "up" "away") +)) (define intransitive-verbs (interlace vector (forms phrase - (verb:strong "get" "got" "gotten") "up" "off" "out") + (verb:strong-heavy "get" "t" "got" "gotten") "up" "off" "out") (verb:weak "leak") (verb:weak "scream") (verb:weak "fear") hurt. (verb:strong! "hurt" "hurt") @@ -94,11 +132,11 @@ (verb:e "blaz") (verb:e "freebas") (verb:e "us") (verb:e "vap") - (verb:e "smoke") - (verb:e "gargle") - (verb:e "guzzle") + (verb:e "smok") + (verb:e "gargl") + (verb:e "guzzl") (verb:e "mainlin") (verb:y "tr") (verb:heavy "stab" "b") (verb:heavy "pop" "p") @@ -198,9 +236,8 @@ (~ "clown" [@ sg pl]) (~ "fear" [@ mass]) (~ "person" [@ sg (pl/i "people")])))) ; TODO: second-order verbs -#| (define (verb-phrase tense noun) (let* ([verb (pick-rec transitive-verbs)] [noun-form (pick noun)] [det (pick (cdr noun-form))] @@ -217,5 +254,6 @@ (vector (cons vbd-noun (cdr noun-form))))) (print "in this house, we " (verb-phrase 'inf (mod-noun (pick nouns)))) (exit 0) +#| |#