I’ve been pondering this question all day: What the heck do I do next?
The intarnetz has discovered Smile, which is kinda cool, in a terrifying sort of way.
But the language is still barely in its infancy. I have a semi-working interpreter (release package 0.3!), but there are lots of bugs and some stuff is far from built. The language grammar is pretty well nailed-down at this point. But the libraries are severely lacking, even for really common operations, and even a few of the standard data types don’t exist. I have some documentation, but it’s far from complete.
Yet people want to know more. They got a taste of something interesting, and for a fleeting moment, it’s become news, after a fashion. I don’t want to starve and disappoint potentially-interested folks, but I don’t want to give out junk and crush what could be something pretty neat.
So tomorrow, I’m going to talk with some folks at work who’ve been following Smile through its development, and we’ll see if our brain trust can figure out what a good next step is. I’m a coder: I develop algorithms, not marketing plans, and I’d rather stick to what I know.
For tonight, I got the current Smile interpreter running under Mono on Linux, so w00t on that.
Anyway, uh, stay tuned, I guess.
Whoa, linky. Who knew people actually read this blog? Zounds.
I should answer some of the questions being asked. (Why here and not on Reddit? Well, I don’t have a Reddit account, for one, and for two, I’d like to keep my answers about Smile in a place where they’re easier to find, rather than buried deep in a Reddit thread somewhere.)
So here we go.
I’ve wanted to talk about Smile for a long time now.
Smile is a programming language. A decade ago when I named it, it stood for “Syntax Makes Interpreting Lisp Easier,” but don’t tell anybody there’s a Lisp in there, because it doesn’t look, act, or feel like Lisp.
So let’s start at the beginning.
Smile is a programming language.
It is built on extremely solid theoretical foundations, on a cross between the untyped lambda calculus and a message-passing model. The core of the language is built on very simple concepts, rigorously applied at every level to build mathematically-provable abstractions. It’s a language that is designed to make computer scientists giggle with glee at its elegance and simplicity.
Stdout print "Hello, World.\n"
I bought smile-lang.org today. I doubt anybody will ever use it, but maybe this’ll turn out to be an auspicious moment in history, eh?
But I guess now that the Smile programming language has a website, it probably ought to start existing, shouldn’t it? I have a lexer built, a formal grammar designed (LL(3) with some precedence quirks), a bunch of parsing/transformation rules, a bunch of interpretation rules, and a smattering of the runtime built. It’s definitely not usable for anything yet, but I can actually see it taking shape, and after a decade of working on its design, of throwing out and revising piece after piece of it, it’s good to feel like it’s finally going somewhere.
Remind me to tell you guys about it at some point in the not-too-distant future.