Michel Fortin wrote:
On 2009-04-18 17:48:33 -0400, Andrei Alexandrescu <seewebsiteforem...@erdani.org> said:

Michel Fortin wrote:
On 2009-04-18 11:19:38 -0400, Andrei Alexandrescu <seewebsiteforem...@erdani.org> said:

I'm confused. Isn't it clear that at the moment we "have" the ability to pass a function name as a runtime string?

Indeed, you can pass the template argument as a runtime argument to another function. No misunderstanding here.


What we're lacking is the ability to implement that using reflection, but that's an entirely separated discussion!

Runtime reflection lacking indeed, but wether runtime reflection is an entirely separated discussion depends on if what we're doing will get in the way of implementing it.


And no, you're not supposed to forward from invoke(string, Variant[]...) to opDotExp - it's precisely the other way around!

Wrong. Whether it's one way or another entirely depends on what your goals are.

Wrong. It's impossible to pass a dynamic string as a static string, so the street is one way.

Indeed it's impossible using a template which requires a static string. And that's exactly the problem: some times you're supposed to make it work both ways, as I've explained in the rest of my post you've cut down. Did you read it?

I won't repeat everything, but here's the important part: not having it go both ways *is* an important drawback. And it doesn't go both ways only if opDotExp is a template.

I did, but sorry, it doesn't make sense and does nothing but continue the terrible confusion going in this thread.

You say: well if opDot were a template then a scripting language can't get to it because what it has is a dynamic string. Yes. That's why opDot does whatever static string processing and then forwards, if the design asks for it, to the dynamic function. opDot's participation is solely a syntax helper within D.


Andrei

Reply via email to