Re: Critic: Benchmarks Available
- Posted by jimcbrown (admin) May 20, 2009
- 1213 views
Yes. That's what I meant.
Ok, then what I said my previous post applies.
I seriously doubt that this is really an overlooked design flaw. I think it's a deliberate part of the design, and one that seems to have worked out rather well...
EU's implementation is full of global variables (lifetime, not scope) and not re-entrant because of the lack of references and yet you still think that? Wow. I'm impressed. Maybe I am wrong after all and EU's design is great. - Nah. ;)
First, lets not confuse language design (or more clearly, design of the language specification) with design of the implementation. The "flaw" is part of the former, but your response to Matt's quote is a criticism of the latter.
Addressing that, the lack of re-entrance is not due to a lack of references. The C backend uses pointers to do this extensively, and any issues with the front end (that is written in Euphoria) go away once we're past translation to C.
Admitredly, the current implementation (C backend) is not reentrant. Of course, we could always adopt something like the Big-Kernel-Lock. Then we'd be reentrant with a more horrible design. I think it is better to wait until 4.1 (or possibly 4.2), when the time and resources can be devoted to fixing the internals in The Right Way (tm). This is just imvho, of course.