Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Lightweight Testing of Persistent Amortized Time Complexity in the Credit Monad

ACM SIGPLAN via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn to test amortized time complexity of persistent data structures through a domain-specific language (DSL) built on QuickCheck in this 28-minute conference presentation from Haskell 2025. Explore how functional programming languages rely heavily on persistent data structures, yet proving their amortized bounds remains challenging due to the complexity of pen-and-paper proofs and the overhead of full mechanization in proof assistants. Discover a strict DSL that provides strong evidence of correctness while maintaining low user overhead, demonstrated through testing all lazy data structures from Okasaki's foundational book. Examine the practical effectiveness of this approach, including the re-discovery of a previously unreported gap in persistent Finger Trees analysis. Gain insights into laziness, lazy constructors, defunctionalization, and QuickCheck testing methodologies as applied to amortized complexity analysis. Access the accompanying research article and supplementary materials including the creditmonad Haskell package to implement these testing techniques in your own persistent data structure development.

Syllabus

[Haskell'25] Lightweight Testing of Persistent Amortized Time Complexity in the Credit Monad

Taught by

ACM SIGPLAN

Reviews

Start your review of Lightweight Testing of Persistent Amortized Time Complexity in the Credit Monad

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.