On Tue, 24 Feb 2009, Frank Barknecht wrote:
Is there a difference between symbols and immutable strings like Lua or Java have them?
Immutable strings are deallocatable.
If this happened to pd symbols that they became deallocatable, then externs couldn't keep a t_symbol pointer unless they register that they want it to stay alive. But if pd is to have a transition like that, it needs to have versioning of the pd interface used by externals, so that an external says that it wants it new-style, and that any old-style external receiving a t_symbol* will cause the t_symbol to become eternal.
New-style externs would also need to init and deinit t_atom[] structures, whereas old-style externs don't do it. SET-macros would be required instead of messing with atom fields directly. Most of the extra code could be avoided if using C++ instead of C.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec