Hacker News new | comments | show | ask | jobs | submit login

The payoff is in part 3, here, where crntaylor explains how to take the derivative(!) of a type:


You can find a somewhat more mathematical explanation here, with explanations of why this is useful:


The most obvious use for derivative types is the automated creation of "zipper" types for functional data structures. Among other uses, zipper types make certain purely functional data structures much more efficient. This is important both for Haskell and ML programmers, and also in situations where you need to leave older versions of a data structure intact, such as when implementing rollback or creating append-only file formats.

Applications are open for YC Winter 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact