[Haskell-cafe] Cannot update a field in a record with a polymorphic type.
kindaro at gmail.com
Thu Sep 10 06:45:45 UTC 2020
Thank you all kind folks who responded.
I think a leap of reasoning has occurred and I would like to ask you
all to slow down and notice it.
Record update is special syntax.
It is not a function. It is not as general as a function. It is not
perceived nor written as a function. Ain't no lambda in it.
You may say that it desugars to a function. But as a user of the
language, I am unconcerned: desugar another way then!
Surely a function of type `C α ⇒ Y α → Y String` may assign different
strings to `y`, by consulting methods of `C`. But a record update
cannot! Neither the value `y₀` nor the type variable α are ever in the
scope of the update expression.
More information about the Haskell-Cafe