View mode: basic / threaded / horizontal-split · Log in · Help
March 08, 2005
Re: DMD 0.116 release
Walter wrote:
> I'm not too sure about $, __FILE__ or __LINE__. There might be a better way.
> 
> http://www.digitalmars.com/d/changelog.html

"warning - array 'length' hides other 'length' name in outer scope"
...
"The warning can be resolved by:

   1. Renaming the outer length to another name.
   2. Replacing the use of length within the [ ] with a.length.
   3. If length is at global or class scope, and that was the one 
intended to be used, use .length or this.length to disambiguate.

Some proposed language solutions are:

   1. Make the length a special symbol or a keyword instead of an 
implicitly declared variable."

You've just added the $ notation, yet you haven't mentioned it here. 
Simply because it's a trial feature, and the page might end up out of 
date if you decide to get rid of it?

And IMM making length a keyword wouldn't be the Right Thing - we'd lose 
the ability to use this name for a property in container classes.

"Fixed D.bugs/1849"

Excellent!

Stewart.

-- 
My e-mail is valid but not my primary mailbox.  Please keep replies on 
the 'group where everyone may benefit.
March 08, 2005
warning bug? (was Re: DMD 0.116 release)
I think this is a bug:

//-----------------------------------------------
int bar() { return 0; }
bool foo() { return bar()==0; }
void main() {}
//-----------------------------------------------

warning - test.d(2): implicit conversion of expression (bar == 0) of
type int to bit can cause loss of data

Same happens if bar is instead a variable, but not if it's a constant.

Notice, however, that this doesn't produce any warning:

int foo() { return null?0:1; }

But this does:

bool foo() { return null; }

_______________________
Carlos Santander Bernal
March 08, 2005
Re: DMD 0.116 release
> I'm not too sure about $

Oh, Christ Almighty.  Coming from a basic background, this is going to look 
confusing.  Strings everywhere.
March 08, 2005
Re: DMD 0.116 release
Jarrett Billingsley wrote:
>>I'm not too sure about $
> 
> 
> Oh, Christ Almighty.  Coming from a basic background, this is going to look 
> confusing.  Strings everywhere. 
> 
> 

He is indeed. Please don't resort to profanity.
March 08, 2005
Re: DMD 0.116 release
We've decided to placate Believers, Agnostics and Atheists on this ng by 
referring to Bob, who may be what/whomever you choose, or your reader 
interprets. ;)

"Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message 
news:d0l3vf$b52$1@digitaldaemon.com...
>> I'm not too sure about $
>
> Oh, Christ Almighty.  Coming from a basic background, this is going to 
> look confusing.  Strings everywhere.
>
March 08, 2005
Re: DMD 0.116 release
Matthew wrote:
> We've decided to placate Believers, Agnostics and Atheists on this ng by 
> referring to Bob, who may be what/whomever you choose, or your reader 
> interprets. ;)
> 
> "Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message 
> news:d0l3vf$b52$1@digitaldaemon.com...
> 
>>>I'm not too sure about $
>>
>>Oh, Christ Almighty.  Coming from a basic background, this is going to 
>>look confusing.  Strings everywhere.
>>
> 
> 
> 


Bobdamnit!
March 09, 2005
Re: DMD 0.116 release
"Matthew" <admin@stlsoft.dot.dot.dot.dot.org> skrev i en meddelelse 
news:d0iv6c$rp8$2@digitaldaemon.com...
> $length, assuming that particular syntax is the goer, would be a regularly 
> used facility. It's 'normal' code.

And people coming from BASIC would think that it is a string :-)

Regards,
Martin
March 09, 2005
Re: DMD 0.116 release (universal alphas)
Walter wrote:

> http://www.digitalmars.com/d/changelog.html

http://www.digitalmars.com/d/changelog.html#new0116

> Bugs Fixed:

> #  Fixed D.gnu/983 bug
http://www.digitalmars.com/drn-bin/wwwnews?D.gnu/983
a.k.a. "OS X bug: universal alpha identifiers"

> Programs with non-ascii identifiers do not
> link, under Mac OS X 10.3 using GDC 0.10...
> 
> They use the mangled name as a label for
> the assembler, and then choke on the UTF-8

Great, now I can start using all weirdo names! :-)
http://www.algonet.se/~afb/d/universalalphas/

Well, when GDC catches up with DMD again that is...
(currently gdc 0.10 is at dmd 0.110, feature-wise)

--anders
March 09, 2005
Re: DMD 0.116 release
"Andrew Fedoniouk" <news@terrainformatica.com> wrote in message 
news:d0iuko$r4p$1@digitaldaemon.com...
> Hmmmm....
>
> Can we just use "dot" for that?
>
> if( 0 != a.length && a[ .length - 1] == 10)
>
> []  brackets establish context (pretty much as 'with')
> a[.length-1] or
> a[.last]
>
> means as you said length of innermost array
>
> .arguments[] vector may also work.
>

Using "dot" like that is already the global scope resolution operator.


> "Matthew" <admin@stlsoft.dot.dot.dot.dot.org> wrote in message 
> news:d0itm4$q26$1@digitaldaemon.com...
>>
>> "Walter" <newshound@digitalmars.com> wrote in message 
>> news:d0irlm$o0s$1@digitaldaemon.com...
>>> I'm not too sure about $, __FILE__ or __LINE__. There might be a better 
>>> way.
>>>
>>> http://www.digitalmars.com/d/changelog.html
>>
>> He he. I'm now inclining towards a more general approach to context 
>> dependency, following the $length, $count, etc. mentioned (by 
>> ??forgotten??; sorry) the other day.
>>
>> Simply put, $ would mean 'within the context of the innermost entity', 
>> so:
>>
>>
>>    int[]    a = . . .
>>
>>    if( 0 != a.length &&
>>        a[$length - 1] == 10)
>>    {
>>           ...
>>
>> Thus $ is not 'wasted' on array length, and neither $len nor $length (nor 
>> anything else) are defined as some special funky kinds of keywords. 
>> Rather, $X means that X is relative. Like a deeper/funkier with.
>>
>> I'll leave it to faster/sharper minds to come up with all the wild 
>> ramifications of this ...
>>
>>
>> :-)
>>
>>
>>
>
>
March 09, 2005
Re: DMD 0.116 release
> We've decided to placate Believers, Agnostics and Atheists on this ng by 
> referring to Bob, who may be what/whomever you choose, or your reader 
> interprets. ;)

Oh, Bob Almighty then.
Next ›   Last »
2 3 4 5 6
Top | Discussion index | About this forum | D home