lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On Sun, 17 Jan 2010 20:40:27 +0100
Florian Weimer <> wrote:

> > It's tricky to think of a way of hiding an identifier's true type
> > and purpose in such a way that what can be done with it (ie,
> > methods, or what it is valid to pass it to) cannot be inferred
> > before compile time with either language (after all, the compilers
> > produce errors for misuses here).
> Dependent types in C++ templates cannot be completed statically
> because the template is a meta-program run by the compiler, to create
> the actual program.  The actual values of type arguments are not known
> when you write the template, and without concepts, C++ does not
> provide many constraints.

I've managed to escape the perils of C++ for some time now, I had
forgotten about this ugly corner.  Still, this is just one corner.

> With the next C++ version, it seems likely that more templated code
> will be written by users (and not just library authors).  It's going
> to be an interesting challenge for IDE creators.

They've not got to worry yet.  I still have a feeling they should face
up to all likelyhood that'll be C++2x...

> > But how does one do this even remotely effectively when it's
> > impossible to know what the contents of the globals table will be
> > at runtime?
> Why can we understand code examples posted to the mailing list and
> give helpful advice?

Because normally we assume that something simple is going on, or the
poster tells us if there isn't.  Difficult to describe cleverness and
intrigue to a text editor.