COMP 3007 Lecture Notes - Lecture 7: Parse Tree, Functional Programming, Type Constructor
Document Summary
We will now be focusing on interpreters, i. e. writing haskell programs that evaluate programs in other languages. Beyond giving more hands-on experience with functional programming, this will deepen your understanding of programming language features and abstractions in general. Along the way, we will also look at more advanced ideas from the functional programming world, using interpreter- writing to illustrate. We will look at a series of conventional programming languages with increasing feature sets. We aren"t interested in the details of parsing so the syntax of the languages will be designed for easy- to-parse-ness rather than the ease of programming in. The interpreters we build for the languages will be realistic, in the sense of using common implementation techniques (as opposed to, e. g. the naive substitution method in the last lecture). To keep things straight in our heads, we"ll often call the language we"re writing an interpreter for the object, or target language.