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
Heterogeneous Parallel ProgrammingUniversity of Illinois at Urbana-Champaign via Coursera Advanced Operating Systems
Georgia Institute of Technology via Udacity 計算機程式設計 (Computer Programming)
National Taiwan University via Coursera Introduction to Operating Systems
Georgia Institute of Technology via Udacity Android Performance
Google via Udacity