The Mud Puddle

Home of Jon "evincarofautumn" Purdy

A New Language

All right, I've got a new language planned for 2007, and this time I'm going to finish it! (Why doesn't that sound convincing yet? ^_^)

I finally have all the requisite knowledge and skills to do this in a reasonable amount of time by myself, so I thought I'd do it for both the fun, learning experience, and community value of it. The basic tenets of this language, named Sol ("Simple Objective Language") are that it should be:

  • Lightweight (with a very small executable size)
  • Interpreted (i.e. read, tokenised, lexed, parsed, and evaluated at execution time)
  • Easy-to-use (with sane-yet-still-useful magical symbolic operators)
  • Powerful (capable of any task already assigned to existing programming languages)
  • Fast (quick-to-load, quick-to-execute, and quick-to-exit)
  • Safe (with varying degrees of highly-specific security options and exception handling)
  • Sexy (because what's a language that isn't beautiful?)

Note: Since I've already started making this, it's already under license, and that license is the GPL.

Lightweight

The interpreter will be made in C++ making heavy use of the Standard Template Library to save space; ideally, the executable will be below 1MB in size. The language will be extended through both dynamically-loaded libraries and "packages" written in Sol.

Interpreted

The function of the interpreter is to open a Sol source file, split the stream of characters therein into raw tokens. These raw tokens are parsed for grammatical function and passed on as fully-fledged tokens to the parser, which determines their relationship to surrounding tokens and produces a parse tree. This tree is evaluated to produce the final execution of the Sol program.

Easy-to-use

The language will use intuitively-organised symbolic operators and a few English-based keywords that will be subject to a friendly, built-in internationalisation system.

Powerful

With a rich standard library and a decent core, any language can be as powerful as the giants.

Fast

The Sol interpreter will make heavy use of the STL to get things done and done quickly, with speed comparable to existing interpreted languages.

Safe

With a built-in access system that restricts or allows access to different classes of objects at different points during runtime and rich exception-handling support, Sol should be one of the safest--yet still most nonrestrictive--languages in existence.

Sexy

You will crap your pants with glee when you see the syntax. ^_^


If anyone wants to help with this project, I'd be glad to accept ideas, feedback on early releases, help writing a standard library, etc. All contributors will of course receive due credit. I'll organise and post a bunch of ideas in various wiki entries and index them on the main page for those interested.