Dockerimage für GHC7.8 und GHC7.6

Ich habe heute ein Dockerfile für GHC7.8 bzw. GHC7.6 mit Cabal 1.20.0.1 auf Ubuntu 14.04 (LTS) geschrieben. Die Dockerfiles selbst liegen auf Github und die Images werden per „trusted builds“ automatisch ins Docker Index hochgeladen (GHC7.8, GHC7.6).

Aufbauend auf diesem Image kann man nun zum Beispiel Dockerfiles für seine eigenen Haskell-Projekte schreiben. Ich zeige das kurz an einem Beispiel, dem funblog.

Das Image kann man dann mit

bauen, wobei man eine Datei blogConfiguration.cfg im gleichen Verzeichnis benötigt. (Vorlage dafür ist auf github) Danach kann man den Blog mit

starten und unter

aufrufen.

 

GHC 7.6.3 auf Ubuntu 12.04 installieren

Eine Kurzanleitung für’s installieren von GHC-7.6.3, cabal und darcs auf Ubuntu 12.04 (64-Bit):

Zunächst der GHC:

Dann cabal:

Dann in der .cabal/config die Zeile „jobs“ auskommentieren.

Dann noch darcs:

 

Delta Debugging Minimierung mit Haskell

Hier eine Implementierung eines Minimierungsalgorythmus für Delta Debugging in Haskell:

 

RC4 Haskell und JavaScript

RC4 in JavaScript: (Quelle)

RC4 in Haskell:

 

GHC 7.6 auf Mac OSX Lion installieren

Heute musste ich mal wieder GHC 7.6 und cabal-install auf eine Mac installieren. Ich möchte hier nur kurz meine Vorgehensweise dokumentieren:

GHC installieren

Folgende Befehle laden und installieren GHC:

Hinweis: Möchte man ein eigenes Ziel-Directory für die GHC-Binaries wählen, geht das per ./configure --prefix=(hier der pfad)

cabal-install installieren

Folgende Befehle laden und installieren cabal-install (1.16.0)

 

Haskell: Multiplikatives Inverse in einem Restklassenring

Das multiplikative Inverse einer Restklasse in einem Restklassenring kann man in Haskell mit folgendem Snippet berrechnen:

Beispiel: Das multiplikative Inverse für 8 im Restklassenring Z / 21 Z ist 8.

 

Haskell: Erweiterter euklidischer Algorithmus

Kurzes Snippet: