Overview
Comment: | ipdates |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
588ff265a66bc04861df8820756ef9ea |
User & Date: | lexi on 2019-05-02 07:54:27 |
Other Links: | manifest | tags |
Context
2019-06-11
| ||
22:01 | add dotorg check-in: a250db5fda user: lexi tags: trunk | |
2019-05-02
| ||
07:54 | ipdates check-in: 588ff265a6 user: lexi tags: trunk | |
2019-04-17
| ||
23:45 | tidy up headers check-in: 294d779091 user: lexi tags: trunk | |
Changes
Modified cclg.ml from [744b4b50d4] to [1db4eea4b2].
1 1 type word = A of string | An of string 2 2 type root = Edy of word | Xy of word | Ation of word | Le of word | A of word | Cy of word 3 3 | Rous of word | Ics of word | Ics2 of word | Sis of word | X of word | Ality of word | Ty of word 4 - | Ication of word | Tion of word | Arity of word | Sm of word 4 + | Ication of word | Tion of word | Arity of word | Sm of word | Ine of word 5 5 type prefix = Inv of word | Vf of word * string 6 6 let prefixes = [| 7 7 Vf(A "mult","i"); Inv (A "pre"); Vf(An "ex","o"); Vf(A "retr","o"); 8 8 Inv (A "hyper"); Vf(A "hem","i"); Inv (A "eu"); Vf(A "par","a"); 9 9 Vf(A "gastr","o"); Vf(A "bell","i"); Inv (An "an"); Vf(A "mes","o"); 10 10 Vf(A "therm","o"); Vf(A "copr","o"); Vf(A "pleb","i"); Vf(An "ant","i"); 11 11 Vf(A "pseud","o"); Vf(A "quas", "i"); Vf(A "crypt","o"); Vf(A "bronch","o"); ................................................................................ 27 27 Inv(A "tech"); Vf(A "plasm","o"); Vf(A "megal","o"); Inv(A "cyber"); 28 28 Vf(A "met","a"); Inv(A "neo"); Vf(An "ocul","o"); Vf(A "strangul","o"); 29 29 Vf(A "dendr","o"); Vf(A "matr","i"); Vf(A "patr","i"); Vf(A "lesb","o"); 30 30 Vf(A "hom","o"); Vf(A "heter","o"); Vf(A "prot","o"); Vf(An "ect","o"); 31 31 Vf(A "weeb","o"); Vf(A "fung","i"); Vf(A "per","i"); Vf(A "petr","i"); 32 32 Vf(A "sad","o"); Vf(A "femin","i"); Vf(A "mascul","o"); Vf(A "claustr","o"); 33 33 Vf(A "neur","o"); Vf(A "norm","o"); Inv (A "eu"); Vf(A "sten","o"); 34 - Vf(A "stegan","o"); 34 + Vf(A "stegan","o"); Vf(A "rhod", "o"); 35 35 36 36 Vf(An "agor","a"); Vf(A "thanat","o"); Vf(A "vagin","o"); Vf(A "bi","o"); 37 37 Vf(A "blog","o"); Vf(A "prometh","eo"); Vf(An "anesthes", "io"); 38 38 Vf(A "din","o"); Vf(A "medic","o"); 39 39 |] 40 40 41 41 let roots = [| ................................................................................ 107 107 Ality (A "typic"); 108 108 Xy (A "do"); 109 109 Ality (A "leg"); 110 110 Sm (A "legali"); 111 111 Ation (A "leg"); 112 112 A (A "pragmat"); 113 113 A (A "stigmat"); 114 + Ine (A "rhadamanth"); 114 115 |] 115 116 116 117 let nsuffixes = [| 117 118 An "ite"; 118 119 An "ate"; 119 120 An "itis"; 120 121 A "sis"; ................................................................................ 223 224 An x -> An (x^s) | A x -> A (x^s);; 224 225 let pick (r : 'a array) : 'a = r.(Random.int(Array.length r)) 225 226 let chance i = (Random.int i) = 0 226 227 let cform root = match root with 227 228 | Edy x -> x^^"edo" | Xy x -> x^^"cto" | Ation x -> x^^"o" 228 229 | Rous x -> x^^"ro" | Le x -> x^^"ulo" | A x -> x^^"o" 229 230 | Cy x -> x^^"tico" | Ics x | Ics2 x -> x^^(if chance 2 then "i" else "o") 230 - | Sis x -> x^^"to" 231 + | Sis x -> x^^"to" | Ine x -> x^^"o" 231 232 | X x -> x^^"co" | Ality x -> x^^"o" | Ty x -> x^^"to" 232 233 | Ication x -> x^^"o" | Tion x -> x^^"to" | Arity x -> x^^"a" 233 234 | Sm x -> x^^(if chance 2 then "smo" else "sto") 234 235 let bareform root = match root with 235 236 | Edy x -> (if chance 2 then x else x^^"ed") | Xy x -> x^^"ct" | Ation x -> x 236 237 | Rous x -> x^^"r" | Le x -> x^^"ul" | A x -> x 237 238 | Cy x -> x^^"tic" | Ics x -> x^^"ic" | Ics2 x -> x | Sis x -> x^^"t" 238 239 | X x -> x^^"c" | Ality x -> x | Ty x -> x^^"t" 239 240 | Ication x -> x | Tion x -> x^^"t" | Arity x -> x 240 - | Sm x -> x^^"st" 241 + | Sm x -> x^^"st" | Ine x -> x 241 242 let adjform root = match root with 242 243 | Edy x -> x^^"ic" | Xy x -> x^^"ctic" | Ation x -> x^^"ic" 243 244 | Rous x -> x^^"rous" | Le x -> x^^"ulous" | A x -> x^^"e" 244 245 | Cy x -> x^^"tical" | Ics x -> x^^"ical" | Ics2 x -> x^^"ic" | Sis x -> x^^"tic" 245 246 | X x -> x^^"cal" | Ality x -> x^^"al" | Ty x -> x^^"tical" 246 247 | Ication x -> x^^(if chance 3 then "itious" else "icate") 247 248 | Tion x -> x^^(match Random.int 4 with 248 249 | 0 -> "tive" | 1 -> "ted" | 2 -> "cious" | 3 -> "tory" | _ -> assert false) 249 250 | Arity x -> x^^"ary" | Sm x -> x^^(if chance 2 then "stic" else "smic") 251 + | Ine x -> x^^"ine" 250 252 let nform root = if chance 7 then (adjform root) ^^ "ness" else match root with 251 253 | Edy x -> x^^"edy" | Xy x -> x^^"xy" | Ation x -> x^^(if chance 3 then "itor" else "ation") 252 254 | Rous x -> x^^"er" | Le x -> x^^"le" | A x -> x^^"a" 253 255 | Cy x -> x^^"cy" | Ics x -> x^^(if chance 3 then "ician" else "ics") | Sis x -> x^^"sis" 254 256 | Ics2 x -> x^^(if chance 3 then "ician" else "ics") 255 257 | X x -> x^^"x" | Ality x -> x^^"ality" | Ty x -> x^^"ty" 256 258 | Ication x -> x^^"ication" | Tion x -> x^^"tion" | Arity x -> x^^"arity" 257 - | Sm x -> x^^(if chance 2 then "st" else "sm") 259 + | Sm x -> x^^(if chance 2 then "st" else "sm") | Ine x -> x 258 260 let abs (w:word) = match w with A x | An x -> x 259 261 let append pref w = match pref with 260 262 | Inv x -> x ^^ (abs w) 261 263 | Vf(body,v) -> match w with 262 264 | An x -> body^^x 263 265 | A x -> (body^^v)^^x 264 266 let rec word () : word = match Random.int 7 with
Modified drug.scm from [4c1ce8b744] to [a53366f464].
134 134 ; state: a function that is called on a person, a tense 135 135 ; (one of 'pst 'prs 'fut 'perf 'imperf), an aspect 136 136 ; ('stat 'inch), and returns a string of text describing 137 137 ; the person in that state 138 138 ; e.g. (outta-mind '3sg.f 'prs 'stat) → "is outta her mind" 139 139 ; (suicidal '3sg.m 'fut 'stat) → "is gonna want to die" 140 140 141 -(define (adjective pers tense aspect) 141 +; (define (adjective pers tense aspect)) 142 142 143 143 144 144 (define (pick-rec top-list) ; note: do not expose to 145 145 (let ([e (pick top-list)]) ; empty vectors 146 146 (if (vector? e) (pick-rec e) e))) 147 147 148 148 (define verb:be (let ([t (struct 'inf 'pst)]