bgu ppl 171 course assigments solutions assigment1 is about type checking in typescript assigment2 is about scheme programing and parsing scheme code and transforming the result abstract syntax tree assigment3 is about scheme interpeters:adding call by name to the interpetrs and also adding some type inference to the interpeter assigment4 is about iterators/callbacks/promises in typescript and lazy evaluation in scheme(lazylists) and also logic programing in prolog