3 ms·
Haskell's type-level programming is pretty strong, and so if you're willing to use some language extensions you can get let newRecord = oldRecord & #token
by lalaithion 5y ago
Haskell's type-level programming is pretty strong, and so if you're willing to use some language extensions you can get
let newRecord = oldRecord & #token .~ token
as seen in https://hackage.haskell.org/package/row-types https://hackage.haskell.org/package/row-types
The syntax isn't great, admittedly, but if you're willing to write a template haskell macro you could probably get something like
let newRecord = [json| oldRecord with token = token |]
working.