Ein alter Hut: Conditional Restarts

Viele unserer Blogposts beschäftigen sich damit, wie effektbehaftete Programme beschrieben und getestet werden können. Dabei kommen freie Monaden oder algebraische Effekte zum Einsatz—Effektsysteme sind gerade ein heißes Thema. Common Lisp denkt sich: Das ist ein alter Hut. Denn mit Conditional Restarts ist ein mächtiger Mechanismus zur Abbildung von Effekten im Sprachkern vorhanden. Wir haben diesen in Clojure nachprogrammiert und werden Conditional Restarts in einer zweiteiligen Blogpost-Serie vorstellen. In diesem ersten Teil werden Conditional Restarts erklärt und an Beispielen die praktischen Einsatzmöglichkeiten aufgezeigt.

Weiterlesen...

F# ohne Windows mit Visual Studio Code

In Einstieg in Visual Studio mit F# haben wir im Schnelldurchgang die ersten Schritte im Zusammenhang mit Anwendungen in F# kennen gelernt. Dabei haben wir auf Visual Studio zurückgegriffen und uns somit auf Windows oder MacOS beschränkt.
Mit Visual Studio Code bietet Microsoft hingegen einen plattformunabhängigen Editor an. In diesem Blogpost zeigen wir ähnlich wie im vorherigen Post erste Schritte in F#, diesmal in Visual Studio Code unter einem linuxbasierten Betriebssystem. Dabei erhalten wir auch Einblicke in die Bedienung mit Kommoandozeilentools, die in nahezu gleicherweise unter Windows und MacOS anwendbar sind. Dieser Artikel geht an manchen Stellen weniger ins Detail als Einstieg in Visual Studio mit F#, weshalb wir diesen Blogpost vorab empfehlen. Weiterlesen...

Makros in Clojure - 3 - Das Record-Makro

Nachdem wir in den beiden Blogposts Makros in Clojure und Makros in Clojure - 2 die für die Praxis relevanten Makro-Befehle kennengelernt haben, widmen wir uns in diesem Blogpost einem umfangreichen Beispiel: Wir werden unser eigenes Record-Makro erstellen! Es empfiehlt sich, die vorherigen Beiträge gelesen zu haben.

Weiterlesen...

Einführung in die logische Programmierung mit Microsoft z3

In diesem Artikel werden wir anhand eines kleinen Praxisbeispiels sehen, wie man stark verwobene Probleme gut mithilfe der sogenannten logischen Programmierung in Angriff nehmen kann. Die logische Programmierung erfordert keinerlei algorithmische Überlegungen, sondern reine Problembeschreibungen. Für unser Beispiel übersetzen wir ein typisches Ressourcenplanungsproblem in das SMT-LIB-2-Format und schicken dieses dann an das Programm z3 von Microsoft.

Weiterlesen...

Einstieg in Visual Studio mit F#

F# (F Sharp) ist eine von Microsoft entwickelte funktionale Programmiersprache im .NET-Universum. Die Syntax erinnert sehr stark an OCaml. Microsoft bietet mit Visual Studio eine komplette Entwicklungsumgebung an, die neben F# auch mit vielen weiteren Sprachen zurecht kommt. In diesem Blogpost sehen wir uns erste Schritte im Zusammenspiel von F# mit Visual Studio an und erläutern einige ungewöhnliche Eigenarten. Erklärungen zur Syntax von F# lassen wir weitestgehend außer acht. Dafür verweisen wir auf einen zeitnah erscheinenden Blogartikel zum Kennenlernen von F#.
Weiterlesen...