Defer monomorphization for data constructors#4376
Defer monomorphization for data constructors#4376purefunctor merged 3 commits intopurescript:masterfrom
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
e23ccb4 to
bb976a0
Compare
|
This PR hasn't gotten much conversation yet, so I guess I'll stop waiting for someone else to ask smart questions and instead start asking stupid questions. Why do we want this? Is it just to make the implementation of #4235 easier or simpler, or does it fix an independent issue? What exactly is happening here? The changelog indicates that the inferred type of Are there downsides or is there an argument that this is unambiguously what we should have been doing all along? |
|
The issue in the VTA context was briefly mentioned here: The issue is that the re-generalization would discard the VTA information, even though the constructors supported VTA by definition. |
|
Sure, but would we still want this change in the (probably counterfactual) world where we decide not to implement VTA? If so, why; if not, what consequences does this have for things that are not related to VTA? |
Description of the change
Related to #4235. This defers the monomorphization of data constructors introduced by #835. As such, constructors now infer to their "true" type, instead of having to go through generalization.
Checklist: