PLQ #9Done on:   Tuesday, March 19th

Question 1 @ 2024-03-19 19:11

When we converted our evaluator to a compiler, we started by currying eval. What was the point of doing that?


Question 2 @ 2024-03-19 19:13

In the compiled Toy language from last lecture, what would be the result of running the following program (assuming the usual global environment)?

{+ 1 n}

Question 3 @ 2024-03-19 19:15

Say that in some extended version of last week’s compiler, you see the following:

(define (compile expr)
  ...
  (cases expr
    ...
    [...
    (if ...something...
      (lambda ([env : ENV])
        (error ...))          ; <---
      (lambda ([env : ENV])
        ...))]
    ...))

What can you say about this error?


Question 4 @ 2024-03-19 19:19

Why is debugging in a lazy language difficult?