Skip to content
/ ppl Public

Exercises for course "Principles of Programming Languages" @ Polimi '23, '24

Notifications You must be signed in to change notification settings

andreafra/ppl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Principles of Programming Languages: Exercises (A.Y. 2023/24)

Racket

You can download DrRacket to run the code in the examples yourself!

A primer on Racket (the slides you've briefly seen during the exercises) is here.

Don't forget to check the 'extras' files for additional examples or stuff I might have forgot to mention in last class. Don't worry, we'll get back on those topics the next time.

Haskell

You can download the Haskell compile (GHC) with GHCup to test the examples by yourself!

If you want, you can setup the language server for your favorite code editor to get autocompletion and type suggestions.

Look at COMPILE.md for details on how to run Haskell examples.

Erlang

You can download Erlang to run the examples yourself!

Look at COMPILE.md for details on how to run Erlang examples.

Calendar

Exercise sessions won't have a regular scheduling. Here you can find a log of what we did, and when.

Date Language Files Recording
2023-09-22 Racket ex1-hello-world, ex2-recursion, ex3-lists, extras VOD
2023-10-11 Racket ex3-lists, ex4-structs, ex5-closures, ex6-macros, exercises VOD
2023-10-18 Racket ex7-continuations, ex8-exceptions, ex9-non-determinism, ex10-oop.rkt VOD
2023-10-27 Haskell Ex1_HelloWorld Ex2_Types Ex3_Features Exercises VOD
2023-11-17 Haskell Ex4_Classes Ex5_Foldable Ex6_Functors Ex7_Applicative Exercises VOD
2023-11-22 Haskell Ex8_Monads Exercises VOD
2023-11-29 Haskell Ex9_StateMonads Exercises VOD
2023-12-13 Erlang Ex1: Basics Ex2: Actor Model Exercises VOD
2023-12-15 Extras Racket Haskell Erlang VOD
2023-12-20 Extras Racket Haskell Erlang VOD

Questions

If you have any doubts or curiosities, write me an email at andrea.franchini@polimi.it