|
312 | 312 | (egg-parsed->expr (flatten-let egg-expr) ctx (context-repr ctx))) |
313 | 313 |
|
314 | 314 | (module+ test |
315 | | - (*context* (make-debug-context '(x y z))) |
| 315 | + (define ctx (make-debug-context '(x y z))) |
316 | 316 |
|
317 | 317 | (define test-exprs |
318 | 318 | (list (cons '(+.f64 y x) '(+.f64 $var1 $var0)) |
|
327 | 327 |
|
328 | 328 | (let ([egg-graph (make-egraph-data)]) |
329 | 329 | (for ([(in expected-out) (in-dict test-exprs)]) |
330 | | - (define out (expr->egg-expr in (*context*))) |
331 | | - (define computed-in (egg-expr->expr out (*context*))) |
| 330 | + (define out (expr->egg-expr in ctx)) |
| 331 | + (define computed-in (egg-expr->expr out ctx)) |
332 | 332 | (check-equal? out expected-out) |
333 | 333 | (check-equal? computed-in in))) |
334 | 334 |
|
335 | | - (*context* (make-debug-context '(x a b c r))) |
| 335 | + (set! ctx (make-debug-context '(x a b c r))) |
336 | 336 | (define extended-expr-list |
337 | 337 | ; specifications |
338 | 338 | (list '(/ (- (exp x) (exp (neg x))) 2) |
|
355 | 355 |
|
356 | 356 | (let ([egg-graph (make-egraph-data)]) |
357 | 357 | (for ([expr extended-expr-list]) |
358 | | - (define egg-expr (expr->egg-expr expr (*context*))) |
359 | | - (check-equal? (egg-expr->expr egg-expr (*context*)) expr)))) |
| 358 | + (define egg-expr (expr->egg-expr expr ctx)) |
| 359 | + (check-equal? (egg-expr->expr egg-expr ctx) expr)))) |
360 | 360 |
|
361 | 361 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
362 | 362 | ;; Proofs |
|
1282 | 1282 | ;; - scheduler: `(scheduler . <name>)` [default: backoff] |
1283 | 1283 | ;; - `simple`: run all rules without banning |
1284 | 1284 | ;; - `backoff`: ban rules if the fire too much |
1285 | | -(define (make-egraph batch roots reprs schedule #:context [ctx (*context*)]) |
| 1285 | +(define (make-egraph batch roots reprs schedule ctx) |
1286 | 1286 | (define (oops! fmt . args) |
1287 | 1287 | (apply error 'verify-schedule! fmt args)) |
1288 | 1288 | ; verify the schedule |
|
0 commit comments