Skip to content

Latest commit

 

History

History
327 lines (298 loc) · 10.9 KB

03_schedule.markdown

File metadata and controls

327 lines (298 loc) · 10.9 KB
layout title permalink schedule
page
Schedule
/schedule/
Sun 24th Mon 25th Tue 26th Wed 27th Thu 28th Fri 29th
slot title
13:30-15:30
check-in <br> (15:00-)
slot title
15:30-16:00
check-in
slot title
16:00-18:00
check-in
slot title
18:00-19:30
reception
slot title
19:30-21:00
reception
slot title
21:00-
free
slot title
07:30-09:00
breakfast
slot title short_title description
09:00-10:30
Session 1: Opening
Session&nbsp;1
Shonan intro movie (10min)
self-introductions (60min)
slot title
10:30-11:00
break
slot title short_title description
11:00-12:00
Session 2: Introduction to Effect Handlers
Session&nbsp;2
tutorial (Sam, 60min)
slot title
12:00-13:30
lunch
slot title short_title description
13:30-15:30
Session 3: Tutorial
Session&nbsp;3
Effect handler languages by example (Jonathan & others, 60min)
Implementing effects and handlers (Jonathan & others, 60min)
slot title
15:30-16:00
break
slot title short_title
16:00-18:00
Session 4: Planning & Puzzles
Session&nbsp;4
slot title
18:00-19:30
dinner
slot title
19:30-21:00
free
slot title
21:00-
free
slot title
07:30-09:00
breakfast
slot title short_title description
09:00-10:30
Session 5: Implementor-Facing Aspects
Session&nbsp;5
(discussant: Paulette)
modular search (Tom, 17min)
multiple prompts (Paul, 17min)
expressiveness (Kazuki, 10min)
one-shot (Yukiyoshi, 17min)
slot title
10:30-11:00
break
slot title short_title description
11:00-12:00
Session 6: Implementor-Facing Aspects
Session&nbsp;6
(discussant: Taro)
one-shot (Philipp, 17min)
lexical handlers (Yizhou, 17min)
deriving from CPS (Kenichi, 17min)
slot title
12:00-13:30
lunch, group photo
slot title short_title description
13:30-15:30
Session 7: Current Status of Effect Handler Languages
Session&nbsp;7
(discussant: Jeremy Y)
Effekt (Jonathan, 20min)
Links (Sam, 20min)
Granule (Dominic, 20min)
Eff (Matija, 20min)
slot title
15:30-16:00
break
slot title short_title description
16:00-18:00
Session 8: Panel "Concurrency and Distribution"
Session&nbsp;8
initial fish: Ningning, Sam, Taro, Philipp
slot title
18:00-19:30
dinner
slot title
19:30-21:00
free
slot title
21:00-
free
slot title
07:30-09:00
breakfast
slot title short_title description
09:00-10:30
Session 9: Applications
Session&nbsp;9
(discussant: Amr)
effect handlers for machine learning programming (Ningning, 30min)
machine learning, causal inference and probabilistic programming (Eli, 30min)
slot title
10:30-11:00
break
slot title short_title description
11:00-12:00
Session 10: Applications
Session&nbsp;10
(discussant: Kenichi)
quantum programming (Amr, 25min)
probabilistic logic programming (Tom, 25min)
slot title
12:00-13:30
lunch
slot title
13:30-15:30
excursion
slot title
15:30-16:00
excursion
slot title
16:00-18:00
excursion
slot title
18:00-19:30
banquet
slot title
19:30-21:00
banquet
slot title
21:00-
free
slot title
07:30-09:00
breakfast
slot title short_title description
09:00-10:30
Session 11: Programmer-Facing Aspects
Session&nbsp;11
(discussant: Dylan)
contracts (Cameron, 25min)
refinement types (Taro, 25min)
slot title
10:30-11:00
break
slot title short_title description
11:00-12:00
Session 12: Programmer-Facing Aspects
Session&nbsp;12
(discussant: Shin-ya)
Pyro lessons (Eli, 15min)
grading (Dominic, 40min)
slot title
12:00-13:30
lunch
slot title short_title description
13:30-15:30
Session 13: Programmer-Facing Aspects
Session&nbsp;13
(discussant: Tachio)
Curry-Howard for delimited control (Paul & Amr, 25min)
multi-stage (Yukiyoshi & Jeremy Y, 25min)
higher-order effects (Tom, 25min)
slot title
15:30-16:00
break
slot title short_title description
16:00-18:00
Session 14: Talk & Panel "Will Effect Handlers Replace Monads?"
Session&nbsp;14
dependent types (William & Paulette, 25min)
initial fish: Shin-ya, Eli, Yukiyoshi, Cameron
slot title
18:00-19:30
dinner
slot title
19:30-21:00
free
slot title
21:00-
free
slot title
07:30-09:00
breakfast
slot title short_title
09:00-10:30
Session 15: Summary, Book, Next Meeting
Session&nbsp;15
slot title
10:30-11:00
break
slot title short_title description
11:00-12:00
Session 16: Talk
Session&nbsp;16
equational reasoning (Paul, 50min)
slot title
12:00-13:30
lunch
slot title
13:30-15:30
farewell

We expect to be following Shonan's standard template for a 5-day meeting. In a nutshell:

<style> .schedule td, .schedule th { vertical-align: top; } .schedule a { position: relative; display: inline-block; } .hover { font-size: 10pt; } .schedule a .hover { visibility: hidden; opacity: 0; transition: opacity 0.3s ease-in-out; min-width: 300px; background-color: black; color: #fff; padding: 1em; border-radius: 6px; position: absolute; z-index: 1; } .schedule a:hover .hover { visibility: visible; opacity: 1; } </style>

{% assign time_slots = "07:30-09:00,09:00-10:30,10:30-11:00,11:00-12:00,12:00-13:30,13:30-15:30,15:30-16:00,16:00-18:00,18:00-19:30,19:30-21:00,21:00-" | split: "," %}

{% for day in page.schedule %} {% endfor %} {% for time_slot in time_slots %} {% for day in page.schedule %} {% endfor %} {% endfor %}
 {{ day[0] | replace: " ", " " }}
{{ time_slot }} {% for event in day[1] %} {% if event.slot == time_slot %} {% if event.short_title %} {{ event.short_title }} {% if event.description %}
    {% for item in event.description %}
  • {{ item }}
  • {% endfor %}
{% endif %} {% else %} {{ event.title }} {% endif %} {% endif %} {% endfor %}

Details of the individual sessions are at the foot of this page.

Discussants

Each technical session will have one person nominated as a discussant. The responsibility of this role is to end the session by responding to the presentations in that session. This might be to provide a personal comment on the presentation; it might be to explain some of the context; it might be to raise some questions, or even (constructively!) criticize the presentation or point at shortcomings.

The goal of the discussant's time is to spark discussion. This can be discussion between them and the presenter, but it's even better if they can manage to draw the audience into the discussion. The point is to help everyone think about and reflect upon the presentations that have just taken place. It also serves to enhance the workshop feel, with more people engaging in discussion and discussing the impact of the work being presented as well as potential unsolved problems.

Please contact us if you would like to volunteer as discussant for a particular session. We will volunteer people on Monday morning to fill the remaining discussant roles.

Fishbowl conversations

There are panel discussions at the end of Tuesday and Thursday. We have allocated an hour for each of these, but in a two-hour session at the end of the day. The idea here is that if the discussion has run its course after an hour, we have time to relax and chat before dinner; if the discussion is still going, yet you've have enough for the day, you can leave with honour after an hour; but we hopefully do not need to impose a hard stop and stifle a lively discussion.

We will organize these panels as fishbowl discussions. The panel will be initialized with four "fish", but five chairs; at any point, anyone else can join the fishbowl to speak, and one of the current fish must volunteer to leave. The point is to allow everyone to have a say. The initial fish are: Ningning, Sam, Taro, Philipp on Tuesday; Shin-ya, Eli, Yukiyoshi, Cameron on Thursday.

Puzzles and problems

Participants suggested the following puzzles and problems that we might discuss, during breaks or after dinner. We can revisit these on Friday in case there are outcomes to report.

  • Interesting applications that require both deep and shallow handlers
  • Solution to the "Reflection without Remorse" problem without reifying computation as data (maybe relate to shallow handlers?)
  • Handler-based reinforcement learning: On Reinforcement Learning, Effect Handlers, and the State Monad, Smart Choices and the Selection Monad
  • Algebraic theories for practical handlers, eg for concurrency
  • Language Server Protocol
  • Interactive tutorial for effect handlers
  • A new Benchmark Repo Tsar
  • Using only continuations (that is callcc, but no assignments etc), find a term e and a context C such that: C [ (\x -> (x,x)) e ] and C [ (\x y -> (x,y)) e e ] evaluate to different values (Amr).

Detailed Session Schedule

{% for day in page.schedule %}

{{ day[0] }}

{% for event in day[1] %} {% if event.short_title %}

{{ event.title }}

{% if event.description %}
    {% for item in event.description %}
  • {{ item }}
  • {% endfor %}
{% endif %} {% endif %} {% endfor %} {% endfor %}