Das wird heiß

Makarius

Das Treffen für Haskellistas, Scalafisten, Lambdroiden und andere funktionale, kohlenstoffbasierte Lebensformen in Augsburg!

Der Curry Club soll Treffpunkt sein, um Konzepte und Ansätze, Praktisches und Abstraktes, Purität und Effekte, Faulheit und Striktheit, Monaden und Monoide und sonst auch wirklich alles passende zu diskutieren.

Die Idee, einen funktionalen Stammtisch zu gründen, kam auf der ersten Augsburger Nerdnacht auf.

Wir treffen uns im vierwöchigen Turnus, das nächste Mal am

Donnerstag, den 24.01.2019, 19:00 Uhr MEZ.

Im Anschluss ans Treffen gehen wir für gewöhnlich im Sangam gemeinsam essen.

In einem Wiki sammeln wir Themenvorschläge.

libgccjit und libjit

Marc trägt über libgccjit vor, Jakob nerdet auf libjit ab.

Was es mit libgccjit auf sich hat?

Auch Implementiererinnen funktionaler Programmiersprachen stehen am Ende vor dem Problem, Programme in (effizienten) Maschinencode übersetzen zu müssen.

Die GCC kann das schon (und zwar für ziemlich viele Architekturen), warum das Rad also zweimal erfinden und nicht auf den GCC aufsetzen?

Dank der Bibliothek libgccjit von David Malcolm, die seit GCC 5.1 offizieller Bestandteil des GCC-Projektes ist, ist es einfach geworden, den GCC als AOT- oder JIT-Compiler-Backend in eigene Programme einzubinden.

Im Vortrag stellt Marc die Bibliothek vor. Wir werden so etwas über die Erzeugung von Maschinencode lernen und einen Blick auf die GCC-Interna werfen.

Daran anschließen könnte natürlich ein gemeinsames Projekt, einen rudimentären Compiler für eine rudimentäre (funktionale) Programmiersprache zu schreiben.

Was es mit libjit auf sich hat? Das ist auch von GNU, aber wurde von Anfang an für JIT-Kompilierung geschrieben. Ursprünglich als JIT-Backend für dotGNU (die .NET-CLR von GNU) wird es inzwischen als eigenständige Bibliothek weiterentwickelt.

Das Vorurteil gegenüber zu JIT umgebauten Offline-Compilern ist ja, dass sie zu viel Zeit zum Kompilieren verwenden (zum Beispiel mit schweren Optimierungen) – selbst bei Code, der nur ein oder wenige Male ausgeführt wird. Ein hastig zusammengebastelter Brainfuck-JIT-Compiler mit dieser Bibliothek (in weniger als 100 Zeilen) produziert zugegebenermaßen nicht so guten Code wie libgccjit; dem Vorurteil gemäß könnte er, die Kompilierzeit addiert, dennoch schneller sein.

Du schreibst ein cooles Haskell-Projekt, hast eine tolle neue funktionale Programmiersprache entdeckt, oder verstehst endlich, wie SchachGo-AIs funktionieren? Dann halte einen Vortrag! Die Organisation geht über unsere Mailingliste.

Kurzvorträge (< 10 min) können auch unangekündigt gehalten werden, in Absprache mit der jeweiligen Organisatorin.

Treffen & Veranstaltungen

Blog