Computational Logic
Department of Computer Science - Universität Innsbruck
  • Home
  • Research
    • Publications
    • Projects
    • Software
  • Teaching
  • Members
    • Aart Middeldorp
      • Edited Books
  • Events
    • Event Archive
  • News
    • News Archive
  1. You are here:  
  2. Home
  3. Teaching
  4. WS 2025 / 2026

Advanced Functional Programming

Bachelor Program

VU3 - WS 2025/2026 - 703139


This course will cover the following topics: types and type-inference, functors and monads, parsing, error handling, concurrency, profiling, functional data structures and algorithms, etc.

Language: English | Literature: See slides | Prerequisites: Basic knowledge of functional programming 

 

Slides and Haskell-Sources

Week Date Topics Slides Sources
01 08.10 Organisation and Introduction, Strict- and Lazy-Evaluation    
02 15.10 Type-Checking and Type-Inference    
03 22.10 Type-Inference in Haskell, Kinds and Explicit Foralls    
04 29.10 Functor, Record Syntax, Case Study: A Simple Parser    
05 05.11 Monads in General, State Monads    
06 12.11 Evaluation of Monadic Code, Example: Tseitin, Error Monads    
07 19.11 Parsing in General, Parsec    
08 26.11 Backtracking during Parsing, Applicative Functors, Monad Transformers    
09 03.12 System Programming, Exceptions    
10 10.12 Introduction to Parallelism and Concurrency    
11 07.01 Concurrent Channels, Asynchronous Actions, Cancellations and Timeouts    
12 14.01 Profiling, Efficient Data Structures    
13 21.01 Q & A    
14 28.01 Exam    
 
Evaluation

The course will be graded based on weakly exercises (50 %) and based on a final exam (50 %). It is not required to obtain positive grades in both parts.

The exam will consist of programming exercises (on paper) and non-programming exercises.
For the programming exercises, you do not have to learn all Haskell documentation pages by heart. In particular, in the exam no names of imports will be required. It is planned that several functions—that should be used in the exam—are explicitly stated (by their name and sometypes by their type).

Feedback

From this page you can send anonymous feedback. 'Anonymous' means that we cannot identify the sender of the message – therefore, do not use feedback to ask questions for which you would like a direct answer.

Teaching - Winter 2025/2026


Bachelor Program

Course numberType/hoursSemesterTitle
703139 VU3 WS 2025 / 2026 Advanced Functional Programming
703024 + 703025 VO2 + PS1 WS 2025 / 2026 Functional Programming
703145 VU3 WS 2025 / 2026 Introduction to Complexity Theory
Master Program

Course numberType/hoursSemesterTitle
703302 + 703303 VO2 + PS2 WS 2025 / 2026 Automata and Logic
703352 VU3 WS 2025 / 2026 Selected Topics in Term Rewriting

 

 

© 2025 Computational Logic

g48
  • Contact
  • Data and Privacy
  • Something
  • FAQs
  • About