Hazel: A Live Functional Programming Environment with Typed Holes
summary
A web-based live programming environment implements an Elm-like language that automatically inserts typed holes so every editor state has both a static type and a dynamic meaning, enabling type inspection, continuous evaluation and a novel live debugger that does not stop at missing code. The implementation at hazel.org evaluates subexpressions, records hole closure tracking (multiple hole instances with environments), uses casts from gradual typing, and rests on the formal core calculus Hazelnut with a proved sensibility theorem.
AI-written summary · about
chapters (8)
- 0:00Start
- 5:43The Gap Problem
- 6:24Typed Holes in GHC Haskell
- 11:31Demo
- 28:23Hole Closures
- 30:41A static dynamic semantics for lambda terms with holes
- 34:33A typed edit action semantics
- 40:29Related Works Typed Literal Macros
related talks
32mTotally Live Programming with Hazel (Progress Report)
21mTotal Type Error Localization and Recovery with Holes
42mSuggesting Valid Substitutions For Typed Holes
41mHedy: A Gradual programming language
29mA type safe calculus for generating syntax-directed editors
40mProgramming Clojure, Smalltalk-Style
43mVisual-textual functional programming with Luna
43mStop Writing Dead Programs
