14 comments

[ 3.8 ms ] story [ 44.3 ms ] thread
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.
Aw c'mon, it was a gripping read until the end and then.. no unquote?!
Oh, we'll get unquotes, don't worry. It's more a question of not-yet-implemented than anything else.

Here I might as well ask HN what syntax I should go with for unquotes in 007. In Perl 6, unquotes are written as three nested braces: {{{$ast}}}

Almost no-one is happy with that syntax. It manages to be distinctive (and can be easily syntax-highlighted, too) but pretty it ain't.

The difficulty of finding something better is that it has to be orthogonal to basically all other syntax in the language. And that's a challenge in Perl. :) People keep proposing Unicode sigils and stuff, but I haven't seen something I like yet.

Of all movies to quote, he picks Never Say Never Again...
Definitely more engaging than the usual "made with love" bootstrap website.
I have to admit I did not even look at the language itself, the README made me upvote this.
Can confirm, this is how READMEs should be done.
I don't understand a clue of what this macro thing is, but let's upvote this and every comment made by principle.
It sure was something different to read :)
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.

First time i read a README from first to last word. Good job!