Vorbemerkungen
Ein Votum für die funktionale Programmierung
Wo wird die funktionale Programmierung überhaupt eingesetzt?
Hinweise zur Funktionalen Programmierung mit Haskell
- Laden Sie am besten WinHugs2Go (2006 - Windows, im Anhang) herunter. Nach Entpacken starten Sie die winhugs.exe Datei.
Alternativ - wenn die entpackte Version nicht out of the box funktioniert - können Sie eine Installation unter Windows (WinHugs Installation im Anhang) versuchen. Oft gibt es dabei Probleme mit der (alten) .chm Hilfe-Datei. Bei einer Installation sicherheitshalber im Installationsdialog den Haken bei "Run programm after installation" entfernen. Falls es dennoch Probleme mit der Installation gibt, die Installationsdatei in den Kompatibilitätsmodus auf Windows XP (Service Pack 3) stellen und/oder probeweise imInstallations-Dialog die beiden weitern Haken entfernen. - WinHugs (Sep 2006, Haskell 98 Standard) ist unsere Referenzversion für den Unterricht und auch um zu Hause zu arbeiten. Auf der WinHugs-Seite gibt es weitere Versionen für andere Betriebssysteme. Allerdings wird dringend dazu geraten, die Windows-Version zu benutzen. Um Windows-Programme auf dem MAC auszuführen gab es mal Play On Mac. Dies funktioniert auf einem neueren MacOS nicht mehr. Dafür empfiehlt sich jetzt Porting Kit, um (auch 32bit-)Windows Programme auf dem Mac auszuführen. Damit sollte die Installation von WinHugs möglich sein. Eine Installation auf einem (M1-)Mac mit Monterey war jedenfalls schon erfolgreich . Porting Kit sollte auch unter LINUX funktionieren und damit das ältere Play On Linux ablösen. Die Mac bzw. LINUX Lösungen bieten eine leicht zu konfigurierende Wine-Installation (Windows-Emulator) an. Darunter läuft WinHugs (Windows) im Grunde problemlos.
NEUE Hinweise für MAC-Benutzer: nach dem Upgrade auf Mac OS Catalina (10.15) lässt sich "Play on Mac" nicht mehr betreiben, da es als 32-bit Programm nicht mehr akzeptiert wird. Deshalb kann auch, wenn die obige Variante nicht funktioniert oder gewünscht wird, über das Terminal Hugs98 installiert werden (link führt zur englischen Installationsanleitung von Hugs98 unter OSX mit homebrew).
Installieren Sie WinHugs auf ihrem Rechner zu Hause. Wenn Sie in der Schule arbeiten, starten Sie WinHugs dort normalerweise im Startmenü im Ordner Programmieren oder über Eingabe ins Suchfeld.
Falls alle Stricke reißen und Sie zu Hause keine Möglichkeit haben, WinHugs oder Hugs zu istallieren, können diese Workarounds helfen:- Arbeiten mit dem Haskell-Interpreter online bei repl.it (Unsicher - da abhängig von Server-Verfügbarkeit, ständige Internet-Verbindung notwendig!)
- Arbeiten mit dem Haskell-Interpreter (GHCi) unter Windows/MAC/LINUX (Kommandozeile / Eingabeaufforderung)
- Ein Arbeiten mit Visual Studio Code ist zwar nicht einfach einzurichten, sollte allerdings mit einer GHC-Installation und der Erweiterung Integrated Haskell Shell problemlos und relativ komfortabel funktionieren. Gegebenfalls müssen noch einige weitere Erweiterungen in Visual Studio Code installiert werden.
Aufgabenbereich
- Laden Sie die ZIP-Datei des Skriptes zur Funktionalen Programmierung mit Haskell (im Anhang) und entpacken Sie dieses. Aus urheberrechtlichen Gründen ist die ZIP-Datei verschlüsselt. Das Passwort ist unsere Raumnummer in dem wir normalerweise Unterricht haben, als Zahlwort, ohne "und", kleingeschrieben.
Das Skript benutzen wir zusätzlich zum Unterricht. Es dient als Nachschlagewerk, zum Selbststudium und zum Teil auch als Aufgabensammlung. - Arbeiten Sie die Einführung in Haskell (im Anhang) durch.
Wenn veröffentlicht:Arbeiten Sie die Aufgaben zur Einführung (im Anhang) durch.- Arithmetische und logische Operationen in Haskell (vgl. Unterricht)
- Pattern Matching Einführung mit Beispiel nand (vgl. Unterricht)
Wenn veröffentlicht:Aufgabenblatt 1 (im Anhang)Wenn veröffentlicht:Tupel in Haskell (mit Aufgaben zum Bruch) - im Anhang. Kgv und ggt unter Materialsammlung.- Rekursion (1): Seite 18, ohne Kap. 4.5, sowie in Kurzfassung zum Einstieg auf der Haskell-Rekursion-Seite
- Zur eigenen Übung (je nach eigenem Kenntnis- und Wissenstand): Skript S. 20ff, Kap. 4.6 Übungen
Wenn veröffentlicht:Listen in Haskell - Überblick (im Anhang)Wenn veröffentlicht:Listen in Haskell - Listengenerator (im Anhang)Wenn veröffentlicht: Die weiterführenden Aufgaben zu Listen (im Anhang)- Wenn veröffentlicht: Weiter mit dem Thema Rekursion
Materialsammlung (PDF-Dateien) - zum Teil Ausgabe im Unterricht
- Haskell-Skript (im Anhang)
- Aufbau einer Funktionsdefinition in Haskell
- kgv und ggt mit Haskell (ZIP-Datei enthält nach Entpacken eine .hs Datei)
Anhang | Größe |
---|---|
![]() | 13.25 MB |
![]() | 13.6 MB |
![]() | 1.17 MB |
![]() | 144.41 KB |
![]() | 117.98 KB |
![]() | 152.38 KB |
![]() | 153.72 KB |
![]() | 210.61 KB |
![]() | 164.86 KB |
![]() | 93.14 KB |
![]() | 344 Bytes |