On Wed, 4 Mar 2009, Martin Peach wrote:
That's nice. Now we need some html parsing objects so the pages go into the patch and not the pd window. It works well if the received pages are loaded into a table. I made tabfind to search a table for a string. Tables seem more efficient than lists and less volatile.
Lists are volatile because they are (typically) stack-allocated or in any way their contract of use makes (argc,argv) only valid during the call... so you could use a heap-allocated argv but modify it between calls and it would still make the list data have a stack-wise accessibility.
Because lists are volatile, they need to be copied by any object that wants to keep them. It's actually worse than that, as objects used recursively have to watch out for what they can deallocate. It's not like you could make [list] be faster without complicating it... and this includes plain data-recursion as well too (set cold-inlet of an object while its cold-inlet has still a job pending on the stack).
Tables can be much faster but they also need to be statically-allocated (or dynamically-patched!), and they are type-restricted (where you can't say that any element slot may contain any atom one decides at runtime), and you have to find names for the tables because they can't be anonymous.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec