Re:Crafting Interpreters: Calls and Functions
by jihadjihad on Thursday July 25, 2019 @11:19AM
(#20526115)
What I love most about this project is that it takes a subject that I've historically thought of as "magic" and plainly lays out the logic behind the curtains. I didn't study computer science in college but have become fascinated by it, and this book is an accessible, well-designed, and well-written resource on a dense and deep topic. Terrific work.
[ Parent
| on HN ]
Re:Crafting Interpreters: Calls and Functions
by munificent on Thursday July 25, 2019 @11:56AM
(#20526449)
Thank you! Dispelling the magic is my primary goal with the book.
Like you, I don't have a CS degree and find a number of topics like this to be intimidating. So my hope is that readers will come away from this both knowing more about languages and also less afraid of diving into other topics that seem scary.
Re:Crafting Interpreters: Calls and Functions
by jchook on Thursday July 25, 2019 @02:41PM
(#20528155)
Thanks to your book I overcame my fear of formal grammars and wrote three essential LL(1) parsers for my latest project.
Where before I haphazardly ignored features like quoted strings or escaped characters, I now have extremely high confidence in my parsers’ completeness and correctness. Also the error reporting rocks and the code is easy to read!
Thank you!!!
Re:Crafting Interpreters: Calls and Functions
by danso on Thursday July 25, 2019 @03:19PM
(#20528515)
If you are at liberty to share, were these parsers for a specific domain? I'm curious about how to decide when creating a domain-specific grammar/language is worth it for any given project.
Re:Crafting Interpreters: Calls and Functions
by jchook on Thursday July 25, 2019 @07:51PM
(#20531037)
In my case I basically just transliterated RFC XXXX grammars from ABNF to code. I ended up really enjoying it.
I have seen problems that probably do merit a special DSL or language, though I find it somewhat unfortunate if you need such a thing.
One example that comes to mind, Soul lang: https://news.ycombinator.com/item?id=19791154