Please hand in a copy of your code electronically (see for instructions).
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.
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 ]