Fortgeschrittene Funktionale Programmierung, Wintersemester 2015/16
Voraussetzung:
Exkursion:
 HaL10
Materialien:
- Folien vom 21.10.
 
- Folien vom 04.11. und 06.11, Puzzle.hs
 
- Folien vom 11.11. und 13.11, Handytasten.hs, Sequence.hs, Combinators.hs, Tables.hs
 
- Folien vom 20.11. und 25.11., Tree1.hs, Alpen.hs, Vector.hs, Tree2.hs
 
- Folien von Andres Löh, verwendet am 27.11.
 
- Folien vom 09.12., Evaluator.hs, Counting_Evaluator.hs, Logging_Evaluator.hs, Guessing_Evaluator.hs
 
- Folien vom 11.12. und 18.12.
 
- Elm-Tutorium
 
- Folien vom 08.01.
 
- Folien vom 13.01.
 
... und, insbesondere Übungen, auf 
eCampus
Studierenden-Projekte:
Die Ergebnisse einiger Elm-Projekte von Studierenden zum Abschluss des Semesters:
Literatur / zum Weiterlesen:
- Why Functional Programming Matters, article by John Hughes (arguing the case of higher-order functions and lazy evaluation as means for improved modularity)
 
- Using Circular Programs to Eliminate Multiple Traversals of Data, article by Richard Bird (wenn in Uni-Netz eingeloggt, kostenfrei aufrufbar)
 
- Haskell-Wiki, zur Verwendung von seq
 
- Purely Functional Data Structures, PhD thesis by Chris Okasaki
 
- QuickCheck-Folien von Andres Löh
 
- Random Testing of Purely Functional Abstract Datatypes: Guidelines for Dealing with Operation Invariance, article by Stefan Holdermans (wenn in Uni-Netz eingeloggt, kostenfrei aufrufbar)
 
- Automatic Testing of Operation Invariance, article based on Tobias Gödderz's Diploma thesis
 
- Algebraic Dynamic Programming homepage (Uni Bielefeld)
 
- Haskell-Wiki, zu GADTs
 
- Less Is More - Generic Programming Theory and Practice, PhD thesis by José Pedro Magalhães
 
- Monads for functional programming, tutorial by Philip Wadler (wenn in Uni-Netz eingeloggt, kostenfrei aufrufbar)
 
- State in Haskell, article by John Launchbury and Simon Peyton Jones (wenn in Uni-Netz eingeloggt, kostenfrei aufrufbar)
 
- A natural semantics for lazy evaluation, article by John Launchbury (wenn in Uni-Netz eingeloggt, kostenfrei aufrufbar)
 
Online-Ressourcen:
- Haskell homepage
 
- Elm homepage
 
- Anleitungen zur Installation von Elm
 
- Get Started with Elm
 
- The Elm Architecture Tutorial
 
- Functional Programming Fundamentals, online lectures by Erik Meijer (based on the Programming in Haskell book by Graham Hutton):
  chapter 1,
  chapter 2,
  chapter 3,
  chapter 4,
  chapter 5,
  chapter 6,
  chapter 7,
  chapter 8,
  chapter 9,
  chapter 10,
  chapter 11,
  chapter 12,
  chapter 13
 
- Advanced Functional Programming, online lectures by Ralf Lämmel: lecture 1, lecture 2, lecture 3, lecture 4, lecture 5
 
- Real World Haskell, book by Bryan O'Sullivan, Don Stewart, and John Goerzen, freely available online
 
- Automatic generation of free theorems, online generator (implementation described here)