15-851 Computation and Deduction
Assignment 4

Hand-in

Please hand in a copy of your code electronically (see for instructions).

Exercise 5.11

Write Elf programs to determine if a Mini-ML expression is free of the recursion operation fix and at the same time linear, i.e. every bound variable occurs exactly once. Since only one branch in a case statement will be taken during evaluation, a bound variable must occur exactly once in each branch in a linear expression.

Note: you do not have to program the test whether a program is affine or relevant as stated in the notes.

Exercise 3.18

Consider a language extension to support lazy evaluation in Mini-ML. For this we introduce a new type constructor # , where #t is the type of suspensions of type t . There should be a new constructor delay e and a destructor let delay u = e1 in e2. The intent is that we substitute an expression for u which need not be a value.


[ Home | Schedule | Assignments | Handouts | Software | Overview ]

fp@cs
Frank Pfenning

AltStyle によって変換されたページ (->オリジナル) /