top | item 10325670

007, a small experimental language with a license to macro

121 points| jsnell | 10 years ago |github.com | reply

14 comments

order
[+] masak|10 years ago|reply
Author here. Thanks for all the kind words. README files are important, and I worked quite a bit on this one. Had some fun writing it.

A quick summary of the language itself: I felt I needed a smaller language than Perl 6 to "think" in as I mapped out exactly what we want from macros. If you're curious about the latest shape of that thinking process, you'll want to read https://gist.github.com/masak/13210c51f034f931af0c .

Implementing 007 has been a fun thing, and largely easier than I thought. Mostly bottlenecked by available tuits. Somewhat surprisingly, I found it much tougher going to implement user-defined operators than to implement macros. (But now that we have both, you can also haz custom operator macros!)

Next up, I plan to use 007 to map out as much of the terrain as possible covered by that gist above. That is, I want 007 to get synthetic Qtrees, really good handling of hygiene and lexical scoping, statement macros, maybe multis if I feel it's worth the trouble, introspection of Qtrees, and visitor macros.

[+] mdcox|10 years ago|reply
For those interested in seeing the language, the README has a link to the tutorial ( http://masak.github.io/007/ ) hidden at the very bottom of the (highly entertaining) narrative.
[+] akkartik|10 years ago|reply
Aw c'mon, it was a gripping read until the end and then.. no unquote?!
[+] akhilcacharya|10 years ago|reply
Of all movies to quote, he picks Never Say Never Again...
[+] raimue|10 years ago|reply
I have to admit I did not even look at the language itself, the README made me upvote this.
[+] mappu|10 years ago|reply
Definitely more engaging than the usual "made with love" bootstrap website.
[+] crocal|10 years ago|reply
I don't understand a clue of what this macro thing is, but let's upvote this and every comment made by principle.
[+] i336_|10 years ago|reply
Can confirm, this is how READMEs should be done.
[+] igl|10 years ago|reply
First time i read a README from first to last word. Good job!
[+] tmd83|10 years ago|reply
It sure was something different to read :)