Principles of Programming Seminar

  • Gates Hillman Centers
  • Reddy Conference Room 4405
  • Professor Emeritus, University of Utah
  • Past President, Clay Mathematics Insitute

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.

Faculty Host: Bob Harper

For More Information, Please Contact: