~/talk

Executable Contracts for Elixir

Talkat Erlang 2022 · on Sunday, 2022-09-11· [elixir-and-erlang]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

A small Elixir library implements executable contracts by macro-transforming code and runs pre/post checks, exception specifications and timers; it catches the list-of-digits mistake and flags a factorial infinite-recursion via a timeout check, enforces decreasing measures for recursion (avoiding n → n-1 bugs) and documents a one-annotation-per-function limitation. Runtime cost grows with heavy predicates (checking a list of digits scales with input size). Repository is public, aimed at simplicity for courses and incremental adoption with preconditions and postconditions.

AI-written summary · about

  1. 0:00Start
  2. 1:40Motivations
  3. 14:08Functional Specification
  4. 15:30Exceptions
  5. 20:13Time Limits
  6. 21:26Warnings about the Use of Time Limit Contracts
  7. 30:51Comments about the Implementation
  8. 31:21Limitations
  9. 38:20Purity Contracts
  10. 38:52Invariance
~/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.