D - typeless consts
- "Pavel Minayev" <evilone omen.ru> Dec 21 2001
- "Walter" <walter digitalmars.com> Dec 21 2001
- "Pavel Minayev" <evilone omen.ru> Dec 22 2001
- "Walter" <walter digitalmars.com> Dec 22 2001
- "Pavel Minayev" <evilone omen.ru> Dec 22 2001
- "Walter" <walter digitalmars.com> Dec 22 2001
- "Sean L. Palmer" <spalmer iname.com> Dec 22 2001
Feature suggestion. It would be nice if D could determine
type of constant automatically, so we could write:
const i = 10, d = 123.456, s = "Hello, world!"
Would be great...
Dec 21 2001
"Pavel Minayev" <evilone omen.ru> wrote in message news:a003uc$1m0e$1 digitaldaemon.com...Feature suggestion. It would be nice if D could determine type of constant automatically, so we could write: const i = 10, d = 123.456, s = "Hello, world!" Would be great...
Actually, with string literals, the compiler does do that. But it has resulted in a lot of problems. It's much better to just say what type it is.
Dec 21 2001
"Walter" <walter digitalmars.com> wrote in message news:a00e4m$1thm$1 digitaldaemon.com...Actually, with string literals, the compiler does do that. But it has
The following program doesn't compile: const i = 666; const s = "hello, world!";resulted in a lot of problems. It's much better to just say what type it
Problems?
Dec 22 2001
"Pavel Minayev" <evilone omen.ru> wrote in message news:a01g86$2ma7$2 digitaldaemon.com..."Walter" <walter digitalmars.com> wrote in message news:a00e4m$1thm$1 digitaldaemon.com...Actually, with string literals, the compiler does do that. But it has
The following program doesn't compile: const i = 666; const s = "hello, world!";
Yes, it won't, because while "hello, world" starts out typeless, the declaration for s needs a type.resulted in a lot of problems. It's much better to just say what type it
Problems?
One problem, for example, is "a" a char, char[1], wchar, wchar[1]? This causes trouble with overloading.
Dec 22 2001
"Walter" <walter digitalmars.com> wrote in message news:a02ebb$ajb$1 digitaldaemon.com...Yes, it won't, because while "hello, world" starts out typeless, the declaration for s needs a type.
That was exactly my proposal - make the type in const declarations unnecessary...One problem, for example, is "a" a char, char[1], wchar, wchar[1]? This causes trouble with overloading.
Whatever it suites - like a literal "a" can be a char or a char[1] depending on context. Ambiguities with overloading are easily resolved using cast(). Or, typed consts could be used in these cases.
Dec 22 2001
"Pavel Minayev" <evilone omen.ru> wrote in message news:a02ikb$dlr$1 digitaldaemon.com..."Walter" <walter digitalmars.com> wrote in message news:a02ebb$ajb$1 digitaldaemon.com...Yes, it won't, because while "hello, world" starts out typeless, the declaration for s needs a type.
unnecessary...One problem, for example, is "a" a char, char[1], wchar, wchar[1]? This causes trouble with overloading.
depending on context. Ambiguities with overloading are easily resolved using cast(). Or, typed consts could be used in these cases.
The language can handle a few ambiguities requiring casting like string literals. Doing it in general, like for variables, will fill the code up with ugly casting.
Dec 22 2001
Lazy, lazy, lazy!!! Sean "Pavel Minayev" <evilone omen.ru> wrote in message news:a003uc$1m0e$1 digitaldaemon.com...Feature suggestion. It would be nice if D could determine type of constant automatically, so we could write: const i = 10, d = 123.456, s = "Hello, world!" Would be great...
Dec 22 2001









"Walter" <walter digitalmars.com> 