James A. Carlson
This talk introduces a unique markup language, L0, along with the design principles underlying its real-time, fault-tolerant compiler. Crafted in the ML-style language Elm, the compiler operates within a browser environment, supported by an appropriate web application. The term "real-time" implies that as text is entered into the editor, the displayed text is "instantaneously" updated to include current tables of contents, numbering, cross-referencing, etc.
The phrase "fault-tolerant" indicates that errors are managed smoothly: (i) they are marked subtly yet informatively in the displayed text, (ii) all text succeeding an error is correctly rendered. While the compiler typically targets HTML, it also has the capability to generate standard LaTeX, and consequently, PDF.
Moreover, the speaker will demonstrate how parsers for variations of LaTeX and Markdown can serve as a frontend for the AST-to-HTML section of the L0 compiler's pipeline. This strategy—processing different input languages to a shared AST—allows for efficient construction and upkeep of a "multilingual" markup editing system. A brief demonstration of such a system, available at https://scripta.io, will be provided, showcasing support for source text in L0, MicroLaTeX, and XMarkdown.