Arnaud Spiwack
Arnaud Spiwack
A good example of such pure value type is `Int#`, though in this case copy is indistinguishable, operationally, from copying. Maybe `ByteArray#` is an example where not copying matters more...
Ah, re-reading, I see what you are hinting at. In a standard, linear-logic-like, implementation, `move` does a deep copy, but really, the copy is identical to the original version after...
Understood. This is a perfectly reasonable characterisation, indeed. But we may also want it to “just hold”, like the compiler could understand that `f`, below, is correct. ```haskell f ::...
@nfrisby > This is probably a strawman; it seems too opinionated for a core library, without some severe justification of performance assurances as an key desideratum, eg to the degree...
As a bit of a side comment, I think that we may have a lot to learn from C++'s business about `unique_ptr` and friends. It's a direction we may want...
I've pushed most of this PR to smaller PRs (#194 , #195, #196 ). What's left is - The `set''` primitive, see #197 . - The traversal story. I'm leaving...
That's a good point. (except probably `lseq` is not the best example, because it probably ought to stay linear) This is related to how the linear versions of conjunction and...
There is a reason why we export these versions of `fst` and `snd` (not that we didn't have oversights of the sort (#354)). The reason is that it's consistent with...
Hey, I'm back :slightly_smiling_face: Looking at it with fresher eyes, I think that the mistake is using the names from `base` for ```haskell fst :: Consumable b => (a, b)...
> For whatever it's worth, I have a slight preference for `consumeSnd`: this function will perform something on the second argument and I think it's nice for the name to...