Themenvorschläge

Lukas Epple edited this page Sep 10, 2015 · 38 revisions

Einführende Themen

  • Erklärung von Typsignaturen & Currying
  • Basic IO, Kommandozeile, Stringbearbeitung
  • Monaden aus mehreren Blickwinkeln erklärt
  • Vorstellung von verschiedenen grundlegenden Monaden anhand von Beispielen
  • Einfaches Parsing mit Parsec (@iblech)
  • JSON mit Aeson (@timjb)
  • Testen mit QuickCheck (@timjb)
  • MemoTrie

Fortgeschrittene Themen

  • Monadentransformatoren
  • Arrows
  • Applicative
  • Kombinatoren an verschiedenen Beispielen
  • Eigene Monaden/Monoide bauen und die Einhaltung der Gesetze überprüfen
  • Logikprogrammierung
  • Der Aufbau von GHC (Überblick)
  • Paketverwaltung mit Nix
  • GUIprogrammierung
  • Grafikprogrammierung
  • Was sind abhängige Typen und wofür sind sie gut? (Mit Beispielen in Idris und/oder Agda) (@timjb)
  • Wofür kann man existentielle Typen einsetzen? (erklärt anhand der Implementierung von optparse-applicative) (@timjb)
  • Stream-orientierte Programmierung mit "pipes" (@timjb)
  • Lenses: Getter und Setter in Haskell (@timjb)
  • Webprogrammierung auf dem Client mit GHCJS (@timjb)
  • Liquid Haskell (@timjb)
  • Netzwerkprogrammierung
  • Threading/Concurrency
  • Yoneda / Coyoneda (@iblech)
  • Zipper
  • Abgefahrene Programmierung auf Typebene nach Oleg (@iblech)
  • hlint, pointfree, ...
  • Komonaden. Zum Beispiel für Spreadsheets. https://www.youtube.com/watch?v=F7F-BzOB670 (@iblech)

Vorstellen bekannter Haskell-Projekte

Codereadings

  • Man kann sehr viel aus dem Quelltext von Vinyl lernen
  • @timjb kann erklären, wie er in diagrams-rubiks-cube Lens benutzt hat, um frickeligen und fehlerhaften Code zu vermeiden
  • Reroute: GADTs, DataKinds, TypeFamilies und dynamische Typisierung in Haskell

Theoretischere Themen

Nicht FP oder Haskell

  • Wie funktionieren Brettspiel-AIs? Ich fände es cool, gemeinsam eine Schach-AI zu sezieren. (Ich will irgendwann mal eine gute AI für Halma entwickeln. Gut definiere ich als "schlägt mich in >= 50% aller Spiele". @MatthiasHu hat schon eine erste naive AI für meine Halma-Implementation in Haskell geschrieben. Vielleicht finden sich ja weitere Mitstreiter?) -- @timjb
  • Automatic Differentiation

Lisp

  • Scheme
  • Common Lisp (als Rückblick auf das verlassene Schiff) (@lukasepple)
  • Lisp-Geschichte und -Philosphien (@lukasepple)

Kurzvorträge (5-10min)

Allgemein

  • Live programmieren?
  • Gemeinsames diskutieren von Büchern wie in einer Reading-Group? (Zum Beispiel HoTT)
  • Code Review (in kleinen Gruppen)?
  • Quelltextlesung? in großem oder kleinem Rahmen