Introducing LVCA

programming language toolkit

LVCA (Language Verification, Construction, and Analysis) is a toolkit for building programming languages. Well, it will be. Right now it's a collection of ideas and prototypes, available below.


These are meant to form a somewhat coherent story, read in order. They'll be updated as LVCA evolves.


  • What is a programming language?
  • The futility of designing the ultimate programming language
  • What LVCA doesn't do
  • Finding terms (term indexing)
  • The interop story
  • More on typechecking
  • More on evaluation
  • Forking a program
  • Forking a language
  • Against monolanguages
  • Semantic diffs
  • Making a differentiable programming language
  • Rendering as HTML / LaTeX
  • Building UIs for free-ish
  • Write once, run anywhere
  • Something like PowerShell
  • A language with linearity
  • Evaluating languages via denotational semantics
  • LVCA specification