[HN Gopher] Build Your Own Lisp
___________________________________________________________________
Build Your Own Lisp
Author : curious16
Score : 64 points
Date : 2023-05-28 13:44 UTC (9 hours ago)
(HTM) web link (buildyourownlisp.com)
(TXT) w3m dump (buildyourownlisp.com)
| naltun wrote:
| I followed the exercises in this book coming up on a decade ago.
| It was I valuable to my growth as a developer. The author,
| OrangeDuck, has many worthwhile projects. If you are learning C,
| it's worth checking out their Cello project.
| ofalkaed wrote:
| I worked through this years ago and was rather disappointed, I
| felt the hand holding/explanations were not well balanced; it
| walks you through everything like you have no programming
| experience but explains things like you do have programming
| experience. The exercises were ok but not great. It left me with
| far more questions than answers and only slightly better at C
| than I was before.
|
| But I am a hack in everyway, so it could just be me.
| sfc32 wrote:
| I like the humour "Mike Tyson * Your typical Lisp user" :-)
| https://buildyourownlisp.com/chapter1_introduction#who_this_...
| capableweb wrote:
| If you want to learn languages, implementing a lisp interpreter
| is a great exercise, and lots of fun too. Every time I come
| across a new language I want to give a try, creating a lisp
| interpreter is one of the first things I do.
|
| If you're curious but want a more language-agnostic guide, mal
| (Make a lisp) is a language+project that has a guide you can
| follow along with basically any language, and if you get stuck,
| you can look at already implemented versions in practically any
| language: https://github.com/kanaka/mal
|
| Personal favorite implementations of mal: nasm (assembly)
| (https://github.com/kanaka/mal/tree/master/impls/nasm) and wasm
| (https://github.com/kanaka/mal/tree/master/impls/wasm)
|
| mal has also been discussed many times on HN (which is probably
| how I came across it the first time too) for close to a decade by
| now: https://hn.algolia.com/?query=kanaka%2Fmal
| KineticLensman wrote:
| I agree about MAL (which I also came across thanks to HN). I've
| seen comments on HN to the effect that you are better off
| looking at the source code of an open lisp to understand how to
| do it properly, but I found working through MAL really
| educational and motivating. I was really pleased when I got my
| MAL implementation (in C#) to self-host.
|
| I only really cheated once (by looking at an existing
| implementation) and that was when I was implementing macros. I
| discovered I'd misread something in the MAL guide and was doing
| the correct things, but in the wrong order.
|
| I'm now doing MAL again in Rust as a way of going up the Rust
| learning curve, and when I've done that (or enough) I'm going
| to see if I can code a garbage collected version of MAL
| (probably using 'Crafting Interpreters' as a guide - another
| really superb instructional resource).
| marcpaq wrote:
| Agreed. BYOL and MAL are excellent work.
|
| I had fun making an interpreter in ARM assembly:
|
| https://github.com/marcpaq/arpilisp
|
| Since the world obviously needs another book on Lisp-making,
| I'm thinking of porting it to arm64 and expanding it into a
| book.
| pcblues wrote:
| Recent repeat, but I think I used the template that made the
| website in 1995. Still amusing.
|
| https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
___________________________________________________________________
(page generated 2023-05-28 23:00 UTC)