<p>Anyway, now I have a LISP interpreter written in Rust.</p><p><a href="https://github.com/mcclure/lisp0-experiment/tree/2025-04-07" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">github.com/mcclure/lisp0-exper</span><span class="invisible">iment/tree/2025-04-07</span></a></p><p>It's a very minimal "MVP"; the language currently lacks:</p><p>- Variable scopes<br />- Loops<br />- Conditionals<br />- Floating point numbers<br />- Errors lack backtraces or line numbers (and cannot be recovered from)</p><p>It has</p><p>- One global scope<br />- Ints, strings, arrays and hashtables<br />- Tail recursion<br />- File I/O</p><p>But math and recursion means it's Turing complete. Which means it's sufficient to use it for a AOC problem!</p>