~/talk

Colouring Flags with Dafny & Idris

Talkat Dafny 2024 · on Sunday, 2024-01-14· [functional-programming]
links:none on file
links:none on file
slides:none on file

Compares Dafny’s imperative design-by-contract + Hoare/Boogie pipeline with Idris’s dependently typed, type-driven approach by reimplementing the Dutch National Flag (filter/merge examples) in both languages, showing a concrete Idris implementation that builds correctness into types and uses typed holes for synthesis, versus Dafny’s separate specs, runtime-versus-compile erasure tradeoffs and use of ghost variables. Notes practical differences: Idris compiles correctness from a tiny core, Dafny calls external tools, and the verification artifacts can be either runtime relevant or erased.

AI-written summary · about

  1. 0:00Introduction
  2. 2:09Motivation for Dafny vs Idris
  3. 3:17Verification spectrum
  4. 4:02Idris features
  5. 5:28Quantitative typing
  6. 6:09Direct comparison Dafny vs Idris
  7. 8:39Dutch flag problem choice
  8. 9:43Dutch flag and insertion sort
  9. 10:49Idris approach to the Dutch flag problem
  10. 11:31Dependent types
  11. 13:37Idris filter function
  12. 14:41Type-driven proofs
  13. 15:22Code as spec Idris vs Dafny
  14. 16:03Efficiency and ghost vars
  15. 17:07Verification pipelines
  16. 17:49Interactive editing
  17. 18:10Future work
~/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.