Principle of Programming Languages
This repository contains the material related to the practical classes of the course Principles of Programming Languages
Slack channels is available here to discuss about course issues and PPL related topis. Use @polimi.it or @mail.polimi.it email to access it.
Old Courses Material (Git Tags)
05/10/2018 Scheme 1
- Basic Concepts: recursion, tail recursion, conditional structures, variable binding (define, let), named let
23/10/2018 Scheme 2
- Higher Order Functions: map and fold
- Structs: trees
- Macros:
- (++)
- motivating example: thunking
- Continuation: code comparison break vs continue
26/10/2018 Scheme 3
- Macros + Continuations:
- for in
- break and continue
- try-catch
- coroutines
09/11/2018 Haskell 1
- data vs newtype
- higher-order functions
- pattern matching
- strict vs lazy
20/11/2018 Haskell 2
- trees
- functor
- foldable
- type class
23/11/2018 Haskell 3
- tree2
- tconcatmap
- applicative
04/12/2018 Haskell 4
- state monad
- exercises on it
18/12/2018 Erlang 1
- hello world
- pub sub example
21/12/2018 Erlang 2