-
-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug report: A couple of compiler bugs #37
Comments
Of course. I didn't actually factor in some necessary analysis. TBF I didn't meant to make Forgetti a 1:1 interpretation of the React Compiler (or maybe because at the time I made Forgetti, React Forget only had auto-memoization feature, not some advanced compiler antics). I still see it as a more advanced model. Stuff like alias analysis and escape analysis are completely out of the window.
I understand. I think the reason I responded in the tweet was because majority of the key points were easily compiler issues, that are also addressable (which I already released a fix minutes ago). There was more to the compiler features we can compare than these basic issues. For instance, the duplication of loop variables was because of an effort to separate the cache between persistent and non-persistent memory, which in this case is The other was mutation, which was also factored in by Forgetti (it was one of the things I considered early because of the behavior of let variables). We can expand more for actual comparable features.
I'm not sure. There are some differences in philosophy and design, and there's no stopping you from developing Unforget independently (like how there's nothing that stopped me from developing Forgetti despite React Forget's teaser) |
Sounds good! If you also find any cases where Forgetti is capable of handling, but Unforget is not, I'd be glad to learn more and fix it. This is the nice thing about competition. :) Let me know when you update Forgetti so I can update Unforget's docs as well. Feel free to contribute as well and bump the forgetti version and review the comparison doc.
I imagined so too. |
Hey, as I mentioned on X, my experience with Forgetti in a production environment revealed some challenges, particularly with data flow analysis and the result of transformation being buggy, which led to unexpected issues. I couldn't even view one page after applying Forgetti. After some investigation, it became apparent to me that a different approach is necessary to address these problems. This realization was the motivation behind the creation of React Unforget.
Please understand that my decision to develop a new tool was not meant as a personal critique of Forgetti or your efforts. It stemmed from a need and a technical perspective that I felt required a fundamentally different solution. I believe that in the open-source community, diversity in tools and approaches can coexist and collectively push the ecosystem forward.
For transparency and constructive feedback, I've documented some of the scenarios where I encountered difficulties with Forgetti, which you can view here:
https://react-unforget.vercel.app/comparisons/forgetti
My hope is that this can open up a dialogue for potential improvements in both our projects.
I'm open to discussing how we might be able to collaborate or learn from each other's approaches to achieve this goal.
The text was updated successfully, but these errors were encountered: