Am Rande notiert ...

part-cw/lambdanative. Interessant – eine Cross-Plattform Programmierumgebung mit Zielen auf Android, iOS, OSX, Linux, Windows und BSD. Basierend auf Gambit-C, einem ziemlich guten (und schon recht lange verfügbaren, also auch „erwachsenen“) Scheme Compiler.

Moby ist ein Paket für Racket mit dem man Android Programme erzeugen kann. Integriert in DrRacket hat man auch gleich eine passende IDE in der das meiste auch getestet werden kann. So viel auszuprobieren, so wenig Zeit.

Whalesong: a Racket to JavaScript compiler. Schon lange keinen Link zur besten Scheme Implementation des Netzes gehabt. Ok, Racket nennt sich nicht mehr Scheme, aber Scheme ist noch haufenweise drin. Und jetzt gibt es mit Whalesong ein Backend, das aus dem Racket Code JavaScript produziert – und sogar standalone HTML Files erzeugen kann, die dann einfach im Browser laufen.

What Is Inside A Cat. Ein sehr interessantes Dokument, das die Implementierung von Wraith Scheme sehr detailliert beschreibt, speziell auch die Implementierung der parallelen Prozesse.

dyoo/moby-scheme. Noch eine interessante Sache für Android: ein PLT Scheme (also Racket) Dialekt und eine passende Toolchain um aus Racket Advanced Student Language + World Primitives (ASL ist ein schon recht weit gehender Scheme-Dialekt in Racket und die World Primitives sind für reaktives Programmieren in Scheme) erstellte Anwendungen in JavaScript laufen zu lassen und diese dann zu Androit-Anwendungen zu bündeln. Also Programmierung von Android-Handys in einem reaktiven Scheme-Dialekt. Oder noch kürzer: Klammern für Android.

spock – The Chicken Scheme wiki. Wem Dylan auf JavaScript nicht passt, wie wäre es mit Scheme? Interessant hieran ist die Verbindung zu Chicken Scheme – chicken scheme ist eine der interessanteren Scheme-Implementierungen der letzten Zeit die sich speziell der Integration in normale Systemumgebungen widmet (FFI und einfaches Linken mit C-Libs), von daher lässt das auch ein bischen was von Spock in Bezug auf JavaScript erwarten. Und die dokumentierten Funktionen schauen auch schon recht gut aus – nicht einfach nur eine Spielzeugimplementierung, sondern scheinbar schon eine Menge von Funktionalität.

IronScheme. Interessant – ein Scheme für .NET. Und im Gegensatz zu einigen toten Projekten die ich gefunden habe, scheint hier auch noch was zu passieren. Ok, ich selber tendiere warscheinlich eher zu IronPython, F# oder wenn es Lisp sein soll, Clojure für .NET (davon gibts mitlerweile auch recht aktuelle binäre Pakete zum Ausprobieren, leider wohl derzeit nur Windows, jedenfalls spuckt es unter Mono Fehler aus).

impromptu hatte ich schon in meinem alten Blog, meine ich. Egal, ist gut, darf man ruhig nochmal erwähnen – zumal es jetzt auch mit LLVM basiertem JIT Compiler daher kommt und daher auch für ernsthaftere Sachen interessant wird.

Genau. Wenn man schon sowas langweiliges wie „warum generic functions und nicht single-object-dispatch“ erklären will, dann mit solchen Beispielen:

A short example: Imagine you have a class human which is inherited by a class male and female. Now as we all have an urge to reproduce where to put a method for having sex? Create a method haveSex in the human class, duplicate it in male or female? What would the argument to such a class be? What about having sex with people of the same sex, toys, animals, buildings…

via /dev/random – Random Thoughts On Programming In Parentheses – Coops – An introduction to chicken scheme’s object system.