/*** ############################## # Identification of the news # ############################## # DO NOT MODIFY name: tommaso-petrucciani-prix-these-gpl date: 2020-06-25 ################ # General data # ################ # the picture address, in dokuwiki or web syntax picture = :actualites:ressources:perso-tommaso-petrucciani.jpg # the name displayed when hovering over the picture (optional) picture tag = Tommaso Petrucciani # the link to be followed when clicking on the picture (optional) picture link = # the link in the circled arrow icon (optional) extra link = http://gdr-gpl.cnrs.fr/node/394 ####################### # Visibility/priority # ####################### # # This part describes when the news should be visible, and with what priority (how high in the list). # from 2020-06-25 for 1 month, priority= low from 2020-06-25 for 2 weeks, priority= normal from 2020-06-25 for 1 week, priority= high before 2020-06-25, visible= false # # Other intervals of priority can/have to be specified. # # As a rule of thumb: # - priority high for up to 3 days, 10 days for very important events (FOCS) (appears top of the list) # - priority normal for up to 2 or 3 weeks (appears with high probability) # - priority low for as long as one wishes (probably invisible but sometimes can be if there is sufficient space) # - priority null makes the news invisible # - priorities may change several times (e.g. high for registration and for the event) # - this syntax can also be used for changing pictures, links, ... # # The syntax is the following # from DATE until DATE, priority= PRIORITY # from DATE for DURATION, priority= PRIORITY # for DURATION until DATE, priority= PRIORITY # # PRIORITY: high | normal | low | null # # DATE: # NUMBER MONTH NUMBER (e.g. 22 June 2018) # ???-??-?? (e.g. 2018-06-22) # # DURATION: # NUMBER (day|days|week|weeks|month|months|year|years) ########## # Notion # ########## # if one wants to have a notion (a small text that unravels when clicked and is used to highlight a concept) # notion = Polymorphism and set-theoretic types notion text = {A function is **polymorphic** when it can be applied to arguments of different types. For instance, the identity function //fun x = x// is polymorphic since it can be applied, say, to integers and Boolean arguments, while the successor function //fun x = x+1// is not, since it can be applied only to integers. The latter function has type //Int→Int//, while the former has type ∀α.α→α, that is, it has type α→α for all possibles types α. The last type is a **polymorphic type**. **Set theoretic types** are types with union, intersection, and negation connectives: again //fun x = x// has both type //Int→Int// **and** //Bool→Bool// and, thus, it has the intersection type (//Int→Int//)∩(//Bool→Bool//).} #################### # TEXT OF THE NEWS # #################### ***/ Tommaso Petrucciani is awarded the **GPL PhD Thesis Prize** (Software Engineering and Programming) for his thesis" "Polymorphic set-theoretic types for functional languages" prepared at IRIF co-supervised by Giuseppe Castagna (IRIF) and Elena Zucca (Università di Genova).