Update

Posted: December 13th, 2009 | Author: Mars | Filed under: Progress | 1 Comment »

I’m back from a week in Montreal. I’ve been doing some work for XSilva Systems, and it was time for some planning meetings. The week kept me busy, but I did get some Radian work done on the plane and during a couple of late evenings.

One minor syntactic change: the end statement’s identifier is now optional. You can just say end to close a block, as in Ruby.

I spent a few hours yesterday rewriting the loop implementations; I’d let them fall out of date. I’ve also been setting up a validation suite, which will help with quality control and will be a simple way to demonstrate how the language works.

It’s clear that I am going to miss my end-of-year goal, which was to have strings, basic math, objects, file I/O, and shell-exec capabilities working. I still think that’s a reasonably minimal definition of a working language, but at the current somewhat contemplative pace I’m not going to have it done January 1st.

I can still get the source code online, however. I’m increasingly comfortable with the idea of releasing the compiler code under GPL, and the runtime/standard-library code under the MIT/simplified BSD license. It almost certainly isn’t going to matter much, but it’s so hard to change licenses later that I want to get this right up front.

The source control system will almost certainly be Git. I’ve been using SVN but I don’t think it makes sense for a public project. I’d rather host the repository myself, but I may end up using github just because it’s easy.

Aaron B. has ported the compiler shell to Windows. It’s great to see support for a new platform showing up. The code isn’t polished yet – depends on hard-coded paths to MinGW – but it’s a great start and I’m sure it’ll improve rapidly.

Joe R. has been working on LLVM integration; he’s started an alternate backend that emits LLVM code instead of C source code. It’ll be nice not to depend on gcc.


One Comment on “Update”

  1. 1 arc said at 23:05 on December 21st, 2009:

    What about using the LGPL for the libraries? That’s what it’s there for, after all :]