Skip copyRecord for buildFromScratch in Builder#80
Skip copyRecord for buildFromScratch in Builder#80jvliwanag wants to merge 2 commits intopurescript:masterfrom
Conversation
dbee503 to
5fdb679
Compare
|
In general, I think it's a little dodgy to reason about allocation and references within PureScript like this, since it's outside the semantics of the language, and there's otherwise no indication in the types what's happening. For example, if an optimization were to lift out the I'm not necessarily giving a thumbs down, because I think it's likely we have issues like this all over the place in core. |
|
One option could be to just move |
|
If we follow that line of thought though, perhaps we shouldn't be declaring: |
Right, which is why I provided the caveat:
I'm aware that core uses unsafe functions for builder stuff like this, but gives them pure types within PureScript's type system, which is semantically dodgy. It's like declaring |
|
Perhaps the cleanest representation of Alternatively, we can make |
Description of the change
Skip needing to copyRecord for
buildFromScratch.Checklist: