MiniLatex: a typed functional parser-renderer for a subset of LaTeX
We will show how a typed functional language (Elm) can be used to design and implement a parser for a subset of LaTeX which we call MiniLatex. On the practical side, the aim is to provide a web platform for editing and rendering MiniLatex documents in real time: edits in the source text window on the left “immediately” appear in the rendered text window on the right. On the theoretical side, we discuss a formal grammar for MiniLatex, and show how a language with an expressive type system and a good parser-combinator library can be used to design a compact parser for it. The parser consists of just 300 lines of code governed by an 11-line type definition for the abstract syntax tree.
James Carlson received a BS in Mathematics from the University of Idaho in 1967 and a Ph.D from Princeton University under the direction of Phillip Griffiths in 1971. Most of his research work has been in algrebraic geometry, notably Hodge Theory. After several postdoctoral positions, he took a position at the University of Utah, where he served as department chair from from 1995 to 2002. From 2003 to 2012 served as president of the Clay Mathematics Institute.