{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreidd54c3oa2sasytd6dxqxtyxjbkv4o4z4rbzubldvuini7jkrm5me",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3miy45f2jzo62"
  },
  "path": "/t/would-keyword-arguments-conflict-with-currying-in-haskell/13906#post_1",
  "publishedAt": "2026-04-08T06:19:35.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "Hi all,\n\nI was thinking about keyword arguments (like in Python) and why Haskell doesn’t support them.\n\nIt 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.\n\nSo my question is:\n\nWould adding keyword arguments conflict with currying in Haskell?\n\nFor example, how would partial application work if arguments could be passed out of order or by name?\n\nIs this one of the main reasons Haskell avoids keyword arguments, or are there deeper design considerations?\n\nAlso, are records essentially the intended alternative here?\n\nThanks!",
  "title": "Would keyword arguments conflict with currying in Haskell?"
}