~/talk

Reasonable Agda is Correct Haskell: Writing Verified Haskell using agda2hs

Talkat Haskell Symposium 2022 · 2022-09-15..09-16· [haskell]
slides:none on file

Tool agda2hs translates an expressive subset of Agda to readable Haskell by erasing dependent types and proofs using Agda's runtime irrelevance (erasure) annotations, producing nearly identical Haskell for examples like a verified BST insert and turning Agda instance-records with erased law proofs into ordinary type classes. The pipeline enforces totality, maps primitives/Prelude, supports error via Absurd→error, and is already used at IOG to verify a program generator and prototype parts of the Cardano codebase; no full formal proof of correctness yet, but practical semantics-preservation checks and constraints prevent leaks.

AI-written summary · about

  1. 0:00Agda and agda2hs intro
  2. 1:50agda2hs design goals
  3. 3:11Verified binary search trees
  4. 6:03Agda like Haskell
  5. 8:50Partial functions safely
  6. 9:35Type classes in Agda
  7. 13:47Cardano blockchain use
  8. 14:53Proofs vs QuickCheck
  9. 17:03agda2hs implementation
  10. 18:49Soundness and trusted parts
  11. 21:19Future work and extensions
  12. 22:21Demo and events
~/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.