~/talk

"do" Unchained: Embracing Local Imperativity in a Purely Functional Langua...

Talkat ICFP 2022 · 2022-09-11..09-16
links:none on file
links:none on file
slides:none on file

Adds local mutation, early return and iteration to do notation and provides formal translation rules that compile them to pure code while preserving semantics and complexity. Implements the translation as a Lean 4 macro expander and an intrinsic embedding into monads, models each feature as a separate effect such as an exception transformer and state transformer, and proves in Lean that the generated monadic term is equivalent to an interpreter for any LawfulMonad. Artifacts and proofs are available and the features are already used in Lean 4 codebases.

AI-written summary · about

  1. 0:00Motivation for improvement
  2. 3:05Modeling new language effects
  3. 6:03Formalizing syntax translation
  4. 9:32Verification in Lean
  5. 11:18Real-world adoption
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.