English. (Plus spurious whitespace.)
This commit is contained in:
parent
20967ac671
commit
ace98b8d7a
1 changed files with 25 additions and 23 deletions
48
README.md
48
README.md
|
@ -1,13 +1,15 @@
|
||||||
# Functional programming and type systems (2017-2018)
|
# Functional programming and type systems (2017-2018)
|
||||||
|
|
||||||
[The official MPRI
|
This page supplements
|
||||||
page](https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-4-2)
|
[the official page of MPRI 2-4](https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-4-2).
|
||||||
|
|
||||||
## Location
|
## Location and duration
|
||||||
|
|
||||||
The lessons take place at University of Paris 7 - Denis Diderot,
|
The lectures take place at University Paris 7 - Denis Diderot,
|
||||||
Batiment Sophie Germain in room 2035 on Fridays at 12:45 and ends at 15:30.
|
Bâtiment Sophie Germain, in room 2035.
|
||||||
There will be a break of 15' in the middle of the course.
|
|
||||||
|
They are scheduled on Fridays from 12:45 to 15:30.
|
||||||
|
There is a 15-minute break in the middle of each lecture.
|
||||||
|
|
||||||
## Teachers
|
## Teachers
|
||||||
|
|
||||||
|
@ -43,8 +45,8 @@ systems. We study parametric polymorphism (as in System F and ML), data
|
||||||
types and type abstraction. We show syntactic type soundness (via progress
|
types and type abstraction. We show syntactic type soundness (via progress
|
||||||
and subject reduction) by reasoning by induction on typing derivations. We
|
and subject reduction) by reasoning by induction on typing derivations. We
|
||||||
also show how to obtain semantic properties via logical relations by
|
also show how to obtain semantic properties via logical relations by
|
||||||
reasoning by induction on the structure of types. We also introduce
|
reasoning by induction on the structure of types. Finally, we introduce
|
||||||
subtyping and row polymorphism and illustrate typing problems induced by
|
subtyping, row polymorphism, and illustrate the problems induced by
|
||||||
side effects (references) and the need for the value restriction.
|
side effects (references) and the need for the value restriction.
|
||||||
|
|
||||||
The third part of the course describes more advanced features of type
|
The third part of the course describes more advanced features of type
|
||||||
|
@ -71,13 +73,13 @@ We also show the limits of dependently-typed functional programming.
|
||||||
|
|
||||||
* (15/09/2017)
|
* (15/09/2017)
|
||||||
[Metatheory of System F](http://gallium.inria.fr/~remy/mpri/slides1.pdf)
|
[Metatheory of System F](http://gallium.inria.fr/~remy/mpri/slides1.pdf)
|
||||||
(See also [intro](http://gallium.inria.fr/~remy/mpri/slides8.pdf),
|
(See also [intro](http://gallium.inria.fr/~remy/mpri/slides8.pdf),
|
||||||
and chap [1](http://gallium.inria.fr/~remy/mpri/cours1.pdf)
|
and chap [1](http://gallium.inria.fr/~remy/mpri/cours1.pdf)
|
||||||
and [2](http://gallium.inria.fr/~remy/mpri/cours2.pdf)
|
and [2](http://gallium.inria.fr/~remy/mpri/cours2.pdf)
|
||||||
of [course notes](http://gallium.inria.fr/~remy/mpri/cours.pdf))
|
of [course notes](http://gallium.inria.fr/~remy/mpri/cours.pdf))
|
||||||
* (27/10/2017) ADTs, existential types, GADTs.
|
* (27/10/2017) ADTs, existential types, GADTs.
|
||||||
* (03/11/2017) Logical relations.
|
* (03/11/2017) Logical relations.
|
||||||
* (10/11/2017) Subtyping. Rows.
|
* (10/11/2017) Subtyping. Rows.
|
||||||
* (17/11/2017) References, Value restriction, Side effects.
|
* (17/11/2017) References, Value restriction, Side effects.
|
||||||
|
|
||||||
### Advanced Aspects of Type Systems
|
### Advanced Aspects of Type Systems
|
||||||
|
@ -106,24 +108,24 @@ who split the course.
|
||||||
Although the course has changed, you may still have a look at previous exams
|
Although the course has changed, you may still have a look at previous exams
|
||||||
available with solutions:
|
available with solutions:
|
||||||
|
|
||||||
- mid-term exam 2016-2017:
|
- mid-term exam 2016-2017:
|
||||||
[Record concatenation](http://gallium.inria.fr/~remy/mpri/exams/partiel-2016-2017.pdf)
|
[Record concatenation](http://gallium.inria.fr/~remy/mpri/exams/partiel-2016-2017.pdf)
|
||||||
- mid-term exam 2015-2016:
|
- mid-term exam 2015-2016:
|
||||||
[Type containment](http://gallium.inria.fr/~remy/mpri/exams/partiel-2015-2016.pdf)
|
[Type containment](http://gallium.inria.fr/~remy/mpri/exams/partiel-2015-2016.pdf)
|
||||||
- final exam 2014-2015: [Copatterns](http://gallium.inria.fr/~remy/mpri/exams/final-2014-2015.pdf)
|
- final exam 2014-2015: [Copatterns](http://gallium.inria.fr/~remy/mpri/exams/final-2014-2015.pdf)
|
||||||
- mid-term exam 2014-2015:
|
- mid-term exam 2014-2015:
|
||||||
[Information flow](http://gallium.inria.fr/~remy/mpri/exams/partiel-2014-2015.pdf)
|
[Information flow](http://gallium.inria.fr/~remy/mpri/exams/partiel-2014-2015.pdf)
|
||||||
- final exam 2013-2014:
|
- final exam 2013-2014:
|
||||||
[Operation on records](http://gallium.inria.fr/~remy/mpri/exams/final-2013-2014.pdf)
|
[Operation on records](http://gallium.inria.fr/~remy/mpri/exams/final-2013-2014.pdf)
|
||||||
- mid-term exam 2013-2014:
|
- mid-term exam 2013-2014:
|
||||||
[Typechecking Effects](http://gallium.inria.fr/~remy/mpri/exams/partiel-2013-2014.pdf)
|
[Typechecking Effects](http://gallium.inria.fr/~remy/mpri/exams/partiel-2013-2014.pdf)
|
||||||
- final exam 2012-2013:
|
- final exam 2012-2013:
|
||||||
[Refinement types](http://gallium.inria.fr/~remy/mpri/exams/final-2012-2013.pdf)
|
[Refinement types](http://gallium.inria.fr/~remy/mpri/exams/final-2012-2013.pdf)
|
||||||
- mid-term exam 2012-2013:
|
- mid-term exam 2012-2013:
|
||||||
[Variations on ML](http://gallium.inria.fr/~remy/mpri/exams/partiel-2012-2013.pdf)
|
[Variations on ML](http://gallium.inria.fr/~remy/mpri/exams/partiel-2012-2013.pdf)
|
||||||
- final exam 2011-2012:
|
- final exam 2011-2012:
|
||||||
[Intersection types](http://gallium.inria.fr/~remy/mpri/exams/final-2011-2012.pdf)
|
[Intersection types](http://gallium.inria.fr/~remy/mpri/exams/final-2011-2012.pdf)
|
||||||
- mid-term exam 2011-2012:
|
- mid-term exam 2011-2012:
|
||||||
[Parametricity](http://gallium.inria.fr/~remy/mpri/exams/partiel-2011-2012.pdf)
|
[Parametricity](http://gallium.inria.fr/~remy/mpri/exams/partiel-2011-2012.pdf)
|
||||||
- final exam 2010-2011:
|
- final exam 2010-2011:
|
||||||
[Compiling a language with subtyping](http://gallium.inria.fr/~xleroy/mpri/2-4/exam-2010-2011.pdf)
|
[Compiling a language with subtyping](http://gallium.inria.fr/~xleroy/mpri/2-4/exam-2010-2011.pdf)
|
||||||
|
@ -145,7 +147,7 @@ opam install -j4 -v coq.8.5.3
|
||||||
|
|
||||||
## Bibliography
|
## Bibliography
|
||||||
|
|
||||||
[Types and Programming Languages](https://mitpress.mit.edu/books/types-and-programming-languages),
|
[Types and Programming Languages](https://mitpress.mit.edu/books/types-and-programming-languages),
|
||||||
Benjamin C. Pierce, MIT Press, 2002.
|
Benjamin C. Pierce, MIT Press, 2002.
|
||||||
|
|
||||||
[Advanced Topics in Types and Programming Languages](https://www.cis.upenn.edu/~bcpierce/attapl/),
|
[Advanced Topics in Types and Programming Languages](https://www.cis.upenn.edu/~bcpierce/attapl/),
|
||||||
|
|
Loading…
Reference in a new issue