Severing Ties: The Need for Non-Updateable Thunks
Offered By: ACM SIGPLAN via YouTube
Course Description
Overview
Explore the concept of non-updateable thunks in Haskell programming through this conference talk from HIW'23. Delve into the differences between call-by-name evaluation and lazy evaluation, focusing on their impact on memory management and performance. Examine how certain data structures in Haskell, particularly streaming abstractions, can lead to memory leaks and inefficient garbage collection due to accidental sharing and thunk allocation. Learn about the dupIO package as a potential solution for creating non-updateable thunks, which can sever ties between instructions and prevent linked list formation. Understand the implications of this approach for improving memory efficiency and reducing the need for major garbage collection in large applications. Consider the broader implications of this low-level solution and the potential for more fundamental approaches to addressing these issues in Haskell programming.
Syllabus
[HIW'23] Severing ties: the need for non-updateable thunks
Taught by
ACM SIGPLAN
Related Courses
Java Programming: Step by Step from A to ZUdemy Java Application Performance Tuning and Memory Management
Udemy ASP.NET Core New Features
LinkedIn Learning First Look: Java 10 and Java 11
LinkedIn Learning Java Essential Training: Syntax and Structure
LinkedIn Learning