Principles of Programming Seminar

Tuesday, October 16, 2018 - 3:00pm to 4:00pm


Reddy Conference Room 4405 Gates Hillman Centers


JAMES CARLSON, Professor Emeritus, University of Utah

MiniLatex: a typed functional parser-renderer for a subset of LaTeX

Speaker: James Carlson

Location: GHC 4405

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, Contact:


Seminar Series