1
0
mirror of https://github.com/dhil/phd-dissertation synced 2026-03-13 11:08:25 +00:00

Update slides

This commit is contained in:
2022-05-26 18:27:32 +01:00
parent ffe6ebd0b9
commit 6193214890

View File

@@ -57,19 +57,20 @@ fun has(k, kvs) {
# #
# Composing UNIX with Effect Handlers # Composing UNIX with Effect Handlers
# An Introduction to Effect Handler Oriented Programming # An Introduction to Effect Handler Oriented Programming
# Daniel Hillerström # Daniel Hillerström
# Laboratory for Foundations of Computer Science # Laboratory for Foundations of Computer Science
# The University of Edinburgh # The University of Edinburgh, Scotland, UK
# #
# Microsoft Research, Redmond, WA, USA # Microsoft Research, Redmond, WA, USA
# RISE Seminar # RISE Seminar
# May 26, 2022 # May 26, 2022
# #
# https://dhil.net/research/ # https://dhil.net/research/
# #
#? #?
#! #!
#
# What is an effect handler? # What is an effect handler?
# #
# Operational interpretation # Operational interpretation
@@ -85,9 +86,11 @@ fun has(k, kvs) {
# #
# Mathematical interpretation # Mathematical interpretation
# Homomorphisms between free algebraic models # Homomorphisms between free algebraic models
#
#? #?
#! #!
#
# What is an effect handler? # What is an effect handler?
# #
# Operational interpretation # Operational interpretation
@@ -103,6 +106,7 @@ fun has(k, kvs) {
# #
# Mathematical interpretation # Mathematical interpretation
# Homomorphisms between free algebraic models # Homomorphisms between free algebraic models
#
#? #?
#! #!
@@ -125,6 +129,20 @@ fun has(k, kvs) {
# #
#? #?
#!
#
# Effect handler oriented programming (EHOP)
#
# Key characteristics
# - Extensive use of effect handlers
# - High-degree of modularity
# - Extremely compositional
#
# Some languages that support EHOP:
# C/C++, Eff, Haskell, Koka, Links, Pyro, OCaml, Unison
#
#?
# #
# #
# What is an operating system? (very abstractly) # What is an operating system? (very abstractly)
@@ -175,7 +193,7 @@ fun has(k, kvs) {
# #
# Objectives of this talk # Objectives of this talk
# #
# - Demonstrate the versatility of effect handler-oriented programming # - Demonstrate the versatility of effect handler oriented programming
# - Explain Ritchie & Thompson's (1974) UNIX as the combination of # - Explain Ritchie & Thompson's (1974) UNIX as the combination of
# textbook effects # textbook effects
# + Exceptions: Process termination # + Exceptions: Process termination
@@ -723,7 +741,7 @@ sig interrupt : () {Interrupt:()}-> ()
fun interrupt() { do Interrupt } fun interrupt() { do Interrupt }
# Process reification # Process reification
typename Pstate(a::Type,e::Eff) typename Pstate(a::Type, e::Eff)
= [|Done:a = [|Done:a
|Paused:() -e-> Pstate(a, e)|]; |Paused:() -e-> Pstate(a, e)|];