www.digitalmars.com         C & C++   DMDScript  

D - DMD 0.74 release

reply "Walter" <walter digitalmars.com> writes:
Just one new feature (unicode identifiers!), but a lot of bug fixes. Not all
bugs got fixed, I haven't forgotten about the others.

I don't have a good way to test out the unicode identifiers, anyone using a
Japanese unicode text editor or similar want to give it a try? D is a modern
language, and so really ought to support unicode well.

http://www.digitalmars.com/d/changelog.html
Oct 17 2003
next sibling parent reply "Charles Sanders" <sanders-consulting comcast.net> writes:
Coolness, can you update the changelog ?

Thanks,
C

"Walter" <walter digitalmars.com> wrote in message
news:bmq22g$2fhl$1 digitaldaemon.com...
 Just one new feature (unicode identifiers!), but a lot of bug fixes. Not

 bugs got fixed, I haven't forgotten about the others.

 I don't have a good way to test out the unicode identifiers, anyone using

 Japanese unicode text editor or similar want to give it a try? D is a

 language, and so really ought to support unicode well.

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

Oct 17 2003
parent "Walter" <walter digitalmars.com> writes:
The updated one is in the download, I'll upload the updated one.

"Charles Sanders" <sanders-consulting comcast.net> wrote in message
news:bmq35b$2grp$1 digitaldaemon.com...
 Coolness, can you update the changelog ?

 Thanks,
 C

 "Walter" <walter digitalmars.com> wrote in message
 news:bmq22g$2fhl$1 digitaldaemon.com...
 Just one new feature (unicode identifiers!), but a lot of bug fixes. Not

 bugs got fixed, I haven't forgotten about the others.

 I don't have a good way to test out the unicode identifiers, anyone


 a
 Japanese unicode text editor or similar want to give it a try? D is a

 language, and so really ought to support unicode well.

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


Oct 17 2003
prev sibling next sibling parent reply J C Calvarese <jcc7 cox.net> writes:
Walter wrote:
 http://www.digitalmars.com/d/changelog.html

I downloaded the .zip to view the changelog (since the website hasn't been updated yet) and noticed... * Added D.win32.registry. What happened to . . . "By convention, package and module names are all lower case. This is because those names have a one-to-one correspondence with the operating system's directory and file names, and many file systems are not case sensitive. All lower case package and module names will minimize problems moving projects between dissimilar file systems." (http://www.digitalmars.com/d/module.html) "d.win32.registry" would be a lot easier on my eyes. Justin
Oct 17 2003
next sibling parent reply "Walter" <walter digitalmars.com> writes:
"J C Calvarese" <jcc7 cox.net> wrote in message
news:bmq3jm$2h8v$1 digitaldaemon.com...
 Walter wrote:
 http://www.digitalmars.com/d/changelog.html

I downloaded the .zip to view the changelog (since the website hasn't been updated yet) and noticed... * Added D.win32.registry. What happened to . . . "By convention, package and module names are all lower case. This is because those names have a one-to-one correspondence with the operating system's directory and file names, and many file systems are not case sensitive. All lower case package and module names will minimize problems moving projects between dissimilar file systems." (http://www.digitalmars.com/d/module.html) "d.win32.registry" would be a lot easier on my eyes.

What happened was that I'd prefer just 'd', but it wound up causing problems because 'd' was commonly used as a local variable name. 'D' is rarely used, so seemed to make better sense. Compromises everywhere, sigh <g>.
Oct 17 2003
next sibling parent reply "Sean L. Palmer" <palmer.sean verizon.net> writes:
"Walter" <walter digitalmars.com> wrote in message
news:bmqatt$2qed$1 digitaldaemon.com...
 "d.win32.registry" would be a lot easier on my eyes.

What happened was that I'd prefer just 'd', but it wound up causing

 because 'd' was commonly used as a local variable name. 'D' is rarely

 so seemed to make better sense.

 Compromises everywhere, sigh <g>.

Does alias work on modules? import D; alias D phobos; phobos.foo(); If not, is there some other local renaming scheme? I may really want to use variables called D. Sean
Oct 18 2003
parent "Walter" <walter digitalmars.com> writes:
"Sean L. Palmer" <palmer.sean verizon.net> wrote in message
news:bmr1an$ogm$1 digitaldaemon.com...
 "Walter" <walter digitalmars.com> wrote in message
 news:bmqatt$2qed$1 digitaldaemon.com...
 "d.win32.registry" would be a lot easier on my eyes.

What happened was that I'd prefer just 'd', but it wound up causing

 because 'd' was commonly used as a local variable name. 'D' is rarely

 so seemed to make better sense.

 Compromises everywhere, sigh <g>.

Does alias work on modules? import D; alias D phobos; phobos.foo();

It should work. But D will still be visible.
 If not, is there some other local renaming scheme?  I may really want to

 variables called D.

You still can use variables named D. You just can't write: int D; D = D.foo(); but will need to write instead: int D; D = .D.foo();
Oct 18 2003
prev sibling parent J C Calvarese <jcc7 cox.net> writes:
Walter wrote:

 "J C Calvarese" <jcc7 cox.net> wrote in message
 news:bmq3jm$2h8v$1 digitaldaemon.com...
 
Walter wrote:

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

I downloaded the .zip to view the changelog (since the website hasn't been updated yet) and noticed... * Added D.win32.registry. What happened to . . . "By convention, package and module names are all lower case. This is because those names have a one-to-one correspondence with the operating system's directory and file names, and many file systems are not case sensitive. All lower case package and module names will minimize problems moving projects between dissimilar file systems." (http://www.digitalmars.com/d/module.html) "d.win32.registry" would be a lot easier on my eyes.

What happened was that I'd prefer just 'd', but it wound up causing problems because 'd' was commonly used as a local variable name. 'D' is rarely used, so seemed to make better sense. Compromises everywhere, sigh <g>.

Okay, that's a legitimate problem. Whenever stuff is added to phobos, it could break existing code. I think there might be a better solution though. I really feel phobos needs to be in its own package anyways to lessen conflict issues. Yes, it will break existing code. Many improvements break existing code. It should be relatively easy to fix. (All of my imports are grouped together at the top of my code. Isn't that how it's usually done?) Will phobos.win32.registry conflict with anything? I doubt it. import phobos.string; import phobos.stream; import phobos.windows; import phobos.win32.registry; (It seems to me it's a poor convention if the one who established it can't be persuaded to follow it.)
Oct 18 2003
prev sibling parent "Matthew Wilson" <matthew stlsoft.org> writes:
"J C Calvarese" <jcc7 cox.net> wrote in message
news:bmq3jm$2h8v$1 digitaldaemon.com...
 Walter wrote:
 http://www.digitalmars.com/d/changelog.html

I downloaded the .zip to view the changelog (since the website hasn't been updated yet) and noticed... * Added D.win32.registry. What happened to . . . "By convention, package and module names are all lower case. This is because those names have a one-to-one correspondence with the operating system's directory and file names, and many file systems are not case sensitive. All lower case package and module names will minimize problems moving projects between dissimilar file systems." (http://www.digitalmars.com/d/module.html) "d.win32.registry" would be a lot easier on my eyes.

I agree. However Walter's rationale is that this would break existing code where d is used as an identifier. My opinion is that the language is developing, and it should be able to break anything until 1.0 is released. Also, Walter's argument ignores where people may have used D rather than d as an identifier. Sure. it's less common, but if one can happen, so can the other. I don't see the point of introducing a glaring and permanent inconsistency just to avoid some reworking of what can only be a small user base (at this time). Still, it's not my party, I'm just one of the guests ...
Oct 18 2003
prev sibling next sibling parent reply "Carlos Santander B." <carlos8294 msn.com> writes:
"Walter" <walter digitalmars.com> wrote in message
news:bmq22g$2fhl$1 digitaldaemon.com...
| Just one new feature (unicode identifiers!), but a lot of bug fixes. Not
all
| ...

Great!
However, how could this be used?

extern(C) int año() { ... } //return the year

—————————————————————————
Carlos Santander


---

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.528 / Virus Database: 324 - Release Date: 2003-10-16
Oct 17 2003
parent reply "Carlos Santander B." <carlos8294 msn.com> writes:
"Carlos Santander B." <carlos8294 msn.com> wrote in message
news:bmq7cd$2m42$1 digitaldaemon.com...
| However, how could this be used?
|
| extern(C) int año() { ... } //return the year
|

(outside D, obviously...)

—————————————————————————
Carlos Santander
"Carlos Santander B." <carlos8294 msn.com> wrote in message
news:bmq7cd$2m42$1 digitaldaemon.com...
| However, how could this be used?
|
| extern(C) int año() { ... } //return the year
|

(outside D, obviously...)

—————————————————————————
Carlos Santander
Oct 17 2003
parent "Walter" <walter digitalmars.com> writes:
"Carlos Santander B." <carlos8294 msn.com> wrote in message
news:bmq95v$2o5f$1 digitaldaemon.com...
 "Carlos Santander B." <carlos8294 msn.com> wrote in message
 news:bmq7cd$2m42$1 digitaldaemon.com...
 | However, how could this be used?
 |
 | extern(C) int año() { ... } //return the year
 |

 (outside D, obviously...)

Actually, C99 does support unicode identifier chars, although with the \unnnn and \UNNNNNNNN syntax. But I know of no C compiler that implements it, so it's moot.
Oct 17 2003
prev sibling parent reply "Y.Tomino" <demoonlit inter7.jp> writes:
I don't have a good way to test out the unicode identifiers,
anyone using a Japanese unicode text editor or similar want to give it a

I tried the unicode identifiers as UTF-8. It succeed. But Japanease in string literals have to be SHIFT-JIS(Multi-Byte Encoding) for "printf" and "stdout.writeLine". It's troubled as a result. C and D runtime were not created to use unicode. YT ------------------------ alias printf $BI=<((B; int main() { $BI=<((B("$B$3$s$K$A$O(B\n"); return 0; }
Oct 17 2003
parent reply "Walter" <walter digitalmars.com> writes:
"Y.Tomino" <demoonlit inter7.jp> wrote in message
news:bmqjsv$4br$1 digitaldaemon.com...
I don't have a good way to test out the unicode identifiers,
anyone using a Japanese unicode text editor or similar want to give it a

I tried the unicode identifiers as UTF-8. It succeed.

Great!
 But Japanease in string literals have to be SHIFT-JIS(Multi-Byte Encoding)
 for "printf" and "stdout.writeLine".
 It's troubled as a result.
 C and D runtime were not created to use unicode.

That is a problem, I'm not sure what to do about it. One thing I have been looking for is a mapping from Shift-JIS to unicode. Do you have such a table?
 YT

 ------------------------
 alias printf $BI=<((B;

 int main()
 {
  $BI=<((B("$B$3$s$K$A$O(B\n");
  return 0;
 }

Oct 18 2003
next sibling parent reply Kazuhiro Inaba <Kazuhiro_member pathlink.com> writes:
That is a problem, I'm not sure what to do about it. One thing I have been
looking for is a mapping from Shift-JIS to unicode. Do you have such a
table?

Mapping tables between unicode and east-asian encodings can be found here: ftp://ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/ Though marked as OBSOLETE, they're the most reliable tables, i think. But sadly, on Windows, the codeset for Japanese is NOT Shift-JIS actually. Microsoft uses their (slightly different) variant of ShiftJIS, called CP932 :P. The table is: ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT or you can do the conversion by single Win32 API call: WideCharToMultiByte() : convert from UTF-16 to SystemDefaultCodePage(CP_ACP) etc I've never programmed on linux but on Linux, maybe libiconv: http://www.gnu.org/software/libiconv/ will do.
Oct 18 2003
parent "Walter" <walter digitalmars.com> writes:
Ah, this is what I need. Thanks to you and Y. Tomino!
Oct 18 2003
prev sibling next sibling parent "Y.Tomino" <demoonlit inter7.jp> writes:
That is a problem, I'm not sure what to do about it. One thing I have been
looking for is a mapping from Shift-JIS to unicode. Do you have such a
table?

A simple way is "WideCharToMultiByte(CP_ACP ... " of Windows. This API can convert not only SHIFT-JIS but also any multi-byte character set on another country version Windows. Thanks. YT
Oct 18 2003
prev sibling parent reply hideki.i <hideki.i_member pathlink.com> writes:
In article <bmqv3a$lok$1 digitaldaemon.com>, Walter says...
"Y.Tomino" <demoonlit inter7.jp> wrote in message
news:bmqjsv$4br$1 digitaldaemon.com...
I don't have a good way to test out the unicode identifiers,
anyone using a Japanese unicode text editor or similar want to give it a

I tried the unicode identifiers as UTF-8. It succeed.

Great!
 But Japanease in string literals have to be SHIFT-JIS(Multi-Byte Encoding)
 for "printf" and "stdout.writeLine".
 It's troubled as a result.
 C and D runtime were not created to use unicode.

That is a problem, I'm not sure what to do about it. One thing I have been looking for is a mapping from Shift-JIS to unicode. Do you have such a table?
 YT

 ------------------------
 alias printf $BI=<((B;

 int main()
 {
  $BI=<((B("$B$3$s$K$A$O(B\n");
  return 0;
 }


In Japanese, it looks as follows. win xp http://hp.vector.co.jp/authors/VA031566/jpstring/jpstring.html
Oct 18 2003
parent "Walter" <walter digitalmars.com> writes:
"hideki.i" <hideki.i_member pathlink.com> wrote in message
news:bmrif7$1ect$1 digitaldaemon.com...
 In Japanese, it looks as follows.
 win xp
 http://hp.vector.co.jp/authors/VA031566/jpstring/jpstring.html

Totally cool!
Oct 18 2003