Why Clojure's Hiccup syntax saves LLM tokens (and your API budget)
Same HTML structure, different representations:
| Approach | Est. Tokens | Closing Tags | |
|---|---|---|---|
| Clojure (Hiccup) | ~69 | 0 | MOST EFFICIENT |
| Raw HTML | ~77 | 7 | |
| React (JSX) | ~86 | 9 |
Hiccup represents HTML as Clojure data structures. No closing tags. No angle brackets. Just vectors and maps.
[:div.container
[:h1 "Hello, World!"]
[:p {:class "subtitle"} "Built with Clojure"]]
; Generates:
; <div class="container">
; <h1>Hello, World!</h1>
; <p class="subtitle">Built with Clojure</p>
; </div>This entire static site generator:
54 lines of Clojure~415 estimated tokens (including styles)1 dependency (Hiccup)0 closing tags in markup