Interessanter ist dann schon eher Slate. Zum Einen ist die Implementation frei verfügbar zum Rumspielen, zum Anderen ist die Sprache wenigstens mit einem Konzept auf die Welt gekommen - Smalltalk mit Multimethod-Dispatch ala CLOS und prototyp-basiertem Objektsystem ala Self. Alles aber in klassischer Smalltalk-Syntax. Das ist wenigstens mal eine Vision - machen wir das was Common Lisp schon lange kann mal in Smalltalk.
Wobei ich mich dann aber trotzdem frage, warum nimmt man nicht einfach Common Lisp, bei dem man dann eben nur das prototyp-basierte Objektsystem als Paket dazu bauen muss, aber Makros, Multimethod Dispatch und andere Späße sind schon längst fertig? Programmiersprachendesigner sind Masochisten
Simon Adameit July 14, 2006, 10:04 p.m.
Naja, warum man nicht einfach Common Lisp nimmt...?
Dafür gibts viele Gründe, der Hauptgrund bei Slate wird wohl sein, dass es bei CL eben keine Prototypen mit multiple dispatch gibt... Das ist ja ein eigenes Konzept, was sich nicht so einfach in das Klassen basierte CL Multiple Dispatch einbinden lässt. Ausserdem spricht der Name "Slate" da ja schon für sich, eine Sprache mit neuen Konzepten, die auch gleich aufräumt und eine stdlib darauf aufbaut.
Bei CL hat man ja mehr einen großen Haufen...
Vielleicht hätte man auf irgendeine seltsame Art Prototypen per Metaobjektprotokoll, oder was auch immer einbinden können... bleibt aber nur ein größerer Haufen an Dingen, die nicht so ganz passen
Besonders die Collections, die durchgängig mit Streams arbeiten können, in Slate gefallen mir.
hugo July 17, 2006, 11:46 a.m.
Ähm - also es gibt durchaus Lösungen für Prototyp-basierten multiple Dispatch in CL. Eigentlich ist das ganz einfach: wer sagt, das es Konstrukt X nicht in CL gibt, hat automatisch verloren ... (und seltsam sind die Arten garnicht - dadurch das CL eine programmierbare Programmiersprache ist, ist die Erweiterung recht natürlich)