~/talk

Dependent Type Driven Program Synthesis in Idris

Talkat Code Mesh LDN 2020 · 2020-11-05..11-06· [compilers-and-language-design]
links:none on file
slides:none on file

Idris uses the type to synthesize program fragments by incremental case-splitting and expression search over holes and unification, generating batches (default 16) and ranking candidates by most-local-variables-used. It builds real code (repeat, HList lookup, continuation monad including call/cc, run-length encoder) and fixes parts of the Idris 2 compiler like modular name choices. Results are type-correct, often useful but sometimes syntactically ugly; the engine is simple, editor-driven, and practical for real code.

AI-written summary · about

  1. 0:00Introduction
  2. 1:06Type Driven Program Synthesis
  3. 4:03Questions
  4. 4:41Examples
  5. 11:04Basic Plumbing
  6. 13:08Dependently typed programs
  7. 19:19Optimized data structure
  8. 23:09Continuation Monad
  9. 25:47Call with Current Continuation
  10. 26:57How it Works
  11. 29:07Expression Search
  12. 31:15Program Search
~/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.