4 ms·
> there are still bugs being worked out in basic features like “set”. You are misreading the release notes. What was fixed is a Redex model (a tool used in s
by soegaard 8y ago
> there are still bugs being worked out in basic features like “set”.
You are misreading the release notes.
What was fixed is a Redex model (a tool used in semantics to model computer languages). A change to the modeling of `set!` (assignment) was made. It has no impact on Racket itself.
- maxiepoo 8y agoReally? Then as written it's very misleading "led to some bug fixes in Racket’s implementation of letrec and set!."
- Gene_Parmesan 8y ago[Edit -- misread comment.]
- clacke2 8y agoIf it is in fact the case that only some redex models of `letrec` and `set!` were fixed, then it is indeed misleading that the release notes say "Racket's implementation" of them was fixed. Unless you're the one who did the work, I'd rather trust the release notes than your unsourced assertion. That said, just because a bug was fixed in an important function shouldn't be an indictment against the language. Racket is stable and productive, and formal modeling can reveal all kinds of corner cases which may not have been exposed in typical use, and may not have security implications. Maybe it was edge-case performance, maybe garbage collection, the release notes simply don't say. I'd rather use a language whose authors improve their tools to discover and fix issues than one where this doesn't happen.
- Gene_Parmesan 8y agoAhhh, my bad. I thought you were the same commenter as the first guy, and I doubly goofed by misreading the comment in the first place. The dangers of commenting before coffee. You're right, the difference between redex models and racket's implementation of them would be confusing, and I don't have enough direct knowledge to provide any insight there.
- samth 8y agoThere was indeed a bug fix to the actual Racket implementation, but in extremely hard-to-find corner cases, which was why it was only found via model-driven random testing.