A Scripting Language
SourceForge Logo

About
Kozmo Home

Projects using Kozmo
TankWar
Trident Rising
eMeme

Documentation
Kozmo Users Guide
Embedding Kozmo
API Reference

Downloads

  Welcome to the Kozmo web pages. Kozmo is an embedded scripting language originally designed for use with the eMeme project but since updated to be a general purpose scripting language used in a number of projects.

The advantages of Kozmo over other scripting languages is portability (currently Kozmo supports the POSIX and WIN32 platforms, work is ongoing to support BeOS (aka BeIA) as well), size (Kozmo is very small) and speed of execution (since Kozmo has been chosen to be the language of choice for a number of games (TankWar and Trident Rising) as part of the Simple Game Engine a lot of work has gone into performance issues) it is a quite a viable alternative as a simple embedded scripting language.

Kozmo does not try to be the be-all and end-all of languages, there is currently no support for objects (and no plans to add such support), no support for loading external extensions (apart from those provided by the hosting application) and a very simple parse, evaluate, execute sequence.

So why would you want a language like Kozmo? Well, if you are like me you are looking for a small language that is easy to embed with a minimum of dependencies and can be supported across multiple platforms with a minimum of effort involved. The primary goal of Kozmo was that it could be easily embedded in an application without any external references (or potential compatibility problems).

During my evaluation of embedded languages I looked at TCL, Python, PERL and JScript (aka ECMAScript) - all of these languages required external support libraries that I was unwilling (and in some cases unable) to support. My goal was to deliver applications without a large list of URL's to required support libraries. Kozmo can be compiled and used as a dynamic library shared between applications but is small enough to be staticly linked to your application without too much overhead.

Kozmo is a Threaded Interpreted Language, with the simplicity (and confusing syntax) implicit with that type of language. The people I have introduced to Kozmo so far (admittedly all in the IT area) have had no problems with getting up to speed with the language - a complete non-programmer may have some problems though (although they would not be trying to come to grips with the differences between a stack based and a structured language - this would probably be an interesting study actually, wonder how Chuck Moore would feel about it? <G>).

Copyright © 2001, Shane Gough. All Rights Reserved