Ich bin heute auf eine Programmiersprache namens Whitespace gestoßen. Im Gegensatz zu den vielen Sprachen, die Leerzeichen etc. einfach ignorieren, bestehen Programme in Whitespace ausschließlich aus Leerzeichen, Tabulatoren und Zeilenumbrüchen. Und doch kann man mit dieser, ähnlich wie Brainfuck, relativ sinnlosen Sprache ziemlich viel machen. Den offiziellen Interpreter gibt’s nur in Haskell und die anderen Implementationen unterstützen nur Version 0.2 der Sprache. Ich wollte Whitespace aber unbedingt mal ausprobieren und habe daher meinen eigenen Whitespace-Interpreter in C# geschrieben. Ich biete ihn kostenlos zum Download an (GPL). Implementiert sind alle Opcodes aus Version 0.3 und die mitgelieferten Beispiele funktionieren auch alle. Trotzdem kann natürlich noch ein Fehler drin sein - wer also einen findet, möge ihn mir bitte mitteilen
Noch eine Anmerkung: Hätte die Stack-Klasse von .NET 1.1 eine PeekAt-Methode oder würde sie direkten Zugriff auf den Speicher erlauben, hätte ich nicht eine neue Stack-Klasse verwenden müssen (die wurde übrigens mit CodeSmith erstellt und durch eine PeekAt-Methode ergänzt).