|
136 | 136 | [else dir])]))
|
137 | 137 |
|
138 | 138 | (define (lookup-prefix-implicit alone-name adj-context adj-form in-space operator-ref operator-kind form-kind)
|
139 |
| - (define op-stx (datum->syntax adj-context alone-name)) |
140 |
| - (define op (syntax-local-value* (in-space op-stx) operator-ref)) |
| 139 | + (define op-stx (in-space (datum->syntax adj-context alone-name))) |
| 140 | + (define op (syntax-local-value* op-stx operator-ref)) |
141 | 141 | (unless op
|
142 | 142 | (raise-syntax-error #f
|
143 | 143 | (format (string-append
|
|
155 | 155 |
|
156 | 156 | (define (lookup-infix-implicit adjacent-name prev-form adj-context adj-form in-space operator-ref operator-kind form-kind
|
157 | 157 | stop-on-unbound? lookup-space-description)
|
158 |
| - (define op-stx (datum->syntax adj-context adjacent-name)) |
159 |
| - (define op (syntax-local-value* (in-space op-stx) operator-ref)) |
| 158 | + (define op-stx (in-space (datum->syntax adj-context adjacent-name))) |
| 159 | + (define op (syntax-local-value* op-stx operator-ref)) |
160 | 160 | (unless op
|
161 | 161 | (cond
|
162 | 162 | [(identifier? prev-form)
|
|
215 | 215 | #f)
|
216 | 216 |
|
217 | 217 | (define (apply-prefix-direct-operator op form stx track-origin checker)
|
218 |
| - (call-as-transformer |
219 |
| - stx |
220 |
| - track-origin |
221 |
| - (lambda (in out) |
222 |
| - (define proc (operator-proc op)) |
223 |
| - (out (checker (proc (in form) stx) proc))))) |
| 218 | + (define proc (operator-proc op)) |
| 219 | + (checker (call-as-transformer |
| 220 | + stx |
| 221 | + (list form) |
| 222 | + track-origin |
| 223 | + (lambda (form) |
| 224 | + (proc form stx))) |
| 225 | + proc)) |
224 | 226 |
|
225 | 227 | (define (apply-infix-direct-operator op form1 form2 stx track-origin checker)
|
226 |
| - (call-as-transformer |
227 |
| - stx |
228 |
| - track-origin |
229 |
| - (lambda (in out) |
230 |
| - (define proc (operator-proc op)) |
231 |
| - (checker (out (proc (in form1) (in form2) stx)) proc)))) |
| 228 | + (define proc (operator-proc op)) |
| 229 | + (checker (call-as-transformer |
| 230 | + stx |
| 231 | + (list form1 form2) |
| 232 | + track-origin |
| 233 | + (lambda (form1 form2) |
| 234 | + (proc form1 form2 stx))) |
| 235 | + proc)) |
232 | 236 |
|
233 | 237 | (define (apply-prefix-transformer-operator op op-stx tail track-origin checker)
|
234 | 238 | (define proc (operator-proc op))
|
235 |
| - (call-as-transformer |
236 |
| - op-stx |
237 |
| - track-origin |
238 |
| - (lambda (in out) |
239 |
| - (define-values (form new-tail) (proc (in tail))) |
240 |
| - (check-transformer-result (out (checker form proc)) |
241 |
| - (out new-tail) |
242 |
| - proc)))) |
| 239 | + (define-values (form new-tail) |
| 240 | + (call-as-transformer |
| 241 | + op-stx |
| 242 | + (list tail) |
| 243 | + track-origin |
| 244 | + (lambda (tail) |
| 245 | + (define-values (form new-tail) (proc tail)) |
| 246 | + (values (checker form proc) |
| 247 | + new-tail)))) |
| 248 | + (check-transformer-result form new-tail proc)) |
243 | 249 |
|
244 | 250 | (define (apply-infix-transformer-operator op op-stx form1 tail track-origin checker)
|
245 | 251 | (define proc (operator-proc op))
|
246 |
| - (call-as-transformer |
247 |
| - op-stx |
248 |
| - track-origin |
249 |
| - (lambda (in out) |
250 |
| - (define-values (form new-tail) (proc (in form1) (in tail))) |
251 |
| - (check-transformer-result (out (checker form proc)) |
252 |
| - (out new-tail) |
253 |
| - proc)))) |
| 252 | + (define-values (form new-tail) |
| 253 | + (call-as-transformer |
| 254 | + op-stx |
| 255 | + (list form1 tail) |
| 256 | + track-origin |
| 257 | + (lambda (form1 tail) |
| 258 | + (define-values (form new-tail) (proc form1 tail)) |
| 259 | + (values (checker form proc) |
| 260 | + new-tail)))) |
| 261 | + (check-transformer-result form new-tail proc)) |
0 commit comments