Re: 4.0 : fluff and gaps
- Posted by mattlewis (admin) Dec 17, 2008
- 942 views
It has a lot of sweet stuff in it. Unfortunately, also a lot of gratuitous fluff. Take, for an example, sequence.e. Functions like fetch and store look ridiculous to me. What can they do that a simple assignment cannot do hundred times faster? On the other hand I expected to see generic sequence shuffle. It is short and fast, and no self-respecting simulation can live without it. But is not there, and people so often get it wrong...
Well, the purpose of fetch and store is to be able to use a sequence of subscripts to manipulate a sequence. I haven't been as involved with the library development as with the interpreter itself, but I think the people who were involved added things that they used, or that others suggested. If you've got a good one, post it, and I'm sure it can be added.
We also have stacks and queues. Never mind any retard can successfully tackle one of these - euphoria seems to be designed for them. When it comes to non-obvious, very basic structures like binary, ternary and red-black trees, the libraries are silent. Euphoria has some clever optimizations of special cases, but I am still hoping for 'passing of parameters by reference' that would save a lot of unnecessary copying when dealing with complex structures. It would also sit better with things like built-in swap routine, or even really, really fast native shift and rotate functions. Did I mention the demise of the moronic 31-bit integers? Perhaps in the next version...
I thought that Derek had started work on trees...not sure if I'm remembering wrong, or if he stopped. We do have a hash map.
I had implemented pass by reference in ooeu. It starts to get difficult when you want to reference something inside a sequence. Not necessarily impossible, just not at all easy.
31-bit integers are a tough one, too. We could relatively easily (though it would take a LOT of changes) get rid of them, and manage to get other primitives added as well. But it would probably mean a significant decrease in performance and an increase in memory footprint, too.
Matt