Schleifen in Scala

Wer mit funktionaler Programmierung beginnt und sich Code-Beispiele anschaut, bemerkt schnell, dass die Code-Beispiele selten for- oder while-Schleifen verwenden. Dieser Artikel beschreibt in Scala, was funktionale Programmierer statt Schleifen verwenden und zeigt dabei, was es mit Endrekursion auf sich hat.

Weiterlesen...

Frege - rein funktionale Programmierung in der JVM

</img>

Die Auswahl an Programmiersprachen für die JVM ist riesig. Auch für funktionale Programmierer wird einiges geboten, von Scala über verschiedene ML-Dialekte bis hin zu Clojure. Die Nische der Haskell-artigen, also rein funktionalen Sprachen mit Bedarfsauswertung (lazy evaluation) und Typinferenz, blieb jedoch bislang unbesetzt, trotz wachsender Beliebtheit von Haskell außerhalb der JVM-Welt. Dies soll sich nun mit der neuen Programmiersprache Frege ändern. Der folgende Artikel soll einführend Idee und Motivation des Projekts vorstellen.

Weiterlesen...

Facebook setzt auf Haskell

Vor kurzem haben wir hier in diesem Blog die Veranstaltung Zurich FP Afternoon vorgestellt. Simon Marlow, einer der Hauptentwickler des weit verbreiteten Glasgow Haskell Compilers und inzwischen bei Facebook beschäftigt, hat auf dieser Veranstaltung einen Überblick über sein aktuelles Projekt Haxl gegeben. Ich möchte hier durch eine Zusammenfassung des Vortrags zeigen, dass inzwischen auch so große Firmen wie Facebook auf funktionale Programmierung setzen, um die Probleme der modernen Softwareentwicklung in den Griff zu bekommen. Die Folien zum Vortrag enthalten alle weiteren technischen Details.

Weiterlesen...

Ist Java 8 eine funktionale Programmiersprache?

Java 8 wird erst 2014 fertig, aber die erste Testversion ist seit kurzem als Early Access Download verfügbar.

Seit längerer Zeit ist auch bekannt, wo der inhaltliche Fokus der neuen Java-Version ist: Im Project Lambda, das endlich funktionale Features in Java integriert. Damit trägt Oracle vor allem der Tatsache Rechnung, dass moderne Multicore-Architekturen in Java nur sehr umständlich zu Höchstleistungen überredet werden können; dazu mehr in einem zukünftigen Artikel. Hier soll es erstmal um das primäre Feature funktionaler Programmiersprachen gehen: die Unterstützung von Funktionen als Objekte erster Klasse.

Weiterlesen...

Haskell FFI

Obwohl für Haskell auf Hackage eine sehr große Menge von Bibliotheken bereit steht, kann es trotzdem vorkommen, dass keine Bibliothek das gewünschte leistet. In manchen Fällen gibt es aber beispielsweise eine C-Bibliothek, die alles geforderte erfüllt. In gewissen Situationen kann auch Performanz ein Grund sein einige Teile eines Programms in C zu entwickeln.Und genau das ist das Thema dieses Blogposts: Von Haskell aus C-Funktionen aufrufen.

Weiterlesen...