<story><title>Mal – Make a Lisp, in 68 languages</title><url>https://github.com/kanaka/mal#mal---make-a-lisp</url></story><parent_chain></parent_chain><comment><author>chc4</author><text>I got decently far in my implementation, but probably wouldn&amp;#x27;t suggest you use this. The actual guide is pretty sloppily written and doesn&amp;#x27;t outline all that much, along with not explicitly saying what you have to define at each step. It doesn&amp;#x27;t define what the different cases of the mal Lisp value type should be, for example, or when to implement pretty much all of the &amp;quot;optional&amp;quot; extensions it mentions in the first or second chapter. Most of the forms in each chapter get a sentence explanation of what they do, at most, and I hit several snags where I read an explanation and thought I implemented it correctly, only to find out there was something subtly wrong with the obvious implementation.&lt;p&gt;Also, writing a Lisp in a purely functional language isn&amp;#x27;t the best :X Things like by-reference function environments and atoms are hard to implement if you&amp;#x27;re not Haskell, at least if you try in the method that the guide outlines...</text></comment>
<story><title>Mal – Make a Lisp, in 68 languages</title><url>https://github.com/kanaka/mal#mal---make-a-lisp</url></story><parent_chain></parent_chain><comment><author>sassy_samurai</author><text>There is a similar project called &amp;quot;Build Your Own Lisp&amp;quot;[0] (BYOL), which is a book that walks one through making a Lisp in C. Has anybody here done BYOL? How does it compare to MAL? If you had to choose one to learn how to create a Lisp, which would you choose?&lt;p&gt;[0]: &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;www.buildyourownlisp.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.buildyourownlisp.com&amp;#x2F;&lt;/a&gt;</text></comment>