4 ms·
Ah yes, I've failed to say anything about what data constructors are. I've updated that paragraph with a little more text. The end of the 3rd article is confus
by ezyang 15y ago
Ah yes, I've failed to say anything about what data constructors are. I've updated that paragraph with a little more text.
The end of the 3rd article is confusing, because the text and images don't match up! I've tried to reword the paragraph a little bit.
I’ve re-edited the third post for flow and cohesion. I hope you like it!
- Groxx 15y agoData constructors still seem vague to me, I don't follow how a gift card specifying another present is different than a ghost specifying another present. I understand that it is, but not how, even metaphorically. Or is it that the only difference is that one is required to be followed and one is not? And in that case, why not make everything optional, and prevent unexpected explosions? The 3rd does read better, and that extra paragraph helps. I still think a different image / an example of or reason for the trace happening later would be good, as it still seems like X was opened and used (in getting the "2") but no trace output was generated. Kind of. Otherwise, why are they expecting X to be opened? If it's an item in a list that's unnecessary and therefore un-touched, that would make sense, but that doesn't seem to be the situation from the image. Or does it just take time for the trace output to be spat out?
- ezyang 15y agoThe idea is that a gift card is "good enough"; some useful information can be derived from it, whereas an indirection is never "good enough"; if you're told your present is in another castle, you're no better for the wear: it's as if you've accomplished nothing at all. I think I might be able to capture that in a small pastiche. That was the original idea for the comic. But it seemed like it would be really complicated, so I simplified it (but failed to update the text :-). But the simplification really fails to capture why you might expect x to be evaluated, even when it's not. It's all a bit dodgy. I'll sleep on it and see if I come up with anything better. It's certainly not the case that the trace output "takes time."
- Groxx 15y ago>It's certainly not the case that the trace output "takes time." That's what I figured, just wanted to throw out the possibility :) I'll happily keep reading, you've got me interested, at the very least. Want me to send you critiques if I come up with them? On blog / email?
- ezyang 15y agoEither's fine. :-)