Skip to content
0:00 / 0:00

#tex#clojure#typesetting

Glenn Vanderburg - Cló: The Algorithms of TeX in Clojure

ClojureTV

111K subscribers • 159 videos on Hallway

YouTube
  • Recommended by 1 person: 1 on Hacker News.
  • Presented by Glenn Vanderburg, Director of Architecture at LivingSocial

Intermediate. Assumes working knowledge.

9.3K views11 years ago1 recommendation

Programming languagesSoftware designFunctional programmingLisp and ClojureAlgorithms

Glenn Vanderburg presents Cló, a Clojure library that translates TeX's core typesetting algorithms from procedural literate programming into functional form.

Cló is a typesetting library for Clojure, implementing the core typesetting algorithms of TeX as composable functions. Although much work remains before Cló is useful in practice, even at an early stage it is instructive, providing interestingly complex examples of real-world procedural algorithms translated into functional form. Thinking about typesetting as a functional problem has yielded valuable clarity and insight about these algorithms, even though in their original form they were written with instruction and teaching in mind (the notion of "literate programming" was invented for TeX). In this talk, I'll share some of the background, code, results, and lessons learned so far. Glenn is Director of Architecture and Internal Applications at LivingSocial. He has been a professional programmer for 30 years, is a longtime Rubyist, and has been using Clojure since 2009. He knows just enough about typography to notice when it's bad, and is the kind of annoying person who notices when a period is in the wrong font.

Why it's here

1 person recommends this

What people say. Recommended for its insights into translating complex procedural algorithms into functional programming paradigms.

gavinpcon Hacker News • Recommends

On “Ramda – A practical functional library for Javascript”

…al. Now we have the maxim about programmer cycles versus machine cycles, which is itself getting a little dated because of scale. Anyway, fun times to be in this field. You might also like the "It's 1982 and I can't believe we're still..." part of the talk, (a.k.a. "Everything's amazing and nobody's happy") for putting things into perspective. 0 link to this video EDIT Time is on their side though... with tail-call optimization coming to ES6 (just about the only "good part," according to Crockford).…

dj-wonkon Hacker News • Mentions

On “Reimplementing TeX's Algorithms: Looking Back at Thirty Years of Programming”

…xpect? The video goes into this better than the InfoQ article. In short, I think Glenn embraced the differences and challenges of adapting TeX in Clojure from an educational perspective. I don't think he intended to port it quickly or verbatim. Glenn wanted to head-to-head comparison to promote education. To explain, in Glenn's talk around 11:36 ( link to this video ) he says: > While I'm glad that the source code of TeX is still available to study, I sure wouldn't point a new programmer toward it because we should not be doing programs today like we did then. > But what might be really valuable is to have a modern reimplementation written in a modern functional style to study alongside [the original T…

rhythmvson Hacker News • Mentions

On “SILE Typesetting System”

SILE indeed looks great, promising to come on par with the typesetting quality we have come to expect since TeX: Knuth-Plass line breaking, Unicode and OpenType font features support, complete with contextual shaping, Cassowary constraint solver, parallel text, multiple apparati, foot and marginal notes, vertical typesetting… This is a typographer’s dream! But, like TeX and friends (LaTeX, ConTeXt, etc.), creating stylesheets and document templates still looks like a pain with SILE and alike. At least from the perspective of designers who have come to expect a strict separation of concerns between document structure/semantics and its styling, and who are used to work with a declarative style…

u/JavaSuckin r/C_Programming • Mentions

On “So called 'well-written' source code?”

Are you into functional programming? Then you might find Cló: The Algorithms of TeX in Clojure interesting.

u/nzlemmingin r/Clojure • Mentions

On “Want to make a Clojure-LaTex library: where to start?”

I don't know very much about TeX, but you'd probably be interested in this talk.