Exercises for the course Principles of programming languages held by prof. Pradella at Politecnico di Milano during academic year 2021-2022.
The exercises cover topics about
-
Functional Programming
- Referential transparency
- Functions as a first-class entity
- Higher-order functions
- Evaluation order and type systems
- Purity and Monads
- Continuations
-
Object-Oriented Programming
- Main issues and relation with Abstract Data Types
- Dynamic Method Binding and "ad hoc" polymorphism
- Encapsulation and Inheritance
- Class vs Prototype-based inheritance
-
Concurrent Programming
- The Actor model
- General issues on Communication and Synchronization
- Variants and usages
The languages used are: