JerryI / wolfram-js-frontend

Dynamic Notebook Environment for Wolfram Language written in Javascript
https://jerryi.github.io/wljs-docs/
GNU General Public License v3.0
266 stars 11 forks source link

JS Console: `method destroy is not defined for Association` #62

Closed walking-octopus closed 9 months ago

walking-octopus commented 9 months ago

Every time a notebook with a graph is ran, the error above appears.

Wolfram Engine 13.3. Git commit 122a577.


Also, I know this is not the appropriate place to post this, but I just wanted to thank you for making this project! I'm just an occasional user of Mathematica and I couldn't reconcile the beauty of the language with the painful official notebook UI, let alone the pricing. Thanks to your projects I can now iterate faster on my models with all the proper graphing, autocomplete and math rendering of a proper Wolfram notebook app. I can't thank you enough for this! If only you could re-implement the entire interpreter too to get rid of the bloat there, but I suppose most power users need too much of Wolfram even a perfect re-implementation without some of STD will be useless.

JerryI commented 9 months ago

This is definitely a proper place for such issues 🥇 I very glad to hear your feedback. Thank you for your warm words ❤️

You can also post it on our telegram channel if you wish.

An error message you mentioned actually can be considered as warning message, it is not harmful at all. The idea is, that sometimes dynamic symbols are evaluated on the frontend, which has to be disposed properly to exclude memory leaks and any hanging event-handlers. When a cell got destroyed, WLJS interpreter goes through the whole tree of expressions and apply .destroy methods. Since this mechanism came up quite late, I just did not manage to encounter all cases when a function hits .destroy() ;)

Feel free to post issues on anything you encounter and as often as you prefer. We (@KirillBelovTest and me) try our best to help you and other people.

Totally agree with WL and STD! And also there are too many hassle with licensing, activating, especially on M1/M2 processors, differences in LibraryLink implementation from version to version makes me wish that someone could release an independent interpreter.

PS: Please check Reference section on docs page for graphics and plotting function, which are tested. Actually, there are still many features missing (not much stuff for 3D graphics/plots). However, it is relatively easy to add them to the current system and it is mostly a question of time.

JerryI commented 9 months ago

Fixed in Commit

On the next startup WLJS Notebook will update this component automatically.