TommasoBianchi / ppl

This repository contains the material related to the practical classes of the course Principles of Programming Languages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

This repository contains the material related to the practical classes of the course Principles of Programming Languages

License:Apache License 2.0


Languages

Language:Haskell 56.3%Language:Racket 43.7%