Tiger 2018

This is the seventeenth year of the Tiger Project.

We have been helped by:

Assistants

Rémi Billon, Pierre-Louis Dagues, Pierre De Abreu, Léo Ercolanelli, Arnaud Gaillard, Axel Manuel, Sébastien Piat, Matthieu Simon, Jérémie Simon, Francis Visoiu Mistrih

Deliveries for ing1 student:

Stage

Submission

TC-0

2015-12-20

TC-1

2016-02-19

TC-2

2016-02-28

TC-3R

2016-03-20

TC-4E

2016-05-01

TC-5

2016-05-15

TC-6

2016-05-29

TC-7

2016-06-05

TC-8

2016-06-12

TC-9

2016-07-10

Some of the noteworthy changes compared to Tiger 2017:

type::Type visitor

Make the type::Type class visitable.

#pragma once

Remove the cpp guards and replace them with #pragma once directives.

Use of C++14

Move the standard from C++11 to C++14 since it is fully supported by both GCC 5.0 and Clang 3.4.

LLVM translator

Add TC-L, a stage for LLVM IR generation. After TC-4, students have two choices:

Dementors

Allow students to fix and push previous stages of TC more often after the final submission.

Overfun-object

Add support for programs with overload and object.

Usable through the new options:

  • --overfun-object-bindings-compute

  • --overfun-object-types-compute

  • --overfun-object-object-desugar