Tingle is an experiment in programming language design, to support a style of programming that I still have to invent a fancy name for. It is based on classes and objects, but without subclasses or superclasses. It uses classes as unit in mixin-like composition but uses individual methods as unit in scoping.
Tingle encourages separation of concerns, at the price of a rather complex scoping rule. Or to put it differently: spaghetti code can be sorted out at the price of spaghetti scoping. I consider this a step forward though, as the newly introduced complexity is of the kind that a development environment can help the programmer cope with. The questions "where was this variable defined" or "what methods are in scope here" are much easier to answer than "what is this method doing here, anyway ?"
The current prototype interpreter is quite sturdy and can serve to demonstrate all the ideas behind the language, but lacks all kinds of features that are needed to write real useful programs. The accompanying documentation should however have reached comprehensibility.
Download the complete package here. Two documentation files from the package are also linked to separately for your casual browsing pleasure: