On Oct 4, 2005, at 5:11 AM, Leopold Toetsch wrote:
On Oct 4, 2005, at 3:52, Will Coleda wrote:
On Oct 3, 2005, at 6:34 PM, Leopold Toetsch wrote:
I don't see the point. Your compiler can emit, e.g.:
"while"(test, body)
That's actually how things work right now (very similar to the
interpreter from previous versions).
Not quite:
$ find lib -name '*.pir' | xargs grep 'sub.*while'
lib/commands/while.pir:.sub "&while"
You obviously have to mangle the subname first, before you can call
it.
Yes, this is mandatory, as subs and variables must co-exist in a
parrot namespace, but in tcl, you can have a sub and a var with the
same name in the same namespace. This _might_ change once Matt
Diephouse's proposal is formalized, but for now, it's the easiest
solution. (The other is mangle the namespaces instead of the names,
but I felt this solution would be better for language interoperability.)
I was focusing more on the dispatch part than the naming conventions
in my earlier reply, sorry.
Is the argument that inlining will not (even theoretically)
provide a speed boost?
No, not at all, that's fine. I just wanted to mention that there
are still a lot of code pieces left over from the interpreter.
Oh, sure. I'm doing now the bare minimum to be called a compiler, I
think, but this particular piece is probably going to stay,
regardless of compile vs. interpret.
Regards.