On 26/03/2016 07:35, Peter TB Brett wrote:
On 25/03/2016 23:00, Alex Tweedly wrote:

How about a Feature Exchange for adding arrays ?   (i.e. not
dictionaries, but actual arrays with numeric indices and linear access
times)

In LiveCode, we currently call these "proper lists".

LiveCode arrays currently have O(log N) read and insertion complexity in the general case (which is better than linear).

If we were to add proper lists, we would probably use an implementation with O(1) read and O(N) insertion complexity in the general case.

Yes, sorry, I said it badly, leading to some confusion.
I meant "linear access time" for accessing every element of the array in turn - i.e. (roughly) equivalent to "constant access time" for an individual access.
If you need proper lists, LiveCode Builder already provides them with the "List" type.

I haven't found (can't find) a spec for LCB, so I'm not sure exactly what "proper lists" are - but I think maybe not quite what I meant.

I was thinking of "proper arrays" :-) i.e. real, old-fashioned indexed arrays - see Algol, Fortran, etc.

So we would have
read access in constant time
write access in constant time
insertion complexity - there is no such thing as insertion :-)

OK, given that we would never want to require array declarations to define bounds, there might be some extra cost on extending the bounds, but that would be occasional, so we would in general have constant access time (for either read or write).

And, of course, if it were done in LCB it would be even more advantageous because we would pre-define the data type, and hence be able to do completely dense arrays, just like Fortran etc. (he said, making about 50 wild assumptions about a language he can't find a spec for :-)

Regards
-- Alex.

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to