134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
; state: a function that is called on a person, a tense
; (one of 'pst 'prs 'fut 'perf 'imperf), an aspect
; ('stat 'inch), and returns a string of text describing
; the person in that state
; e.g. (outta-mind '3sg.f 'prs 'stat) → "is outta her mind"
; (suicidal '3sg.m 'fut 'stat) → "is gonna want to die"
(define (adjective pers tense aspect)
(define (pick-rec top-list) ; note: do not expose to
(let ([e (pick top-list)]) ; empty vectors
(if (vector? e) (pick-rec e) e)))
(define verb:be (let ([t (struct 'inf 'pst)]
|
|
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
; state: a function that is called on a person, a tense
; (one of 'pst 'prs 'fut 'perf 'imperf), an aspect
; ('stat 'inch), and returns a string of text describing
; the person in that state
; e.g. (outta-mind '3sg.f 'prs 'stat) → "is outta her mind"
; (suicidal '3sg.m 'fut 'stat) → "is gonna want to die"
; (define (adjective pers tense aspect))
(define (pick-rec top-list) ; note: do not expose to
(let ([e (pick top-list)]) ; empty vectors
(if (vector? e) (pick-rec e) e)))
(define verb:be (let ([t (struct 'inf 'pst)]
|