
18 Aug
2008
18 Aug
'08
4:19 a.m.
lennart:
As for array updating, there are many ways to improve the O(n) update. You can use a tree representation and get O(log n) for all operations. You can use the array single threaded in the ST monad and get all the usual array operation complexities.
Or use a history/transaction list to average out the copy cost, or use fusion to minimise the updates required. Making pure arrays efficient is a lot of fun, but it's a library issue, not a language one, necessarily. -- Don