External Publication
Visit Post

Would keyword arguments conflict with currying in Haskell?

Haskell Community [Unofficial] April 8, 2026
Source
Hi all, I was thinking about keyword arguments (like in Python) and why Haskell doesn’t support them. It seems that keyword arguments could improve readability at the call site, especially when multiple parameters have similar types. However, Haskell relies heavily on currying and partial application, where functions are applied one argument at a time. So my question is: Would adding keyword arguments conflict with currying in Haskell? For example, how would partial application work if arguments could be passed out of order or by name? Is this one of the main reasons Haskell avoids keyword arguments, or are there deeper design considerations? Also, are records essentially the intended alternative here? Thanks!

Discussion in the ATmosphere

Loading comments...