D - nitpicky request
- Dan Liebgold (8/8) Feb 27 2003 Would it be possible to keep imports out of the symbol table? For exampl...
- Dan Liebgold (10/18) Feb 27 2003 Hmmm, I suppose disambiguating a name by prefixing the module is the
- Walter (10/34) Mar 02 2003 One thing I tried to get away from is the C++ distinction between ., -> ...
- Sean L. Palmer (21/25) Mar 02 2003 Is there any way we can remove the need for -> for dereferencing pointer...
Would it be possible to keep imports out of the symbol table? For example, this won't compile: import timer; TIMERCLASS timer; ...because the instance timer conflicts with the import name. There doesn't seem to be any need for the import name in among the symbols, or at least none that I can see. Dan
Feb 27 2003
Hmmm, I suppose disambiguating a name by prefixing the module is the problem. That could be solved through a naming convention. One could also complicate the syntax and use something other than "." for module disamibuation -- an example for below is timer.Reset(): does it call the Reset() function in module timer, or the method of class TIMERCLASS?. Use timer::Reset() for the module? I suppose that decision's been made... Dan "Dan Liebgold" <dliebgold yahoo.com> wrote in message news:b3kh24$qi0$1 digitaldaemon.com...Would it be possible to keep imports out of the symbol table? For example, this won't compile: import timer; TIMERCLASS timer; ...because the instance timer conflicts with the import name. Theredoesn'tseem to be any need for the import name in among the symbols, or at least none that I can see. Dan
Feb 27 2003
One thing I tried to get away from is the C++ distinction between ., -> and ::. I also want to get away from all the various context dependent lookup rules in C++, preferring a more straightforward set of rules even if sometimes it results in extra typing. Of course, D isn't pure this way, as goto labels in functions are in a separate symbol table. "Dan Liebgold" <dliebgold yahoo.com> wrote in message news:b3kht8$r4o$1 digitaldaemon.com...Hmmm, I suppose disambiguating a name by prefixing the module is the problem. That could be solved through a naming convention. One could also complicate the syntax and use something other than "." for module disamibuation -- an example for below is timer.Reset(): does it call the Reset() function in module timer, or the method of class TIMERCLASS?. Use timer::Reset() for the module? I suppose that decision's been made... Dan "Dan Liebgold" <dliebgold yahoo.com> wrote in message news:b3kh24$qi0$1 digitaldaemon.com...example,Would it be possible to keep imports out of the symbol table? Forleastthis won't compile: import timer; TIMERCLASS timer; ...because the instance timer conflicts with the import name. Theredoesn'tseem to be any need for the import name in among the symbols, or atnone that I can see. Dan
Mar 02 2003
Is there any way we can remove the need for -> for dereferencing pointers?
struct A
{
int m1, m2;
}
A* pa = new A;
pa.m1 = pa.m2;
But then we get into trouble with pointers to pointers
A* pa = new A;
A** ppa = &pa;
ppa.m1 = ppa.m2; // requires multiple dereferences
// but what happens if you only wanted to dereference once?
(*ppa + 1).m1 = ppa.m1; // confusing
Perhaps we could eliminate *p syntax as well?
ppa . = new A; // but dot is small and easily overlooked.
In this case there's probably more reasons to stick with C syntax than there
are to change it.
Sean
"Walter" <walter digitalmars.com> wrote in message
news:b3tqe6$k47$1 digitaldaemon.com...
One thing I tried to get away from is the C++ distinction between ., ->
and
::. I also want to get away from all the various context dependent lookup
rules in C++, preferring a more straightforward set of rules even if
sometimes it results in extra typing.
Mar 02 2003








"Sean L. Palmer" <seanpalmer directvinternet.com>