UW PLSE | Algebraic Semantics for Machine Knitting
As programming languages researchers, we’re entitled to a certain level of mathematical rigor behind the languages we write and analyze. Programming languages have semantics, which are definitions of what statements in the language mean. We can use those semantics to do all sorts of useful things, like error checking, compiling for efficiency, code transformation, and so on. This blog post is about a programming domain that doesn’t yet enjoy the same level of rigor in its semantics: machine knitting. People write programs to control massive arrays of needles that manipulate yarn into useful 3D objects. In this blog post, I’ll run through the process of finding “the right” semantics for machine knitting, touching on why we want semantics, connections to traditional programming languages, and what we might use these semantics for in the future. In our search, there are a surprising number of guest appearances by fields of study outside of programming languages: algebraic topology, group
Post Metadata Author Nat Hurtig Date Published 31 March 2025 As programming languages researchers, we’re entitled to a certain level of mathematical rigor behind the languages we write and analyze. Programming languages have semantics , which are definitions of what statements in the language mean. We can use those semantics to do all sorts of useful things, like error checking, compiling for efficiency, code transformation, and so on. This blog post is about a programming domain that doesn’t yet enjoy the same level of rigor in its semantics: machine knitting. People write programs to control
saved by
related reading
- A Compiler for 3D Machine Knittings3-us-west-1.amazonaws.com
- how I think when I think about programming - alice mazalicemaz.com
- Semantic Domain: The Geometry of Interaction, as an OCaml programsemantic-domain.blogspot.com
- A shallow dive into formal verificationvitalik.eth.limo
- Human Judgment as a Specificationblog.brownplt.org
- Beautiful Racket: Make a language in one hour: stackerbeautifulracket.com
- What even is compiler correctness?williamjbowman.com
- Weird Languagespaulgraham.com
- Formally speaking, "Transpiler" is a useless word | Rachit Nigampeople.csail.mit.edu
- Think in Math. Write in Code.jmeiners.com
- [2604.07242] Weaves, Wires, and Morphisms: Formalizing and Implementing the Algebra of Deep Learningarxiv.org
- What is PL research and how is it useful? - The PL Enthusiastpl-enthusiast.net