Unterlagen

Die Videos zur Vorlesung finden sich jeweils hier: https://cloud.uni-jena.de/s/QowbJYK3dZGRaHe

Tag Slides Code Notes
2023-10-19 Slides    
2023-10-26 Slides Code  
2023-11-02 Slides Code List comprehensions and Fibonacci
      Hausaufgabe zum Parsing. Beschreibung und Hilfsfunktionen im Code
2023-11-09 Token Parsing Code - token  
2023-11-16 Monadic Parsing Code - monadic Vorlesungsvideos verfügbar
    Hausaufgaben zum 23. Die Hausaufgaben finden sich ab Zeile 417 im Link links
2023-11-23 Monadic Parsing Code “Deep dive” in Monaden, Parsing, eure Fragen, und die Lösungen zu den Hausaufgaben
2023-11-30 Rush hour Intro   Einführung zum Spiel Rush hour. Video in der uni jena cloud
2023-12-04 Rush hour hints   Hinweise zu Datenstrukturen die man in Rushhour nutzen kann
2023-12-04 Monad transformer Code Monad transfomer Code und Slides. Video in der Uni Jena Cloud
2023-12-04 Typfamilien Code Typfamilien und ein bischen Typlevel-Programmierung
2023-12-07   Code Minibeispiel zu den Funktionen (.) und ($) zur Funktionskomposition
2024-01-03   Rushhour - Vorlesung Beginn der Rushhour-Implementation “live” in der Vorlesung
2024-01-03   Rushhour - Choener Meine Implementation von rushhour
2024-01-06 Rekursion Rekursion Video in der Cloud
2024-01-18 Arrays Array Kurz-Intro zu Haskell-Arrays, Video in der Cloud
2024-01-18 Streams streams Stream fusion, Video in der Cloud
2024-01-18 Hausaufgabe …   Siehe unten zu “Hausaufgabe Streams”
2024-01-24 Lambda Calculus   Tutorial Intro to Lambda Calculus: https://arxiv.org/abs/1503.09060
2024-02-01 Zusammenfassung   Zusammenfassung der Vorlesung

2024-01-18, Hausaufgabe Streams

Unter Data.List finden sich die wichtigsten Funktionen auf Haskell-Listen.

Folgende Funktionen sind interessant: (++), length, map, foldl', scanl', unfoldr, lookup, zip.

  1. Versteht was jede einzelne Funktion tut. Basierend auf ihrem Typ, der Beschreibung, und dem jeweiligem Beispiel.
  2. Lest nicht den Source code, auch nicht den vom “vector” package.
  3. Implementiert die entsprechenden Funktionen basierend auf streams wie es oben zur Verfügung steht.

Hinweis: der Constraint HasCallStack kann ignoriert werden.

Bitte beachtet, dass die Unterlagen nur begleitend zur VL sind, ich erkläre viel an der Tafel und am Code, Selbststudium mit den Folien ist schwer bis unmöglich

Lernmaterial für Haskell