Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Koi - a programming language that teaches language implementation. (thingsaaronmade.com)
70 points by aarongough on Sept 29, 2010 | hide | past | favorite | 12 comments



Aaron, how did you go about learning about programming languages implementation? I'm mostly interested if you went theory (e.g. reading a PL book) down to implementation (e.g. reading the ruby source code) or the other way around?


It was actually a mixture of both. The first 'book' I read was http://createyourproglang.com/, which pointed me in the right direction as far as next steps. Personally I think the book is a little light on details, but it's much more approachable than anything else I saw.

Most of my learning was through experimentation and lots of time on Wikipedia. The theory stuff mainly came from Wikipedia, then once I had a handle on basic theory I started having a look at how other people had implemented sections of programming languages, mainly sticking to implementations done in high-level languages where I could.

Strangely one of the things I found most helpful was looking through the instruction sets for Virtual Machines. For some reason seeing the operations broken down into chunks like that just 'clicked' in my head.

It's an absolutely huge field to try to digest, and to be honest I still really don't have a good handle on many aspects of it (I've never written a garbage collector for instance) but the biggest thing for me was just getting past the point where I could understand 50% of it, that was when it stopped feeling like 'voodoo'.

I've started work on writing a book that offers more info on this in as simple and approachable a way as possible, I'd be interested to know if this is something people are interested in...


Hey Aaron, glad my book was helpful. What do you feel is missing from it? Now that I think about it, looking at instruction sets made it click for me too, so maybe it's something i should include. And nice work with your language!


Hey Marc! I'd have to look over the book again to give you valid feedback, it's been a while since I looked at it.

It definitely pointed me in the right direction though so I appreciate that!



Good job Aaron. Must feel great to finally launch!


Thanks Marc! Yeah, this has been a while coming now! I've just started writing a book that goes into greater (and more fundamental) detail on the process of simple language design.

Great fun!


All feedback is warmly welcomed! If you see any sections of the code or docs that are unclear please let me know and I will fix them!


That was quick, Aaron. Good job! :-)


Thanks Mahmud! It's definitely nothing advanced, and it's a bit of a dead end as far as languages go, but I think it gets the point across!


Great job, thanks for sharing!


Thanks!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: