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)