procgen  Diff

Differences From Artifact [a53366f464]:

To Artifact [c17f33fda7]:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16






































17
18
19

20
21
22
23
24
25
26
..
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
...
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
...
214
215
216
217
218
219
220

221
(include "lib/lisp-macro.scm")
(include "lib/fail.scm")
(include "lib/interlace.scm")
(include "lib/bot.scm")
(include "lib/struct.scm")
(include "lib/verb.scm")

(define (forms fn vb . args)
  (list->vector (map (lambda (a) (fn vb a)) args)))

(define (flexprep vb . args)
		  (list->vector
			(append (map (lambda (x) postpositive vb x) args)
					(map (lambda (x) phrase vb x) args))))








































(define intransitive-verbs (interlace vector
	(forms phrase
		   (verb:strong "get" "got" "gotten") "up" "off" "out")

	(verb:weak "leak")
	(verb:weak "scream")
	(verb:weak "fear")
	hurt. (verb:strong! "hurt" "hurt")
	(forms postpositive
		   hurt "bad" "real bad" "like hell"
		   "something awful" "something fierce"
................................................................................
	(verb:es	"crunch")
	(verb:e	 	"scrobbl")
	(verb:e	 	"chok")
	(verb:e	 	"blaz")
	(verb:e	 	"freebas")
	(verb:e	 	"us")
	(verb:e		"vap")
	(verb:e	 	"smoke")
	(verb:e	 	"gargle")
	(verb:e	 	"guzzle")
	(verb:e		"mainlin")
	(verb:y 	"tr")
	(verb:heavy	"stab" "b")
	(verb:heavy "pop" "p")
	(verb:heavy	"zap" "p")
	(verb:heavy	"slug" "g")
	(verb:strong "drink" "drank"	"drunk")
................................................................................
	  (~ "god"		[@ sg pl])
	  (~ "goddess"	[@ sg pl/s])
	  (~ "asshole"	[@ sg pl])
	  (~ "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))]
		 [bare-noun (car noun-form)])
	((verb tense) (word-append det bare-noun))))

................................................................................
		 [bare-noun (car noun-form)]
		 [verb (pick-rec (car mode))]
		 [vbd-noun ((verb (cdr mode)) bare-noun)])
	(vector (cons vbd-noun (cdr noun-form)))))

(print "in this house, we " (verb-phrase 'inf (mod-noun (pick nouns))))
(exit 0)

|#




|











>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


<
>







 







|
|
|







 







<







 







>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

57
58
59
60
61
62
63
64
...
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
...
233
234
235
236
237
238
239

240
241
242
243
244
245
246
...
251
252
253
254
255
256
257
258
259
(include "lib/lisp-macro.scm")
(include "lib/fail.scm")
(include "lib/interlace.scm")
(include "lib/bot.scm")
(include "lib/fn-struct.scm")
(include "lib/verb.scm")

(define (forms fn vb . args)
  (list->vector (map (lambda (a) (fn vb a)) args)))

(define (flexprep vb . args)
		  (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-heavy "get" "t" "got" "gotten") "up" "off" "out")
	(verb:weak "leak")
	(verb:weak "scream")
	(verb:weak "fear")
	hurt. (verb:strong! "hurt" "hurt")
	(forms postpositive
		   hurt "bad" "real bad" "like hell"
		   "something awful" "something fierce"
................................................................................
	(verb:es	"crunch")
	(verb:e	 	"scrobbl")
	(verb:e	 	"chok")
	(verb:e	 	"blaz")
	(verb:e	 	"freebas")
	(verb:e	 	"us")
	(verb:e		"vap")
	(verb:e	 	"smok")
	(verb:e	 	"gargl")
	(verb:e	 	"guzzl")
	(verb:e		"mainlin")
	(verb:y 	"tr")
	(verb:heavy	"stab" "b")
	(verb:heavy "pop" "p")
	(verb:heavy	"zap" "p")
	(verb:heavy	"slug" "g")
	(verb:strong "drink" "drank"	"drunk")
................................................................................
	  (~ "god"		[@ sg pl])
	  (~ "goddess"	[@ sg pl/s])
	  (~ "asshole"	[@ sg pl])
	  (~ "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))]
		 [bare-noun (car noun-form)])
	((verb tense) (word-append det bare-noun))))

................................................................................
		 [bare-noun (car noun-form)]
		 [verb (pick-rec (car mode))]
		 [vbd-noun ((verb (cdr mode)) bare-noun)])
	(vector (cons vbd-noun (cdr noun-form)))))

(print "in this house, we " (verb-phrase 'inf (mod-noun (pick nouns))))
(exit 0)
#|
|#