www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Manifest constants using 'manifest' keyword?

reply Leandro Lucarella <llucax gmail.com> writes:
According to phobos changeset 535[1] I guess we have a new 'manifest'
keyword to define manifest (to be redundant) constants. I really think he
should went with alias or macro or with other better *existing* keyword,
but is definitely better than enum.

[1] http://www.dsource.org/projects/phobos/changeset/535

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
Be nice to nerds
Chances are you'll end up working for one
Dec 21 2007
next sibling parent reply Derek Parnell <derek psych.ward> writes:
On Fri, 21 Dec 2007 12:07:03 -0300, Leandro Lucarella wrote:

 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.
 
I agree. Until one gets to know what it means, "manifest" looks like a noun rather than an adjective. I can just see newbies saying things like ... "what is a 'manifest'" when confronted with stuff like ... manifest { int Foo; long Bar; } -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Dec 21 2007
next sibling parent jcc7 <technocrat7 gmail.com> writes:
== Quote from Derek Parnell (derek psych.ward)'s article
 On Fri, 21 Dec 2007 12:07:03 -0300, Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new
 'manifest' keyword to define manifest (to be redundant) constants.
 I really think he should went with alias or macro or with other
 better *existing* keyword, but is definitely better than enum.
Yay!

 I agree. Until one gets to know what it means, "manifest" looks like
 a noun rather than an adjective. I can just see newbies saying
 things like ... "what is a 'manifest'" when confronted with stuff
 like ...

 manifest
 {
    int Foo;
    long Bar;
 }
Well, there's always a learning curve with a new language. I think newbies will be able to figure it out fairly quickly by reading the documentation. I think they'll find "manifest" a lot easier to understand than a reuse (misuse?) of enum would have been. (I thought that reusing enum was not the right way to go at all.) I don't remember what my favorite enum-alternative was (as there were several and I wasn't paying attention that closely), but I think manifest was a fine choice.
Dec 21 2007
prev sibling parent reply Matti Niemenmaa <see_signature for.real.address> writes:
Derek Parnell wrote:
 Until one gets to know what it means, "manifest" looks like a noun
 rather than an adjective. I can just see newbies saying things like ...
 "what is a 'manifest'" when confronted with stuff like ...

 manifest 
 {
    int Foo;
    long Bar;
 }
Alright, I'll bite. What /is/ manifest meant to mean here? -- E-mail address: matti.niemenmaa+news, domain is iki (DOT) fi
Dec 21 2007
parent reply =?UTF-8?B?IkrDqXLDtG1lIE0uIEJlcmdlciI=?= <jeberger free.fr> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Matti Niemenmaa wrote:
 Derek Parnell wrote:
 Until one gets to know what it means, "manifest" looks like a noun
 rather than an adjective. I can just see newbies saying things like ...
 "what is a 'manifest'" when confronted with stuff like ...

 manifest 
 {
    int Foo;
    long Bar;
 }
Alright, I'll bite. What /is/ manifest meant to mean here?
I'd bet for a compilation error ;) A correct declaration would be: manifest { int Foo = 42; long Bar = 4242; } Jerome - -- +------------------------- Jerome M. BERGER ---------------------+ | mailto:jeberger free.fr | ICQ: 238062172 | | http://jeberger.free.fr/ | Jabber: jeberger jabber.fr | +---------------------------------+------------------------------+ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFHa/yUd0kWM4JG3k8RAkSrAJ93OOnhYr8qoDPAZHDC6dTkgBPNRwCfWDRu xA5HZoo2pP2P4uThBvIuqTo= =ifht -----END PGP SIGNATURE-----
Dec 21 2007
next sibling parent reply Matti Niemenmaa <see_signature for.real.address> writes:
Jérôme M. Berger wrote:
 Matti Niemenmaa wrote:
 Derek Parnell wrote:
 Until one gets to know what it means, "manifest" looks like a noun
 rather than an adjective. I can just see newbies saying things like ...
 "what is a 'manifest'" when confronted with stuff like ...

 manifest 
 {
    int Foo;
    long Bar;
 }
Alright, I'll bite. What /is/ manifest meant to mean here?
I'd bet for a compilation error ;)
That wasn't my point. I get the semantics, I want to understand what the word itself means. "const" -> a constant, i.e. something you can't write to. Fine, though it's not necessarily "constant" per se. "manifest" -> a manifest constant. What's a manifest constant? A compile-time constant. Why isn't it called "compiletime" then? What's with the word "manifest"? -- E-mail address: matti.niemenmaa+news, domain is iki (DOT) fi
Dec 21 2007
next sibling parent Ary Borenszweig <ary esperanto.org.ar> writes:
Matti Niemenmaa wrote:
 Jérôme M. Berger wrote:
 Matti Niemenmaa wrote:
 Derek Parnell wrote:
 Until one gets to know what it means, "manifest" looks like a noun
 rather than an adjective. I can just see newbies saying things like ...
 "what is a 'manifest'" when confronted with stuff like ...

 manifest 
 {
    int Foo;
    long Bar;
 }
Alright, I'll bite. What /is/ manifest meant to mean here?
I'd bet for a compilation error ;)
That wasn't my point. I get the semantics, I want to understand what the word itself means. "const" -> a constant, i.e. something you can't write to. Fine, though it's not necessarily "constant" per se. "manifest" -> a manifest constant. What's a manifest constant? A compile-time constant. Why isn't it called "compiletime" then? What's with the word "manifest"?
I don't like the keyword "manifest" for that purpose either. My native language is spanish, and as a programmer for about ten years, I hear about the expression "manifest constant" for the first time in this newsgroup. In fact, "manifest" by itself seems to mean a whole different concept ( http://www.google.com.ar/search?hl=es&client=firefox-a&rls=org.mozilla:en-US:official&hs=kt7&pwst=1&defl=en&q=define:manifest&sa=X&oi=glossary definition&ct=title ), while "manifest constant" does have the intended meaning. So at least for me, seeing "manifest" grouping a bunch of declarations seems pretty weird, unless it were "manifest const". :)
Dec 21 2007
prev sibling parent reply Derek Parnell <derek psych.ward> writes:
On Fri, 21 Dec 2007 21:01:08 +0200, Matti Niemenmaa wrote:

 Jérôme M. Berger wrote:
 Matti Niemenmaa wrote:
 Derek Parnell wrote:
 Until one gets to know what it means, "manifest" looks like a noun
 rather than an adjective. I can just see newbies saying things like ...
 "what is a 'manifest'" when confronted with stuff like ...

 manifest 
 {
    int Foo;
    long Bar;
 }
Alright, I'll bite. What /is/ manifest meant to mean here?
I'd bet for a compilation error ;)
That wasn't my point. I get the semantics, I want to understand what the word itself means. "const" -> a constant, i.e. something you can't write to. Fine, though it's not necessarily "constant" per se. "manifest" -> a manifest constant. What's a manifest constant? A compile-time constant. Why isn't it called "compiletime" then? What's with the word "manifest"?
The adjective 'manifest' in this context means "something whose purpose or meaning is self-evident". It is a fairly obscure usage of English and not many native-English speakers would use the term except in academic circles. It is certainly not in common usage by the average man-in-the-street. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Dec 21 2007
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Derek Parnell wrote:
 On Fri, 21 Dec 2007 21:01:08 +0200, Matti Niemenmaa wrote:
 
 Jérôme M. Berger wrote:
 Matti Niemenmaa wrote:
 Derek Parnell wrote:
 Until one gets to know what it means, "manifest" looks like a noun
 rather than an adjective. I can just see newbies saying things like ...
 "what is a 'manifest'" when confronted with stuff like ...

 manifest 
 {
    int Foo;
    long Bar;
 }
Alright, I'll bite. What /is/ manifest meant to mean here?
I'd bet for a compilation error ;)
That wasn't my point. I get the semantics, I want to understand what the word itself means. "const" -> a constant, i.e. something you can't write to. Fine, though it's not necessarily "constant" per se. "manifest" -> a manifest constant. What's a manifest constant? A compile-time constant. Why isn't it called "compiletime" then? What's with the word "manifest"?
The adjective 'manifest' in this context means "something whose purpose or meaning is self-evident". It is a fairly obscure usage of English and not many native-English speakers would use the term except in academic circles. It is certainly not in common usage by the average man-in-the-street.
I think it's more like these meanings (from dictionary.com) 6. a list of the cargo carried by a ship, made for the use of various agents and officials at the ports of destination. 7. a list or invoice of goods transported by truck or train. 8. a list of the cargo or passengers carried on an airplane. I.e. it's something that's embedded in the executable as part of its "cargo". At least I think that's where the terminology "manifest constant" comes from. --bb
Dec 21 2007
parent reply Derek Parnell <derek psych.ward> writes:
On Sat, 22 Dec 2007 13:05:40 +0900, Bill Baxter wrote:

 Derek Parnell wrote:
 On Fri, 21 Dec 2007 21:01:08 +0200, Matti Niemenmaa wrote:
 
 Jérôme M. Berger wrote:
 Matti Niemenmaa wrote:
 Derek Parnell wrote:
 Until one gets to know what it means, "manifest" looks like a noun
 rather than an adjective. I can just see newbies saying things like ...
 "what is a 'manifest'" when confronted with stuff like ...

 manifest 
 {
    int Foo;
    long Bar;
 }
Alright, I'll bite. What /is/ manifest meant to mean here?
I'd bet for a compilation error ;)
That wasn't my point. I get the semantics, I want to understand what the word itself means. "const" -> a constant, i.e. something you can't write to. Fine, though it's not necessarily "constant" per se. "manifest" -> a manifest constant. What's a manifest constant? A compile-time constant. Why isn't it called "compiletime" then? What's with the word "manifest"?
The adjective 'manifest' in this context means "something whose purpose or meaning is self-evident". It is a fairly obscure usage of English and not many native-English speakers would use the term except in academic circles. It is certainly not in common usage by the average man-in-the-street.
I think it's more like these meanings (from dictionary.com) 6. a list of the cargo carried by a ship, made for the use of various agents and officials at the ports of destination. 7. a list or invoice of goods transported by truck or train. 8. a list of the cargo or passengers carried on an airplane. I.e. it's something that's embedded in the executable as part of its "cargo". At least I think that's where the terminology "manifest constant" comes from.
That would be the NOUN manifest and the adjective. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Dec 21 2007
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Derek Parnell wrote:
 On Sat, 22 Dec 2007 13:05:40 +0900, Bill Baxter wrote:
 
 Derek Parnell wrote:
 On Fri, 21 Dec 2007 21:01:08 +0200, Matti Niemenmaa wrote:

 Jérôme M. Berger wrote:
 Matti Niemenmaa wrote:
 Derek Parnell wrote:
 Until one gets to know what it means, "manifest" looks like a noun
 rather than an adjective. I can just see newbies saying things like ...
 "what is a 'manifest'" when confronted with stuff like ...

 manifest 
 {
    int Foo;
    long Bar;
 }
Alright, I'll bite. What /is/ manifest meant to mean here?
I'd bet for a compilation error ;)
That wasn't my point. I get the semantics, I want to understand what the word itself means. "const" -> a constant, i.e. something you can't write to. Fine, though it's not necessarily "constant" per se. "manifest" -> a manifest constant. What's a manifest constant? A compile-time constant. Why isn't it called "compiletime" then? What's with the word "manifest"?
The adjective 'manifest' in this context means "something whose purpose or meaning is self-evident". It is a fairly obscure usage of English and not many native-English speakers would use the term except in academic circles. It is certainly not in common usage by the average man-in-the-street.
I think it's more like these meanings (from dictionary.com) 6. a list of the cargo carried by a ship, made for the use of various agents and officials at the ports of destination. 7. a list or invoice of goods transported by truck or train. 8. a list of the cargo or passengers carried on an airplane. I.e. it's something that's embedded in the executable as part of its "cargo". At least I think that's where the terminology "manifest constant" comes from.
That would be the NOUN manifest and the adjective.
But pretty much any noun can be used as an adjective in English. And often the two get so cozy that way they get a hyphen or just get stuck together: "Look at that man who is part wolf!" --> "Look at that wolfman!" "Can I borrow your rings that you stick on your ears?" --> "Can I borrow your earrings?" "This is a noun that's used as an adjective" --> "This is a noun adjective" "A constant that's in the manifest" --> "A manifest constant" --bb
Dec 21 2007
prev sibling parent Derek Parnell <derek psych.ward> writes:
On Fri, 21 Dec 2007 18:49:08 +0100, "Jérôme M. Berger" wrote:

 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
 Matti Niemenmaa wrote:
 Derek Parnell wrote:
 Until one gets to know what it means, "manifest" looks like a noun
 rather than an adjective. I can just see newbies saying things like ...
 "what is a 'manifest'" when confronted with stuff like ...

 manifest 
 {
    int Foo;
    long Bar;
 }
Alright, I'll bite. What /is/ manifest meant to mean here?
I'd bet for a compilation error ;) A correct declaration would be: manifest { int Foo = 42; long Bar = 4242; }
LOL ... it was 2:30AM when I wrote that. What I had in mind was the apparent similarity in syntax structure between struct S { int Foo = 42; long Bar = 4242; } and manifest { int Foo = 42; long Bar = 4242; } But overall, 'manifest' is better then an overloaded 'enum' and, as I expect what will happen, 'manifest' will be in very common usage. It also helps in visually distinquishing the D programming language from C/C++. It will do. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Dec 21 2007
prev sibling next sibling parent reply John Reimer <terminal.node gmail.com> writes:
Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.
 
 [1] http://www.dsource.org/projects/phobos/changeset/535
 
Ack! The masses succeeded in influencing Walter and Andrei... thus proving me completely wrong! Oh no! :) That'll teach me about getting all philosophical. :P mainfest is better than enum, at least, although I see they still chose something "different". Looking good! -JJR
Dec 21 2007
next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"John Reimer" wrote
 mainfest is better than enum, at least, although I see they still chose 
 something "different".  Looking good!
Yes, yes yes! I am happy that we have a different keyword, even if it isn't the one I wanted :) -Steve
Dec 21 2007
prev sibling next sibling parent reply "Bruce Adams" <tortoise_74 yeah.who.co.uk> writes:
On Fri, 21 Dec 2007 15:16:38 -0000, John Reimer <terminal.node gmail.com>  
wrote:

 Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think  
 he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.
  [1] http://www.dsource.org/projects/phobos/changeset/535
Ack! The masses succeeded in influencing Walter and Andrei... thus proving me completely wrong! Oh no! :) That'll teach me about getting all philosophical. :P
Poor Walter though. He finally breaks under the strain and changes his proposal only to have yet another thread full of whinges (no offence intended) about the new one. I guess that's the lot of language designers.
Dec 21 2007
next sibling parent John Reimer <terminal.node gmail.com> writes:
Bruce Adams wrote:
 On Fri, 21 Dec 2007 15:16:38 -0000, John Reimer 
 <terminal.node gmail.com> wrote:
 
 Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really 
 think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.
  [1] http://www.dsource.org/projects/phobos/changeset/535
Ack! The masses succeeded in influencing Walter and Andrei... thus proving me completely wrong! Oh no! :) That'll teach me about getting all philosophical. :P
Poor Walter though. He finally breaks under the strain and changes his proposal only to have yet another thread full of whinges (no offence intended) about the new one. I guess that's the lot of language designers.
Yep, the cycle continues. Actually, it's not completely unusual that they acquiesce... it just doesn't happen that often (which is good, I suppose). I think that this has just become the accepted design process for D. It's really quite odd, but I suppose it just adds another flavor of design and engineering trends to the history books. I don't think it's really something to pity anymore, since it looks that Walter has long since accepted this mechanism. -JJR
Dec 21 2007
prev sibling parent reply =?ISO-8859-15?Q?=22J=E9r=F4me_M=2E_Berger=22?= <jeberger free.fr> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Bruce Adams wrote:
 On Fri, 21 Dec 2007 15:16:38 -0000, John Reimer
 <terminal.node gmail.com> wrote:
 
 Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really
 think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.
  [1] http://www.dsource.org/projects/phobos/changeset/535
Ack! The masses succeeded in influencing Walter and Andrei... thus proving me completely wrong! Oh no! :) That'll teach me about getting all philosophical. :P
Poor Walter though. He finally breaks under the strain and changes his proposal only to have yet another thread full of whinges (no offence intended) about the new one. I guess that's the lot of language designers.
Well, *I* like the new one much better than reusing "enum" (which appears to be a consensus in this thread so far). Even if we think "manifest" is still not perfect, this is something I can live with (and there will *always* be someone complaining that any given keyword isn't the "best" choice, so as long as there isn't anything actively wrong with it, we might as well keep it). Jerome - -- +------------------------- Jerome M. BERGER ---------------------+ | mailto:jeberger free.fr | ICQ: 238062172 | | http://jeberger.free.fr/ | Jabber: jeberger jabber.fr | +---------------------------------+------------------------------+ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFHbORhd0kWM4JG3k8RAt2ZAJ0eV+vJThoMLp5AvPPQwsGqUcru0wCfaP0u e5jKvWFJkPrOzLVoX6h+9zk= =exCP -----END PGP SIGNATURE-----
Dec 22 2007
parent Christopher Wright <dhasenan gmail.com> writes:
Jérôme M. Berger wrote:
 	Well, *I* like the new one much better than reusing "enum" (which
 appears to be a consensus in this thread so far). Even if we think
 "manifest" is still not perfect, this is something I can live with
 (and there will *always* be someone complaining that any given
 keyword isn't the "best" choice, so as long as there isn't anything
 actively wrong with it, we might as well keep it).
 
 		Jerome
I liked using enum during the original debate, but 'manifest' sounds cooler, so I support that now.
Dec 22 2007
prev sibling parent reply "Kris" <foo bar.com> writes:
JJR, "manifest" is something that anyone who used BCPL would instantly 
recognize:  http://www.lysator.liu.se/c/clive-on-bcpl.html

- Kris




"John Reimer" <terminal.node gmail.com> wrote in message 
news:fkglce$t7l$1 digitalmars.com...
 Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.

 [1] http://www.dsource.org/projects/phobos/changeset/535
Ack! The masses succeeded in influencing Walter and Andrei... thus proving me completely wrong! Oh no! :) That'll teach me about getting all philosophical. :P mainfest is better than enum, at least, although I see they still chose something "different". Looking good! -JJR
Dec 21 2007
next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Kris wrote:
 JJR, "manifest" is something that anyone who used BCPL would instantly 
 recognize:  http://www.lysator.liu.se/c/clive-on-bcpl.html
Interesting. How many of those are left? (People familar with BCPL) --bb
Dec 21 2007
next sibling parent "Kris" <foo bar.com> writes:
Probably all those folks who can happily explain why 'P' would be the 
"logical" successor to C, rather than D

:p


"Bill Baxter" <dnewsgroup billbaxter.com> wrote in message 
news:fki2fs$rdq$2 digitalmars.com...
 Kris wrote:
 JJR, "manifest" is something that anyone who used BCPL would instantly 
 recognize:  http://www.lysator.liu.se/c/clive-on-bcpl.html
Interesting. How many of those are left? (People familar with BCPL) --bb
Dec 21 2007
prev sibling parent "Bruce Adams" <tortoise_74 yeah.who.co.uk> writes:
On Sat, 22 Dec 2007 04:06:20 -0000, Bill Baxter  
<dnewsgroup billbaxter.com> wrote:

 Kris wrote:
 JJR, "manifest" is something that anyone who used BCPL would instantly  
 recognize:  http://www.lysator.liu.se/c/clive-on-bcpl.html
Interesting. How many of those are left? (People familar with BCPL) --bb
More than there were now he's posted the link :)
Dec 22 2007
prev sibling parent John Reimer <terminal.node gmail.com> writes:
Kris wrote:
 JJR, "manifest" is something that anyone who used BCPL would instantly 
 recognize:  http://www.lysator.liu.se/c/clive-on-bcpl.html
 
 - Kris
 
 
 
Ah... so they are going for the retro look, then? :) Interesting about BCPL... thx for the link.
Dec 21 2007
prev sibling next sibling parent Jason House <jason.james.house gmail.com> writes:
Leandro Lucarella Wrote:

 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants.
It also looks like we lost the final keyword (the definitions of stdin, stdout, etc have changed)
Dec 21 2007
prev sibling next sibling parent "Janice Caron" <caron800 googlemail.com> writes:
On 12/21/07, Leandro Lucarella <llucax gmail.com> wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.
Woo hoo! That'll do me! Thanks, Walter!
Dec 21 2007
prev sibling next sibling parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.
 
 [1] http://www.dsource.org/projects/phobos/changeset/535
 
That works for me! Seems a little quirky, but at least the meaning is not overloaded or being forced to mean something totally different from what the dictionary says. And the historical nod to BCPL is very nice. D is getting back to its roots while at the same time breaking new ground. :-) (I personally don't see what all the fuss is about not making new keywords -- as long as they aren't tiny common words like "value" or "get" ... or "in" or "out" ... ;-) ) --bb
Dec 21 2007
prev sibling next sibling parent reply Hxal <hxal freenode.d.channel> writes:
Leandro Lucarella Wrote:

 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.
 
 [1] http://www.dsource.org/projects/phobos/changeset/535
I wonder if now that we have "manifest" meaning "taking no storage space", it could be made to work for functions too (inlining every call to the function).
Dec 22 2007
next sibling parent "Vladimir Panteleev" <thecybershadow gmail.com> writes:
On Sat, 22 Dec 2007 15:21:55 +0200, Hxal <hxal freenode.d.channel> wrote:

 Leandro Lucarella Wrote:

 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.

 [1] http://www.dsource.org/projects/phobos/changeset/535
I wonder if now that we have "manifest" meaning "taking no storage space", it could be made to work for functions too (inlining every call to the function).
That would be great, but I think macros will do that better. I think it's noteworthy that some languages like Delphi have an "inline" keyword for functions (and it works across units/modules). -- Best regards, Vladimir mailto:thecybershadow gmail.com
Dec 22 2007
prev sibling parent reply "Janice Caron" <caron800 googlemail.com> writes:
On 12/22/07, Hxal <hxal freenode.d.channel> wrote:
 I wonder if now that we have "manifest" meaning "taking no storage space",
 it could be made to work for functions too (inlining every call to the
function).
Why would you want to do that? I don't see why the programmer should need to know or care what gets inlined and what doesn't.
Dec 22 2007
parent "Vladimir Panteleev" <thecybershadow gmail.com> writes:
On Sat, 22 Dec 2007 19:08:37 +0200, Janice Caron <caron800 googlemail.com>
wrote:

 On 12/22/07, Hxal <hxal freenode.d.channel> wrote:
 I wonder if now that we have "manifest" meaning "taking no storage space",
 it could be made to work for functions too (inlining every call to the
function).
Why would you want to do that? I don't see why the programmer should need to know or care what gets inlined and what doesn't.
1) The compiler can't know which code is in more need of performance - this gives more control over performance to the user. Also, inlining doesn't just imply copying the machine code - the function call is substituted at the AST level, which means that it allows optimizations to happen across function boundaries. 2) Sometimes it's very useful for security. Reverse-engineering a 500kb function of mostly inlined cryphographic and mathematical operations is hell, and doesn't have any substantial negative effects (the worst part is the huge stack frame). -- Best regards, Vladimir mailto:thecybershadow gmail.com
Dec 22 2007
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.
 
 [1] http://www.dsource.org/projects/phobos/changeset/535
Sorry, that's going away.
Dec 22 2007
next sibling parent John Reimer <terminal.node gmail.com> writes:
Walter Bright wrote:
 Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.

 [1] http://www.dsource.org/projects/phobos/changeset/535
Sorry, that's going away.
wha?! ... :( Oh well... as the world turns.
Dec 22 2007
prev sibling parent reply Daniel Keep <daniel.keep.lists gmail.com> writes:
Walter Bright wrote:
 Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.

 [1] http://www.dsource.org/projects/phobos/changeset/535
Sorry, that's going away.
And once again, digitalmars.D gets itself worked into a tizzy over something that doesn't end up happening. This newsgroup jumps the gun so often, it's a wonder it hasn't been shot in the back. Well, fatally anyway... :P -- Daniel
Dec 22 2007
next sibling parent John Reimer <terminal.node gmail.com> writes:
Daniel Keep wrote:
 
 Walter Bright wrote:
 Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.

 [1] http://www.dsource.org/projects/phobos/changeset/535
Sorry, that's going away.
And once again, digitalmars.D gets itself worked into a tizzy over something that doesn't end up happening. This newsgroup jumps the gun so often, it's a wonder it hasn't been shot in the back. Well, fatally anyway... :P -- Daniel
Woh hoo... this one was a doozy this time... wasn't it? And I fell for it too! :P -JJR
Dec 22 2007
prev sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Daniel Keep wrote:
 
 Walter Bright wrote:
 Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really think he
 should went with alias or macro or with other better *existing* keyword,
 but is definitely better than enum.

 [1] http://www.dsource.org/projects/phobos/changeset/535
Sorry, that's going away.
And once again, digitalmars.D gets itself worked into a tizzy over something that doesn't end up happening. This newsgroup jumps the gun so often, it's a wonder it hasn't been shot in the back. Well, fatally anyway...
If Walter would actually post a little more often about what was going on, or get someone else in the cabal to do so, then we wouldn't have to guess. --bb
Dec 23 2007
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Bill Baxter wrote:
 Daniel Keep wrote:
 Walter Bright wrote:
 Leandro Lucarella wrote:
 According to phobos changeset 535[1] I guess we have a new 'manifest'
 keyword to define manifest (to be redundant) constants. I really 
 think he
 should went with alias or macro or with other better *existing* 
 keyword,
 but is definitely better than enum.

 [1] http://www.dsource.org/projects/phobos/changeset/535
Sorry, that's going away.
And once again, digitalmars.D gets itself worked into a tizzy over something that doesn't end up happening. This newsgroup jumps the gun so often, it's a wonder it hasn't been shot in the back. Well, fatally anyway...
If Walter would actually post a little more often about what was going on, or get someone else in the cabal to do so, then we wouldn't have to guess.
Or put another way: Nature abhors a vacuum and this newsgroup abhors an information vacuum. Whatever little leak springs in that vacuum will inevitably expand to fill all available space. --bb
Dec 23 2007