Skip to content

Commit cb1a32d

Browse files
committed
readbackInCtx only blaze named lambda during the lambda case
1 parent b5a9d73 commit cb1a32d

File tree

5 files changed

+7
-9
lines changed

5 files changed

+7
-9
lines changed

examples/ackermann.test.lisp.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
(lambda (m n) (m (lambda (t f) t) (lambda (x t f) f) (lambda (base step) (step (n base step))) (if (zero? n) (ackermann (m (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (lambda (base step) (step base))) (ackermann (m (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (ackermann m (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)))))))
1+
(lambda (m n) (m (lambda (t f) t) (lambda (x t f) f) (lambda (base step) (step (n base step))) (n (lambda (t f) t) (lambda (x t f) f) (ackermann (m (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (lambda (base step) (step base))) (ackermann (m (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (ackermann m (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)))))))

examples/factorial.test.lisp.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (base step) (step base)) (n (lambda (base step) base) (lambda (n₁) (iter-Nat (factorial (iter-Nat n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))) n₁ (lambda (prev base step) (step (prev base step))))))))
1+
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (base step) (step base)) (n (lambda (base step) base) (lambda (n₁) (factorial (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) n₁ (lambda (prev base step) (step (prev base step))))))))

examples/fibonacci.test.lisp.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (base step) base) (if (zero? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))) (lambda (base step) (step base)) (fibonacci (iter-Nat n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (fibonacci (iter-Nat (sub1 n) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))) (lambda (prev base step) (step (prev base step)))))))
1+
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (base step) base) (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (t f) t) (lambda (x t f) f) (lambda (base step) (step base)) (fibonacci (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (fibonacci (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))) (lambda (prev base step) (step (prev base step)))))))

examples/nat-even-odd.test.lisp.out

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (t f) t) (if (zero? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))) (lambda (t f) f) (even? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))))))
2-
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (t f) f) (if (zero? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))) (lambda (t f) t) (odd? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))))))
3-
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (t f) t) (if (zero? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))) (lambda (t f) f) (direct-even? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))))))
4-
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (t f) f) (if (zero? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))) (lambda (t f) t) (direct-odd? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))))))
1+
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (t f) t) (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (t f) t) (lambda (x t f) f) (lambda (t f) f) (even? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))))))
2+
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (t f) f) (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (t f) t) (lambda (x t f) f) (lambda (t f) t) (odd? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))))))
3+
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (t f) t) (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (t f) t) (lambda (x t f) f) (lambda (t f) f) (direct-even? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))))))
4+
(lambda (n) (n (lambda (t f) t) (lambda (x t f) f) (lambda (t f) f) (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (t f) t) (lambda (x t f) f) (lambda (t f) t) (direct-odd? (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car) (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car))))))

src/lang/readback/readbackInCtx.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ export function readbackInCtx(ctx: Ctx, value: Value): Exp {
5252
readbackInCtx(ctx, value.target),
5353
readbackInCtx(ctx, value.arg),
5454
)
55-
} else {
56-
ctx = ctxBlazeTrail(ctx, head)
5755
}
5856
}
5957
}

0 commit comments

Comments
 (0)