Scarlet is a dynamic programming language similar to Ruby or Smalltalk. Its features include garbage collection, closures, support for design by contract, exceptions, reflection, etc. The major goal for Scarlet is to make it as easy as possible to create large applications using a ComponentBasedProgramming model. The Scarlet homepage is at http://scarlet.sourceforge.net/Home.html Here are some of the more noteworthy aspects of Scarlet: * ScarletObjectModel * LexicalClosure's * CustomMetaData * ScarletProperties * more to come --JesseJones ---- ''Is Scarlet a PrototypeBasedLanguage?'' Actually, I think it is. The Scarlet library provides a variety of useful objects packaged up into a nice form. Most of these are used as is but some such as the Application object or the Globals object are commonly extended. It's also not uncommon to create new types based on those in the standard library. For example, the compiler creates a *Symbol* object (the asterisks are part of the name) based on the *String* object. However unlike the SelfLanguage (I think) Scarlet treats implementations as black boxes: you can't affect their inner workings without resorting to reflection or back-doors provided by the implementation. ---- CategoryProgrammingLanguage CategoryComponents