Material
Material und Nachrichten zur Vorlesung
- FFP 01: Einführung in Haskell
- Organisation, Grundlagen funktionaler Programmierung, Grundlagen Haskell, SML vs Haskell
- FFP 02: Polymorphismus
- Typklassen, Funktoren, Kinds und Module
- FFP 03: Laziness & Zirkularität
- Verzögerte Auswertung, Striktheit, Zirkularität
- K03: sumWith
- Beispiel zur Verwendung expliziter Striktheits-Annotationen
- K03: splitAt_LazyMatch
- Beispiel zur Verwendung explizit fauler Mustervergleiche (~ Patterns).
- FFP 04: Applikative Funktoren & Monaden
- Applikative Funktoren, Monaden, Do-Notation, Zustands-Monaden, Monad Transformer, IO
- Zustands-Monade zu Fuss
- In der Vorlesung am 23.05.2017 haben wir schrittweise Monade für Berechnungen-in-einem-veränderlichen-Kontext von Grund auf aufgebaut. Dies ist das kommentierte Ergebnis. (Hinweis: Nächste Vorlesung sehen wir uns an, wie wir dies mit Bibliotheksfunktionen schneller erreichen.)
- FFP 05: Records
- Record-Syntax in GHC (Kurzes Kapitel)
- FFP 06: Parallele Auswertung
- Beschleunigung einer deterministischen Berechnung durch parallele Auswertung auf mehreren Kernen.
- Abschlussprojekt Informationen
- Informationen zu Anmeldung und Durchführung des Abschlussprojektes zur FFP
- FFP 07: Ausnahmen & Nebeläufigkeit
- Ausnahmebehandlung in Haskell; Nebenläufigkeit in Haskell mit Control.Concurrent und MVars; Async Schnittstelle; Software Transactional Memory (STM)
- FFP 08: Yesod
- Spracherweiterungen: OverloadedStrings, MultiParameterTypeClasses,FunctionalDependencies,TypeFamilies,GADTs,ViewPatterns,TemplateHaskell,QuasiQuoting; Yesod Web Development Framework, Persist
- Code Type Families
- Code aus der Vorlesung zu Type Families und Overloaded Strings
- Yesod Beispiele
- Code Beispiele zum 2.Teil der Vorlesung über Yesod
- FFP 09: Testen
- Profiling, Debugging und Testen; QuickCheck
Artikelaktionen