Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018
St. Louis, Missouri, United States
Toggle navigation
Attending
Venue: Stifel Theatre
Venue: Union Station Hilton
Party Spot: City Museum
Concert Hall: The Luminary
Registration
Considering attending ICFP for the first time?
Local Arrangements
Call for Sponsorship
Code of Conduct
Accessibility
Students
Student Volunteering
Visas
Program
Complete Program
Your Program
Filter by Day
Sun 23 Sep
Mon 24 Sep
Tue 25 Sep
Wed 26 Sep
Thu 27 Sep
Fri 28 Sep
Sat 29 Sep
Tracks
ICFP 2018
Research Artifacts
Keynotes and Reports
Programming Contest
Research Papers
Social Events
Student Research Competition
Tutorials
Workshops
Erlang
FARM
FHPC
HIW
HOPE
ML
NPFL
OCaml
PLMW @ ICFP
Scheme
TyDe
Co-hosted Symposia
Haskell
Scala
Organization
ICFP 2018 Committees
Organizing Committee
Steering Committee
Track Committees
Research Artifacts
Programming Contest
Research Papers
Program Committee
External Review Committee
Distinguished Papers Committee
Student Research Competition
Poster and Presentation Judges
Selection Committee
Contributors
People Index
Workshops
Erlang
Organizing Committee
Program Committee
FARM
Organizing Committee
Program Committee
FHPC
Organizing Committee
Program Committee
HIW
Program Committee
HOPE
Organizing Committee
Program Committee
ML
Program Committee
NPFL
Organizing Committee
Program Committee
OCaml
Organizing Committee
Program Committee
PLMW @ ICFP
Speakers
Organizing Committee
Scheme
Program Committee
Organizing Committee
Steering Committee
TyDe
Organizing Committee
Program Committee
Co-hosted Symposia
Haskell
Program Committee
Scala
Organizing Committee
Program Committee
Steering Committee
Search
Series
Series
ICFP 2025
ICFP 2024
ICFP 2023
ICFP 2022
ICFP 2021
ICFP 2020
ICFP 2019
ICFP 2018
ICFP 2017
ICFP 2016
Sign in
Sign up
ICFP 2018
(
series
) /
Union Station Hilton
/
Room information: Frisco
Venue
Union Station Hilton
Room name
Frisco
Floor
0
Room Information
No extra information available
Program
Detailed Table
Session Timeline
Detailed Timeline
Program Display Configuration
Time Zone
The program is currently displayed in
(GMT-05:00) Guadalajara, Mexico City, Monterrey
.
Use conference time zone: (GMT-05:00) Guadalajara, Mexico City, Monterrey
Select other time zone
(GMT-12:00) AoE (Anywhere On Earth)
(GMT-11:00) Midway Island, Samoa
(GMT-09:00) Hawaii-Aleutian
(GMT-10:00) Hawaii
(GMT-09:30) Marquesas Islands
(GMT-09:00) Gambier Islands
(GMT-08:00) Alaska
(GMT-07:00) Tijuana, Baja California
(GMT-08:00) Pitcairn Islands
(GMT-07:00) Pacific Time (US & Canada)
(GMT-06:00) Mountain Time (US & Canada)
(GMT-06:00) Chihuahua, La Paz, Mazatlan
(GMT-07:00) Arizona
(GMT-06:00) Saskatchewan, Central America
(GMT-05:00) Guadalajara, Mexico City, Monterrey
(GMT-05:00) Easter Island
(GMT-05:00) Central Time (US & Canada)
(GMT-04:00) Eastern Time (US & Canada)
(GMT-04:00) Cuba
(GMT-05:00) Bogota, Lima, Quito, Rio Branco
(GMT-04:00) Caracas
(GMT-03:00) Santiago
(GMT-04:00) La Paz
(GMT-03:00) Faukland Islands
(GMT-04:00) Manaus, Amazonas, Brazil
(GMT-03:00) Atlantic Time (Goose Bay)
(GMT-03:00) Atlantic Time (Canada)
(GMT-02:30) Newfoundland
(GMT-03:00) UTC-3
(GMT-03:00) Montevideo
(GMT-02:00) Miquelon, St. Pierre
(GMT-02:00) Greenland
(GMT-03:00) Buenos Aires
(GMT-03:00) Brasilia, Distrito Federal, Brazil
(GMT-02:00) Mid-Atlantic
(GMT-01:00) Cape Verde Is.
(GMT) Azores
(UTC) Coordinated Universal Time
(GMT+01:00) Belfast
(GMT+01:00) Dublin
(GMT+01:00) Lisbon
(GMT+01:00) London
(GMT) Monrovia, Reykjavik
(GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
(GMT+02:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
(GMT+02:00) Brussels, Copenhagen, Madrid, Paris
(GMT+01:00) West Central Africa
(GMT+02:00) Windhoek
(GMT+03:00) Athens
(GMT+03:00) Beirut
(GMT+02:00) Cairo
(GMT+03:00) Gaza
(GMT+02:00) Harare, Pretoria
(GMT+03:00) Jerusalem
(GMT+03:00) Minsk
(GMT+03:00) Syria
(GMT+03:00) Moscow, St. Petersburg, Volgograd
(GMT+03:00) Nairobi
(GMT+03:30) Tehran
(GMT+04:00) Abu Dhabi, Muscat
(GMT+04:00) Yerevan
(GMT+04:30) Kabul
(GMT+05:00) Ekaterinburg
(GMT+05:00) Tashkent
(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
(GMT+05:45) Kathmandu
(GMT+06:00) Astana, Dhaka
(GMT+07:00) Novosibirsk
(GMT+06:30) Yangon (Rangoon)
(GMT+07:00) Bangkok, Hanoi, Jakarta
(GMT+07:00) Krasnoyarsk
(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi
(GMT+08:00) Irkutsk, Ulaan Bataar
(GMT+08:00) Perth
(GMT+08:45) Eucla
(GMT+09:00) Osaka, Sapporo, Tokyo
(GMT+09:00) Seoul
(GMT+09:00) Yakutsk
(GMT+09:30) Adelaide
(GMT+09:30) Darwin
(GMT+10:00) Brisbane
(GMT+10:00) Hobart
(GMT+10:00) Vladivostok
(GMT+10:30) Lord Howe Island
(GMT+11:00) Solomon Is., New Caledonia
(GMT+11:00) Magadan
(GMT+11:00) Norfolk Island
(GMT+12:00) Anadyr, Kamchatka
(GMT+12:00) Auckland, Wellington
(GMT+12:00) Fiji, Kamchatka, Marshall Is.
(GMT+12:45) Chatham Islands
(GMT+13:00) Nuku'alofa
(GMT+14:00) Kiritimati
The GMT offsets shown reflect the offsets
at the moment of the conference
.
Time Band
By setting a time band, the program will dim events that are outside this time window. This is useful for (virtual) conferences with a continuous program (with repeated sessions).
The time band will also limit the events that are included in the personal iCalendar subscription service.
Display full program
Specify a time band
-
Save
×
You're viewing the program in a time zone which is different from your device's time zone
change time zone
Thu 27 Sep
Displayed time zone:
Guadalajara, Mexico City, Monterrey
change
09:00 - 10:00
Session 1
OCaml
at
Frisco
Chair(s):
Andrew Kennedy
Facebook London
09:00
5m
Day opening
Introduction
OCaml
Andrew Kennedy
Facebook London
09:05
30m
Talk
The OCaml Platform 1.0
OCaml
Anil Madhavapeddy
OCaml Labs
,
Gemma Gordon
University of Cambridge
09:35
10m
Poster
The OCaml Software Foundation
OCaml
Michel Mauny
,
Yann Régis-Gianas
IRIF, University Paris Diderot and CNRS, France / INRIA PI.R2
09:45
5m
Poster
This PDF is an OCaml bytecode
OCaml
Gabriel Radanne
University of Freiburg, Germany
10:20 - 11:00
Session 2
OCaml
at
Frisco
Chair(s):
Stephen Dolan
University of Cambridge
10:20
20m
Talk
Abusing Format for fun and profits
OCaml
Gabriel Radanne
University of Freiburg, Germany
,
Frédéric Bour
Facebook Paris
10:40
20m
Talk
RFCs, all the way down!
OCaml
Romain Calascibetta
Tarides
11:20 - 12:00
Session 3
OCaml
at
Frisco
Chair(s):
KC Sivaramakrishnan
University of Cambridge
11:20
20m
Talk
The Vecosek Ecosystem
OCaml
Sebastien Mondet
Mount Sinai - Hammer Lab
11:40
20m
Talk
OCaml on the ESP32 chip: Well Typed Lightbulbs Await
OCaml
Lucas Pluvinage
ENS Paris
,
Sadiq Jaffer
Opsian
,
Anil Madhavapeddy
OCaml Labs
13:30 - 14:10
Session 4
OCaml
at
Frisco
Chair(s):
Gabriel Scherer
INRIA Saclay
13:30
20m
Talk
Wall: rendering vector graphics with OCaml and OpenGL
OCaml
Frédéric Bour
Facebook Paris
13:50
20m
Talk
Winning on Windows: porting the OCaml platform
OCaml
David Allsopp
University of Cambridge
14:30 - 15:10
Session 5
OCaml
at
Frisco
14:30
20m
Talk
R&B: Towards bringing functional programming to everyday's web programmer
OCaml
Hongbo Zhang
Independent
,
Cristiano Calcagno
Facebook
,
Jordan Walke
Facebook
,
Cheng Lou
Facebook
,
Ricky Vetter
Facebook
14:50
20m
Talk
MLExplain
OCaml
Kévin Le Bon
Inria
,
Alan Schmitt
Inria
Link to publication
15:30 - 16:10
Session 6
OCaml
at
Frisco
Chair(s):
Andrew Kennedy
Facebook London
15:30
20m
Talk
Relit: Implementing Typed Literal Macros in Reason
OCaml
Charles Chamberlain
University of Chicago
,
Cyrus Omar
University of Chicago
Fri 28 Sep
Displayed time zone:
Guadalajara, Mexico City, Monterrey
change
09:00 - 10:00
Keynote
Scala
at
Frisco
Chair(s):
Bruno C. d. S. Oliveira
University of Hong Kong, China
09:00
60m
Talk
Cross-Platform Language Design in Scala.js
Scala
Sébastien Doeraene
EPFL, Switzerland
DOI
10:20 - 11:50
Session 1: Scala Foundations
Scala
at
Frisco
Chair(s):
Paolo G. Giarrusso
EPFL, Switzerland
10:20
22m
Talk
Extending Scala with Records: Design, Implementation, and Evaluation
Scala
Olof Karlsson
A3J Consulting, Sweden
,
Philipp Haller
KTH, Sweden
DOI
10:42
23m
Talk
Initialization Patterns in Dotty
Scala
Fengyun Liu
EPFL, Switzerland
,
Aggelos Biboudis
EPFL, Switzerland
,
Martin Odersky
EPFL, Switzerland
DOI
11:05
22m
Talk
Path Dependent Types with Path-Equality
Scala
Jaemin Hong
KAIST, South Korea
,
Jihyeok Park
KAIST, South Korea
,
Sukyoung Ryu
KAIST, South Korea
DOI
11:27
23m
Talk
κDOT: Scaling DOT with Mutation and Constructors
Scala
Ifaz Kabir
University of Waterloo, Canada
,
Ondřej Lhoták
University of Waterloo
DOI
11:50 - 12:10
Student Talks 1
Scala
at
Frisco
Chair(s):
Sukyoung Ryu
KAIST, South Korea
11:50
10m
Talk
Julia Subtyping Lessons Scala Could Learn (Student Talk)
Scala
Artem Pelenitsyn
Northeastern University
12:00
10m
Talk
Scala with explicit nulls (student talk)
Scala
Abel Nieto
University of Waterloo
,
Ondřej Lhoták
University of Waterloo
13:10 - 14:40
Session 2: Scala Extensions & Parsing
Scala
at
Frisco
Chair(s):
Philipp Haller
KTH, Sweden
13:10
22m
Talk
Garnishing Parsec with Parsley
Scala
Jamie Willis
University of Bristol, UK
,
Nicolas Wu
University of Bristol, UK
DOI
13:32
22m
Talk
Interflow: Interprocedural Flow-Sensitive Type Inference and Method Duplication
Scala
Denys Shabalin
EPFL, Switzerland
,
Martin Odersky
EPFL, Switzerland
DOI
13:55
22m
Talk
Parser Combinators for Context-Free Path Querying
Scala
Ekaterina Verbitskaia
Saint Petersburg State University, Russia
,
Ilya Kirillov
Saint Petersburg State University, Russia
,
Ilya Nozkin
Saint Petersburg State University, Russia
,
Semyon Grigorev
Saint Petersburg State University, Russia
DOI
14:17
22m
Talk
Truly Abstract Interfaces for Algebraic Data Types: The Extractor Typing Problem
Scala
Nicolas Stucki
EPFL, Switzerland
,
Paolo G. Giarrusso
EPFL, Switzerland
,
Martin Odersky
EPFL, Switzerland
DOI
14:40 - 15:00
Student Talks 2
Scala
at
Frisco
Chair(s):
Philipp Haller
KTH, Sweden
14:40
10m
Talk
Adding polymorphic functions to Scala (Student Talk)
Scala
Guillaume Martres
EPFL, Switzerland
14:50
10m
Talk
Validating Changes in Typechecking on Codebases with SemanticDB (Student talk)
Scala
Max Ovsiankin
UC Berkeley
,
Eugene Burmako
Twitter, Inc.
15:20 - 16:10
Session 3: DSLs & Sponsor Talk
Scala
at
Frisco
Chair(s):
Sebastian Erdweg
Delft University of Technology, Netherlands
15:20
22m
Talk
A Domain-specific Language for Microservices
Scala
Jacob Donham
Twitter, Inc.
DOI
15:42
28m
Industry talk
SemanticDB: a common data model for Scala developer tools
Scala
Eugene Burmako
Twitter, Inc.
Sat 29 Sep
Displayed time zone:
Guadalajara, Mexico City, Monterrey
change
09:00 - 12:00
T06: Getting Satisfaction out of Games: Learning to use SAT solvers through puzzles and games
Tutorials
at
Frisco
Chair(s):
Jose Calderon
Galois, Inc.
,
Eric Mertens
Galois, Inc.
09:00
3h
Other
T06: Getting Satisfaction out of Games: Learning to use SAT solvers through puzzles and games
Tutorials
Eric Mertens
Galois, Inc.
,
Jose Calderon
Galois, Inc.
13:00 - 16:00
T09: Pijul, a purely functional version control system
Tutorials
at
Frisco
Chair(s):
Pierre-Étienne Meunier
13:00
3h
Other
T09: Pijul, a purely functional version control system.
Tutorials
Pierre-Étienne Meunier
Thu 27 Sep
Displayed time zone:
Guadalajara, Mexico City, Monterrey
change
Room
9:00
30
10:00
30
11:00
30
12:00
30
13:00
30
14:00
30
15:00
30
16:00
30
Frisco
OCaml
Session 1
OCaml
Session 2
OCaml
Session 3
OCaml
Session 4
OCaml
Session 5
OCaml
Session 6
Fri 28 Sep
Displayed time zone:
Guadalajara, Mexico City, Monterrey
change
Room
9:00
30
10:00
30
11:00
30
12:00
30
13:00
30
14:00
30
15:00
30
16:00
30
Frisco
Scala
Keynote
Scala
Session 1: Scala Foundations
Scala
Student Talks 1
Scala
Session 2: Scala Extensions & Parsing
Scala
Student Talks 2
Scala
Session 3: DSLs & Sponsor Talk
Sat 29 Sep
Displayed time zone:
Guadalajara, Mexico City, Monterrey
change
Room
9:00
30
10:00
30
11:00
30
12:00
30
13:00
30
14:00
30
15:00
30
Frisco
Tutorials
T06: Getting Satisfaction out of Games: Learning to use SAT solvers through puzzles and games
Tutorials
T09: Pijul, a purely functional version control system
Thu 27 Sep
Displayed time zone:
Guadalajara, Mexico City, Monterrey
change
Room
9:00
15
30
45
10:00
15
30
45
11:00
15
30
45
12:00
15
30
45
13:00
15
30
45
14:00
15
30
45
15:00
15
30
45
Frisco
OCaml
Introduction
09:00 - 09:05
OCaml
The OCaml Platform 1.0
09:05 - 09:35
OCaml
The OCaml Software Foundation
09:35 - 09:45
OCaml
This PDF is an OCaml bytecode
09:45 - 09:50
OCaml
Abusing Format for fun and profits
10:20 - 10:40
OCaml
RFCs, all the way down!
10:40 - 11:00
OCaml
The Vecosek Ecosystem
11:20 - 11:40
OCaml
OCaml on the ESP32 chip: Well Typed Lightbulbs Await
11:40 - 12:00
OCaml
Wall: rendering vector graphics with OCaml and OpenGL
13:30 - 13:50
OCaml
Winning on Windows: porting the OCaml platform
13:50 - 14:10
OCaml
R&B: Towards bringing functional programming to everyday's web programmer
14:30 - 14:50
OCaml
MLExplain
14:50 - 15:10
OCaml
Relit: Implementing Typed Literal Macros in Reason
15:30 - 15:50
Fri 28 Sep
Displayed time zone:
Guadalajara, Mexico City, Monterrey
change
Room
9:00
15
30
45
10:00
15
30
45
11:00
15
30
45
12:00
15
30
45
13:00
15
30
45
14:00
15
30
45
15:00
15
30
45
16:00
15
30
45
Frisco
Scala
Cross-Platform Language Design in Scala.js
09:00 - 10:00
Scala
Extending Scala with Records: Design, Implementation, and Evaluation
10:20 - 10:42
Scala
Initialization Patterns in Dotty
10:42 - 11:05
Scala
Path Dependent Types with Path-Equality
11:05 - 11:27
Scala
κDOT: Scaling DOT with Mutation and Constructors
11:27 - 11:50
Scala
Julia Subtyping Lessons Scala Could Learn (Student Talk)
11:50 - 12:00
Scala
Scala with explicit nulls (student talk)
12:00 - 12:10
Scala
Garnishing Parsec with Parsley
13:10 - 13:32
Scala
Interflow: Interprocedural Flow-Sensitive Type Inference and Method Dup ...
13:32 - 13:55
Scala
Parser Combinators for Context-Free Path Querying
13:55 - 14:17
Scala
Truly Abstract Interfaces for Algebraic Data Types: The Extractor Typin ...
14:17 - 14:40
Scala
Adding polymorphic functions to Scala (Student Talk)
14:40 - 14:50
Scala
Validating Changes in Typechecking on Codebases with SemanticDB (Studen ...
14:50 - 15:00
Scala
A Domain-specific Language for Microservices
15:20 - 15:42
Scala
SemanticDB: a common data model for Scala developer tools
15:42 - 16:10
Sat 29 Sep
Displayed time zone:
Guadalajara, Mexico City, Monterrey
change
Room
9:00
15
30
45
10:00
15
30
45
11:00
15
30
45
12:00
15
30
45
13:00
15
30
45
14:00
15
30
45
15:00
15
30
45
Frisco
ICFP Tutorials
T06: Getting Satisfaction out of Games: Learning to use SAT solvers thr ...
09:00 - 12:00
ICFP Tutorials
T09: Pijul, a purely functional version control system.
13:00 - 16:00
x
Fri 8 Nov 10:23