[ ^ CSE 341 | section index | <-- previous ]

Miranda homework

Excerpt from the writeup:

Write and test a Miranda function evaluate that evaluates a Scheme expression (for a very restricted subset of Scheme). For this assignment, consider expressions consisting of:

Major simplification: for the basic assignment you don't need to write a parser to parse Scheme syntax. Instead, you can define some appropriate Miranda types, and write your expressions using those. For example, here are some Scheme expressions and a possible definition of these using Miranda types.

Scheme version: 10 Miranda version: Num 10 Scheme version: (+ 10 (* 2 3)) Miranda version: Plus (Num 10) (Times (Num 2) (Num 3)) Scheme version: (let ((x (+ 10 20)) (y 50)) (+ x y)) Miranda version: (Let [ (Def "x" (Plus (Num 10) (Num 20))), (Def "y" (Num 50)) ] (Plus (Var "x") (Var "y")))

Hints


Last modified: Wed May 17 23:35:06 PDT 2000