Live data from Hacker News

Show HN: Crafting Interpreters – A handbook for making programming languages

craftinginterpreters.com

61–70 of 77 posts

Re: Show HN: Crafting Interpreters – A handbook for making programming languages

#61
post #48

I clicked the link without looking at the poster, and by the end of the "What’s the Catch?" paragraph I was thinking to myself that this really seems like something written by The Munificent Bob. Then I read the first sentence of the next paragraph :) I really like your blog, I have read all of it, some posts even 2-3 times, and not only because of the content, but your writing style. I will probably read this book t…

\o/

Re: Show HN: Crafting Interpreters – A handbook for making programming languages

#62

This is awesome, since I'm currently working on my own (toy) language! Thanks for making this public! On a side note, to anyone interested in an overview of high-level language features and what their implementation requires, I can wholeheartedly recommend Michael Scott's Programming Language Pragmatics . It doesn't go into implementation details, but tells you a lot about the historical choices and implementation po…

Yes! PL Pragmatics was the first book on languages I read and I really enjoyed it.

Re: Show HN: Crafting Interpreters – A handbook for making programming languages

#63

Looking forward to the chapters about the C interpreter. Meanwhile, it looks like both interpreters are available to study now in the Git repo. [1] [1]: https://github.com/munificent/craftinginterpreters

Nice project. What do all the //> SomeName not-yet in the code mean? Are they meant for some kind of automatic processing? Its a bit hard to read with all of them there...

[deleted]

Re: Show HN: Crafting Interpreters – A handbook for making programming languages

#64
post #41

Just from reading the first few pages of the book, I'm already a fan. However my one tiny complaint is that the sign-up box is on every page, and even after I've signed up, it still has to be closed every page I go to.

Yeah, that is annoying. I think for my previous book, I used a little cookie support in JS to hide it persistently after the first time you closed it.

I'll try to resurrect that for this one.

https://github.com/munificent/craftinginterpreters/issues/11

Re: Show HN: Crafting Interpreters – A handbook for making programming languages

#66

I've been reading http://beautifulracket.com/ and its a really good introduction on making interprets.

Interesting! I like racket...just wish it was faster. Anybody know if there will be a successor to "Realm of Racket"?

Edit: Now I remember it uses LGPL as the license. I understand the reasoning, but I've always viewed the freedoms as giving the user freedom over the implementer...kind of just trading power.

Re: Show HN: Crafting Interpreters – A handbook for making programming languages

#68
post #52
post #28

Earlier quoted context omitted.

I meant "advanced static-typing" (e.g, like System F, which is advanced to someone learning PL). Not that it was more advanced, although I think in fact it is from a learner's point of view. It's incredibly simple to throw together a Scheme, or even a more complex interpreted dynamic language. Add in a static typing, type inferencing, and type checking, and that all becomes much more complicated, at least from this l…

dearth of learning materials for things like Hindley-Milner What's wrong with the original paper [1]? It's really basic and boiled down to the essence (in true Milner style). I give it to all my students interested in typing systems as first paper. (There is a typo on Page 211.) [1] L. Damas, R. Milner, Principal type-schemes for functional programs.

Eric Lippert[0] is doing an "excessive explanation" of this paper[1], where he breaks the entire paper down, line by line, with examples that C#/Java people would recognize. It's nice for people like myself who are strong on concepts, but weak on notation.

ex:

  map  : ∀α ∀β ((α → β) → (α list → β list))
Which I previously couldn't read, but I could easily explain the concept.

[0] - Former C# language designer, Roslyn compiler team, etc.

https://www.reddit.com/r/programmerchat/comments/37qwmm/i_am...

https://ericlippert.com/about-eric-lippert/

[1] - https://ericlippert.com/?s=excessive&submit=Search

Re: Show HN: Crafting Interpreters – A handbook for making programming languages

#69
One think I find lacking in books about building languages is a focus on tool. I am working on one (available for 0$ on leanpub: "How to create pragmatic, lightweight languages" https://leanpub.com/create_languages ) with the intention to focus more on building editors and simulator.

If you are interested in the subject you could take a look to my blog (https://tomassetti.me) I write 1-2 posts per week on building languages. Most of the time I talk about DSL.

Re: Show HN: Crafting Interpreters – A handbook for making programming languages

#70
post #40

Earlier quoted context omitted.

I'm starting a series of blog posts on making first a dynamic Lisp and then adding a type system to it, then type inferencer, etc. I'd be interested in what resources you found helpful and easy to read.

Are you going to share the links once you're done?

I can share now if you like. They're at http://bernsteinbear.com/blog/lisp/ -- still a work in progress. I hope to be done with Primitives II tonight.
Post reply on HN