Google Tech Talk mit Factor Entwickler Slava Pestov.

Auf den ersten Blick sieht der Code ziemlich verwirrend aus, da die Sprache Stack-basiert ist (ähnlich der reverse polish Notation unseres geliebten HP48 Taschenrechners) aber es ist ziemlich erstaunlich, was man damit alles anstellen kann.

Ein kleines Beispiel aus der Dokumentation:

: negative? ( n -- ? ) 0 < ; # Funktionsdefinition
{ -12 10 16 0 -1 -3 -9 } [ negative? ] filter . # Anwenden auf ein Array
{ -12 -1 -3 -9 } # Output

Factor ist sowohl objektorientiert als auch funktional, ziemlich am Anfang des oben erwähnten Techtalks wird das ganze erklärt (also wenigstens mal die ersten Minuten reinschauen!).

Auch sonst hat die Sprache einiges Interessantes zu bieten: beispielsweise sind lokale Variablen nicht Bestandteil der Sprache, sondern stammen aus einer Library. Ausserdem scheint Factor alle möglichen Zeichen für Methoden zu akzeptieren, in der Präsentation kommen vor: :, [, { und sogar ", wobei dies alles nur Methoden sind, die Factor's Parser erweitern. Ziemlich beeindruckend, finde ich. Ausserdem ist der Grossteil von Factor in Factor selbst implementiert, was nur konsequent ist (vergleichbar mit Rubinius in der Ruby-Welt).

Ausserdem sieht die dazugehörige Umgebung sehr mächtig aus: Profiler, Debugger, Inspector, integrierte Hilfe etc. sind vorhanden (Slava ist auch der Entwickler von jEdit).

Wieder eine Sprache mehr, die ich gerne mal genauer anschauen möchte.