You made a code to evaluate expression using input int list, in our task source we have "val check_exp: exp -> bool" interface.
So it is not clear how to use your "interpreter.ml&q ...
According to the 3rd task I have to check expression before transformation: whether "repeat E1 E2" does not have E1 < 0. But expression E1 itself could have "Read" command, so h ...
Could you please explain how exactly do you want type checking to be done?
Is it like this:
(provide (contract-out [add (-> number? number? number?)]))
?
I couldn't find it on the lecture slide ...