|
|
@ -87,6 +87,44 @@ fun has(k, kvs) { |
|
|
# Homomorphisms between free algebraic models |
|
|
# Homomorphisms between free algebraic models |
|
|
#? |
|
|
#? |
|
|
|
|
|
|
|
|
|
|
|
#! |
|
|
|
|
|
# What is an effect handler? |
|
|
|
|
|
# |
|
|
|
|
|
# Operational interpretation |
|
|
|
|
|
# Resumeable exceptions |
|
|
|
|
|
# Programmable and composable operating systems <--- THIS TALK |
|
|
|
|
|
# |
|
|
|
|
|
# Software engineering interpretation |
|
|
|
|
|
# Builders for monads (monads as a design pattern) |
|
|
|
|
|
# |
|
|
|
|
|
# Functional programming intepretation |
|
|
|
|
|
# Folds over computation trees |
|
|
|
|
|
# Free interpreters |
|
|
|
|
|
# |
|
|
|
|
|
# Mathematical interpretation |
|
|
|
|
|
# Homomorphisms between free algebraic models |
|
|
|
|
|
#? |
|
|
|
|
|
|
|
|
|
|
|
#! |
|
|
|
|
|
# |
|
|
|
|
|
# The key idea |
|
|
|
|
|
# |
|
|
|
|
|
# *System calls* are an interface, implemented by an *operating system* |
|
|
|
|
|
# |
|
|
|
|
|
# *Effectful operations* are an interface, implemented by an *effect handler* |
|
|
|
|
|
# |
|
|
|
|
|
#? |
|
|
|
|
|
|
|
|
|
|
|
#! |
|
|
|
|
|
# |
|
|
|
|
|
# The key idea |
|
|
|
|
|
# |
|
|
|
|
|
# *System calls* are an interface, implemented by an *operating system* |
|
|
|
|
|
# = = |
|
|
|
|
|
# *Effectful operations* are an interface, implemented by an *effect handler* |
|
|
|
|
|
# |
|
|
|
|
|
#? |
|
|
|
|
|
|
|
|
# |
|
|
# |
|
|
# |
|
|
# |
|
|
# What is an operating system? (very abstractly) |
|
|
# What is an operating system? (very abstractly) |
|
|
@ -148,26 +186,6 @@ fun has(k, kvs) { |
|
|
# |
|
|
# |
|
|
#? |
|
|
#? |
|
|
|
|
|
|
|
|
#! |
|
|
|
|
|
# |
|
|
|
|
|
# The key idea |
|
|
|
|
|
# |
|
|
|
|
|
# *System calls* are an interface, implemented by an *operating system* |
|
|
|
|
|
# |
|
|
|
|
|
# *Effectful operations* are an interface, implemented by an *effect handler* |
|
|
|
|
|
# |
|
|
|
|
|
#? |
|
|
|
|
|
|
|
|
|
|
|
#! |
|
|
|
|
|
# |
|
|
|
|
|
# The key idea |
|
|
|
|
|
# |
|
|
|
|
|
# *System calls* are an interface, implemented by an *operating system* |
|
|
|
|
|
# = = |
|
|
|
|
|
# *Effectful operations* are an interface, implemented by an *effect handler* |
|
|
|
|
|
# |
|
|
|
|
|
#? |
|
|
|
|
|
|
|
|
|
|
|
#! |
|
|
#! |
|
|
# |
|
|
# |
|
|
# This talk at glance |
|
|
# This talk at glance |
|
|
|