From: Jean-Claude W. <jc...@eq...> - 2006-06-26 11:58:05
|
On Jun 20, 2006, at 14:59, Donald G Porter wrote: > I'd be happier analyzing your needs and those of some other extensions > you mentioned and determine what new rule needs to be adopted for > Tcl 9. > Drop "Everything is a string" and embrace "everything is a string > or a ????". Determine how many different ??? are needed. Try to > reduce > it to a minimal set (one would be best), and start building up Tcl 9 > from the implications. For my purposes, it turns out that everything is a list or everything is an internal rep. I keep having to jump through loops (and that's putting it mildly...) to avoid string reps and hold on to list reps. String reps are excessively expensive for me, but lists are fine due to the level of sharing possible. Which is why I mentioned lindex/ llength accessor shortcuts as an option. When handling collections of data, the string rep of an entire collection really is of very little use. Just like no one uses disk block editors to view an entire disk when they have a filesystem to organize data into more meaningful structures. The question is really: are we going to advance Tcl to handle larger amounts of data well, or are we going to be limited to the dichotomy between Tcl_Obj's/lists/arrays vs. databases forever? EIAS is not enough. Arrays prove it (they are not strings, and they do not scale as a string, only as lists). Even lists are limited, in that they can only be memory-based. I've got a mechanism which scales way beyond RAM space, maintains Tcl's value-based / copy-on- write / side-effect-free semantics, and brings persistence into the language. But it looks like the "hydra" model is starting to strangle it all. > I don't expect to be much help, so feel free to take my opinion for > what it's worth. Sorry for stepping on everyone's toes. -jcw |