procgen  Diff

Differences From Artifact [a53366f464]:

To Artifact [c17f33fda7]:


     1      1   (include "lib/lisp-macro.scm")
     2      2   (include "lib/fail.scm")
     3      3   (include "lib/interlace.scm")
     4      4   (include "lib/bot.scm")
     5         -(include "lib/struct.scm")
            5  +(include "lib/fn-struct.scm")
     6      6   (include "lib/verb.scm")
     7      7   
     8      8   (define (forms fn vb . args)
     9      9     (list->vector (map (lambda (a) (fn vb a)) args)))
    10     10   
    11     11   (define (flexprep vb . args)
    12     12   		  (list->vector
    13     13   			(append (map (lambda (x) postpositive vb x) args)
    14     14   					(map (lambda (x) phrase vb x) args))))
    15     15   
           16  +
           17  +(define transitive-verbs (interlace vector
           18  +	(verb:weak "whack")
           19  +	(verb:weak "bludgeon")
           20  +	(verb:weak "brain")
           21  +	(verb:weak "debunk")
           22  +	(verb:weak "disembunk")
           23  +	(verb:strong "disprove" "disproved" "disproven")
           24  +	(verb:weak "disbar")
           25  +	(verb:weak "demolish")
           26  +	(verb:weak "defend")
           27  +	(verb:weak "defund")
           28  +	(verb:strong! "shoot" "shot")
           29  +	(verb:heavy	"zap" "p")
           30  +	(verb:weak "spank")
           31  +	(verb:es 	"ravish")
           32  +	(forms postpositive
           33  +		(verb:es "piss") "on" "at" "upon" "away")
           34  +	(verb:e "disembon")
           35  +	(verb:e "debat")
           36  +	(verb:e "demot")
           37  +	(verb:e "puzzl")
           38  +	(verb:e	 	"scrobbl")
           39  +	(verb:e	 	"chok")
           40  +	(verb:e	 	"defil")
           41  +	(verb:e	 	"freebas")
           42  +	(verb:e	 	"us")
           43  +	(verb:e		"vap")
           44  +	(verb:e	 	"smok")
           45  +	(verb:e	 	"gargl")
           46  +	(verb:e	 	"guzzl")
           47  +	(verb:e	 	"admir")
           48  +	(forms postpositive
           49  +		   (verb:weak "shout") "at" "up" "away")
           50  +	throw. (verb:strong "throw" "threw" "thrown")
           51  +	(forms postpositive
           52  +		    throw "up" "away")
           53  +))
    16     54   
    17     55   (define intransitive-verbs (interlace vector
    18     56   	(forms phrase
    19         -		   (verb:strong "get" "got" "gotten") "up" "off" "out")
           57  +		   (verb:strong-heavy "get" "t" "got" "gotten") "up" "off" "out")
    20     58   	(verb:weak "leak")
    21     59   	(verb:weak "scream")
    22     60   	(verb:weak "fear")
    23     61   	hurt. (verb:strong! "hurt" "hurt")
    24     62   	(forms postpositive
    25     63   		   hurt "bad" "real bad" "like hell"
    26     64   		   "something awful" "something fierce"
................................................................................
    91    129   	(verb:es	"crunch")
    92    130   	(verb:e	 	"scrobbl")
    93    131   	(verb:e	 	"chok")
    94    132   	(verb:e	 	"blaz")
    95    133   	(verb:e	 	"freebas")
    96    134   	(verb:e	 	"us")
    97    135   	(verb:e		"vap")
    98         -	(verb:e	 	"smoke")
    99         -	(verb:e	 	"gargle")
   100         -	(verb:e	 	"guzzle")
          136  +	(verb:e	 	"smok")
          137  +	(verb:e	 	"gargl")
          138  +	(verb:e	 	"guzzl")
   101    139   	(verb:e		"mainlin")
   102    140   	(verb:y 	"tr")
   103    141   	(verb:heavy	"stab" "b")
   104    142   	(verb:heavy "pop" "p")
   105    143   	(verb:heavy	"zap" "p")
   106    144   	(verb:heavy	"slug" "g")
   107    145   	(verb:strong "drink" "drank"	"drunk")
................................................................................
   195    233   	  (~ "god"		[@ sg pl])
   196    234   	  (~ "goddess"	[@ sg pl/s])
   197    235   	  (~ "asshole"	[@ sg pl])
   198    236   	  (~ "clown"	[@ sg pl])
   199    237   	  (~ "fear"		[@ mass])
   200    238   	  (~ "person"	[@ sg (pl/i "people")]))))
   201    239   ; TODO: second-order verbs
   202         -#|
   203    240   (define (verb-phrase tense noun)
   204    241     (let* ([verb (pick-rec transitive-verbs)]
   205    242   		 [noun-form (pick noun)]
   206    243   		 [det (pick (cdr noun-form))]
   207    244   		 [bare-noun (car noun-form)])
   208    245   	((verb tense) (word-append det bare-noun))))
   209    246   
................................................................................
   214    251   		 [bare-noun (car noun-form)]
   215    252   		 [verb (pick-rec (car mode))]
   216    253   		 [vbd-noun ((verb (cdr mode)) bare-noun)])
   217    254   	(vector (cons vbd-noun (cdr noun-form)))))
   218    255   
   219    256   (print "in this house, we " (verb-phrase 'inf (mod-noun (pick nouns))))
   220    257   (exit 0)
          258  +#|
   221    259   |#