It's a rough rough draft, but one for the full chapter on arrays,
associative arrays, and strings.
http://erdani.com/d/thermopylae.pdf
Any feedback is welcome. Thanks!
Andrei
Leandro Lucarella:
I think that's used to check for memory corruption, by storing a known
patter before and after the actual object. Then, each time you can, you
check that the unused memory block is intact (meaning nobody wrote to an
invalid memory area).
Such things can be quite useful. Do
Jeremie Pelletier wrote:
http://bartoszmilewski.wordpress.com/2009/10/21/what-does-haskell-have-to-do-with-c/
Bartosz's second part of 'Template Metaprogramming Made Easy (Huh?)',
its quite a read :)
Yes, it is excellent. Two comments:
(1) Bartosz's D examples make me seriously question
Denis Koroskin Wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the later
versions had issues with imports) and for the first time faced problems
with shared modifier.
I don't need shared and all my globals are __gshared (they are globally
unique instances that
On Wed, 28 Oct 2009 02:12:12 +0300, Denis Koroskin
2kor...@gmail.com wrote:
On Wed, 28 Oct 2009 00:21:47 +0300, grauzone n...@example.net wrote:
BCS wrote:
Hello grauzone,
PS: I wonder, should the runtime really execute finally blocks if an
Error exception is thrown? (Errors are for runtime
Don wrote:
This is another small imperfection we should get rid of.
The floating point types have a property called .min, but unlike the
integer .min, it's not the minimum!
This misnaming is bad because (a) it causes confusion; and (b) it
interfere with generic code, requiring special cases.
Denis Koroskin wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the later
versions had issues with imports) and for the first time faced problems
with shared modifier.
I don't need shared and all my globals are __gshared (they are globally
unique instances that don't need
Denis Koroskin wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the later
versions had issues with imports) and for the first time faced problems
with shared modifier.
I don't need shared and all my globals are __gshared (they are globally
unique instances that don't need
Walter Bright wrote:
Denis Koroskin wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the later
versions had issues with imports) and for the first time faced
problems with shared modifier.
I don't need shared and all my globals are __gshared (they are
globally unique
Denis Koroskin wrote:
On Wed, 28 Oct 2009 00:21:47 +0300, grauzone n...@example.net wrote:
BCS wrote:
Hello grauzone,
PS: I wonder, should the runtime really execute finally blocks if an
Error exception is thrown? (Errors are for runtime errors, Exception
for normal exceptions.) Isn't it
On Wed, 28 Oct 2009 14:23:38 +0300, Christopher Wright
dhase...@gmail.com wrote:
Denis Koroskin wrote:
On Wed, 28 Oct 2009 00:21:47 +0300, grauzone n...@example.net wrote:
BCS wrote:
Hello grauzone,
PS: I wonder, should the runtime really execute finally blocks if an
Error exception is
On Wed, 28 Oct 2009 13:17:43 +0300, Walter Bright
newshou...@digitalmars.com wrote:
Denis Koroskin wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the later
versions had issues with imports) and for the first time faced problems
with shared modifier.
I don't need
Denis Koroskin Wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the later
versions had issues with imports) and for the first time faced problems
with shared modifier.
A quick trip over to bugzilla is all you need to see that shared is completely
broken. Here's what I
Christopher Wright Wrote:
Denis Koroskin wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the later
versions had issues with imports) and for the first time faced problems
with shared modifier.
I don't need shared and all my globals are __gshared (they are
Don Wrote:
Don wrote:
This is another small imperfection we should get rid of.
The floating point types have a property called .min, but unlike the
integer .min, it's not the minimum!
This misnaming is bad because (a) it causes confusion; and (b) it
interfere with generic code,
== Quote from Walter Bright (newshou...@digitalmars.com)'s article
Denis Koroskin wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the later
versions had issues with imports) and for the first time faced problems
with shared modifier.
I don't need shared and all my
Andrei Alexandrescu Wrote:
Justin Johansson wrote:
Denis Koroskin Wrote:
Amazon mentions March 15, 2010:
http://www.amazon.com/exec/obidos/ASIN/0321635361/modecdesi-20
Thanks; just had a look at that link.
Did Andrei give a preview of the table of contents somewhere? I'd
Justin Johansson wrote:
Andrei Alexandrescu Wrote:
Justin Johansson wrote:
Denis Koroskin Wrote:
Amazon mentions March 15, 2010:
http://www.amazon.com/exec/obidos/ASIN/0321635361/modecdesi-20
Thanks; just had a look at that link.
Did Andrei give a preview of the table of contents
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
This is very exciting because it opens up or simplifies a number of
possibilities. One is that of implementing true
Just stumbled across this LtU resource, July 2009, and feel that D community
might learn
something from it (sorry if this is olde news) ...
Unladen Swallow: LLVM based Python compiler
http://lambda-the-ultimate.org/node/3491
and from there:
unladen-swallow: A faster implementation of Python
Andrei Alexandrescu wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
This is very exciting because it opens up or simplifies a number of
possibilities. One is
Pelle Månsson wrote:
Andrei Alexandrescu wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not
considered very special by the compiler.
This is very exciting because it opens up or simplifies a number of
Andrei Alexandrescu Wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
This is very exciting because it opens up or simplifies a number of
possibilities. One
Andrei Alexandrescu wrote:
Pelle Månsson wrote:
Andrei Alexandrescu wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not
considered very special by the compiler.
This is very exciting because it opens up
Following code will freeze app on std.gc.fullCollect(), when sqlite3_close() in
destructor is called. If destructor is called manualy, everything goes ok.
Is it a bug, and if is, with what? It behaves same on winxp64 and centos5.2
using dmd 1.30 and sqlite 3.6.5 or 3.6.19 statically import lib.
I have quite a big project and when I compile it I get this internal
compiler error: template.c:806: failed assertion `i parameters-dim'.
I don't know what could cause that error so I don't know where to look
in my code to try to produce a small test case and report an issue. I'm
using quite a
Jacob Carlborg wrote:
I have quite a big project and when I compile it I get this internal
compiler error: template.c:806: failed assertion `i parameters-dim'.
I don't know what could cause that error so I don't know where to look
in my code to try to produce a small test case and report an
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s article
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
This is very exciting because it opens up or
On Wed, 28 Oct 2009 09:22:00 -0500, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
This is very exciting
On 10/28/09 16:32, Don wrote:
Jacob Carlborg wrote:
I have quite a big project and when I compile it I get this internal
compiler error: template.c:806: failed assertion `i parameters-dim'.
I don't know what could cause that error so I don't know where to look
in my code to try to produce a
dsimcha wrote:
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s article
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
This is very exciting because
bearophile, el 28 de octubre a las 03:52 me escribiste:
Leandro Lucarella:
I think that's used to check for memory corruption, by storing a known
patter before and after the actual object. Then, each time you can, you
check that the unused memory block is intact (meaning nobody wrote to
Andrei Alexandrescu Wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
This is very exciting because it opens up or simplifies a number of
possibilities. One
Denis Koroskin, el 28 de octubre a las 08:05 me escribiste:
I've recently updated to DMD2.035 (from DMD2.031 because all the
later versions had issues with imports) and for the first time faced
problems with shared modifier.
I don't need shared and all my globals are __gshared (they are
On 10/28/09 16:32, Don wrote:
Jacob Carlborg wrote:
I have quite a big project and when I compile it I get this internal
compiler error: template.c:806: failed assertion `i parameters-dim'.
I don't know what could cause that error so I don't know where to look
in my code to try to produce a
Jacob Carlborg wrote:
On 10/28/09 16:32, Don wrote:
Jacob Carlborg wrote:
I have quite a big project and when I compile it I get this internal
compiler error: template.c:806: failed assertion `i parameters-dim'.
I don't know what could cause that error so I don't know where to look
in my code
Pelle Månsson, el 28 de octubre a las 15:48 me escribiste:
Andrei Alexandrescu wrote:
Walter has magically converted his work on T[new] into work on
making associative arrays true templates defined in druntime and
not considered very special by the compiler.
This is very exciting because it
yigal chripun wrote:
Andrei Alexandrescu Wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
This is very exciting because it opens up or simplifies a number of
Denis Koroskin Wrote:
As an escape from the type system, you can always cast away the
shared-ness.
That's the only way I have now. Casts from shared to unshared *everywhere*:
class BuildManager : BuildListener
{
synchronized void build(shared Target target)
{
//
Don wrote:
Jeremie Pelletier wrote:
http://bartoszmilewski.wordpress.com/2009/10/21/what-does-haskell-have-to-do-with-c/
Bartosz's second part of 'Template Metaprogramming Made Easy (Huh?)',
its quite a read :)
Yes, it is excellent. Two comments:
(1) Bartosz's D examples make me seriously
Don wrote:
Jacob Carlborg wrote:
I have quite a big project and when I compile it I get this internal
compiler error: template.c:806: failed assertion `i parameters-dim'.
I don't know what could cause that error so I don't know where to look
in my code to try to produce a small test case and
Don wrote:
Jacob Carlborg wrote:
On 10/28/09 16:32, Don wrote:
Jacob Carlborg wrote:
I have quite a big project and when I compile it I get this internal
compiler error: template.c:806: failed assertion `i parameters-dim'.
I don't know what could cause that error so I don't know where to
Leandro Lucarella:
If that's true then handier (compile-time?) solutions can be found.
What do you mean?
For example something run-time that doesn't work with a version(), like
something that can be added to the GC API. If this is seen as too much slow or
hard to do, then just the GC may
Denis Koroskin wrote:
On Wed, 28 Oct 2009 13:17:43 +0300, Walter Bright
newshou...@digitalmars.com wrote:
Denis Koroskin wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the
later versions had issues with imports) and for the first time faced
problems with shared
Pelle Månsson wrote:
Andrei Alexandrescu wrote:
Pelle Månsson wrote:
Also, foreach with a single variable should default to keys, in my
opinion.
That is debatable as it would make the same code do different things
for e.g. vectors and sparse vectors.
Andrei
Debatable indeed, but I find
Andrei Alexandrescu:
Sounds good, thanks. If anyone is up to the task, we'd all be grateful.
LLVM is good for D/LDC for several things:
- The LLVM optimizer is good, usually quite better than the DMD one. If you
write D C-like code you usually reach performance similar to true C code.
- LLVM
bearophile wrote:
Andrei Alexandrescu:
Sounds good, thanks. If anyone is up to the task, we'd all be grateful.
LLVM is good for D/LDC for several things:
[snip]
Thanks. Just in case I was misunderstood - I said: If anyone would want
to write an article (e.g. a blog entry, magazine
Andrei Alexandrescu:
That is debatable as it would make the same code do different things for
e.g. vectors and sparse vectors.
Iterating on the keys is more useful, in real-world programs.
Regarding the names:
- keys, values return lazy iterators. keys returns a set-like object that
For making the GC precise, I need to be able to get at the size of a class
instance at compile time. The .sizeof property returns the size of a
reference, i.e. (void*).sizeof. I need the amount of bytes an instance uses.
Object destructors can be tricky in a GC'd language. It looks like you're
accessing a deallocated pointer in your destructor. Order of
collection/destruction is not guaranteed.
Bane Wrote:
Following code will freeze app on std.gc.fullCollect(), when sqlite3_close()
in destructor is called.
dsimcha wrote:
For making the GC precise, I need to be able to get at the size of a class
instance at compile time. The .sizeof property returns the size of a
reference, i.e. (void*).sizeof. I need the amount of bytes an instance uses.
Not sure if it's what you're after, but there is
bearophile, el 28 de octubre a las 13:19 me escribiste:
Leandro Lucarella:
If that's true then handier (compile-time?) solutions can be found.
What do you mean?
For example something run-time that doesn't work with a version(), like
something that can be added to the GC API. If this
Bane wrote:
Following code will freeze app on std.gc.fullCollect(), when sqlite3_close() in
destructor is called. If destructor is called manualy, everything goes ok.
Is it a bug, and if is, with what? It behaves same on winxp64 and centos5.2
using dmd 1.30 and sqlite 3.6.5 or 3.6.19
== Quote from Lars T. Kyllingstad (pub...@kyllingen.nospamnet)'s article
dsimcha wrote:
For making the GC precise, I need to be able to get at the size of a class
instance at compile time. The .sizeof property returns the size of a
reference, i.e. (void*).sizeof. I need the amount of
grauzone Wrote:
Bane wrote:
Following code will freeze app on std.gc.fullCollect(), when
sqlite3_close() in destructor is called. If destructor is called manualy,
everything goes ok.
Is it a bug, and if is, with what? It behaves same on winxp64 and centos5.2
using dmd 1.30 and
Hello Yigal,
On 27/10/2009 22:50, BCS wrote:
And as soon as you *require* an IDE to view the stuff, working
without one goes from 'less than ideal' to functionally impossible. I
think we have been over this ground before; I have major issues with
tool chains that are more or less impossible
On Wed, 28 Oct 2009 16:19:11 +0300, dsimcha dsim...@yahoo.com wrote:
== Quote from Walter Bright (newshou...@digitalmars.com)'s article
Denis Koroskin wrote:
I've recently updated to DMD2.035 (from DMD2.031 because all the later
versions had issues with imports) and for the first time faced
On Wed, 28 Oct 2009 17:22:00 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
Wow, this is
On Wed, 28 Oct 2009 20:30:45 +0300, Walter Bright
newshou...@digitalmars.com wrote:
Andrei would suggest a Shared!(T) template that would wrap an unshared
type and make all methods shared. This would work, but requires full
AST manipulation capabilities (it's clearly not enough to just
On Wed, 28 Oct 2009 15:06:34 -0400, Denis Koroskin 2kor...@gmail.com
wrote:
On Wed, 28 Oct 2009 17:22:00 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in
Denis Koroskin wrote:
On Wed, 28 Oct 2009 17:22:00 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not
considered very special by the compiler.
On Wed, 28 Oct 2009 22:24:46 +0300, Robert Jacques sandf...@jhu.edu
wrote:
On Wed, 28 Oct 2009 15:06:34 -0400, Denis Koroskin 2kor...@gmail.com
wrote:
On Wed, 28 Oct 2009 17:22:00 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Walter has magically converted his work on
Robert Jacques wrote:
On Wed, 28 Oct 2009 15:06:34 -0400, Denis Koroskin 2kor...@gmail.com
wrote:
On Wed, 28 Oct 2009 17:22:00 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true
Lars T. Kyllingstad wrote:
Pelle Månsson wrote:
Andrei Alexandrescu wrote:
Pelle Månsson wrote:
Also, foreach with a single variable should default to keys, in my
opinion.
That is debatable as it would make the same code do different things
for e.g. vectors and sparse vectors.
Andrei
Denis Koroskin wrote:
On Wed, 28 Oct 2009 17:22:00 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not
considered very special by the compiler.
Pelle Månsson wrote:
Lars T. Kyllingstad wrote:
Pelle Månsson wrote:
Andrei Alexandrescu wrote:
Pelle Månsson wrote:
Also, foreach with a single variable should default to keys, in my
opinion.
That is debatable as it would make the same code do different things
for e.g. vectors and sparse
On Wed, 28 Oct 2009 23:18:08 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
I'd also like you to add a few things in an AA interface.
First, opIn should not return a pointer to Value, but a pointer to a
pair of Key and Value, if possible (i.e. if this change won't
Lars T. Kyllingstad wrote:
Pelle Månsson wrote:
Lars T. Kyllingstad wrote:
Pelle Månsson wrote:
Andrei Alexandrescu wrote:
Pelle Månsson wrote:
Also, foreach with a single variable should default to keys, in my
opinion.
That is debatable as it would make the same code do different
things
Andrei Alexandrescu wrote:
dsimcha wrote:
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s
article
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not considered
very special by the compiler.
Denis Koroskin wrote:
OutOfMemory exception is supposed to be thrown with a call to
onOutOfMemoryError(), that throws OutOfMemoryError.classinfo.init (i.e.
global immutable instance of an Error).
That's clever. I like it.
Denis Koroskin wrote:
On Wed, 28 Oct 2009 23:18:08 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
I'd also like you to add a few things in an AA interface.
First, opIn should not return a pointer to Value, but a pointer to a
pair of Key and Value, if possible (i.e. if this
Lars T. Kyllingstad wrote:
Andrei Alexandrescu wrote:
dsimcha wrote:
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s
article
Walter has magically converted his work on T[new] into work on making
associative arrays true templates defined in druntime and not
considered
On Thu, 29 Oct 2009 03:08:34 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Denis Koroskin wrote:
On Wed, 28 Oct 2009 23:18:08 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
I'd also like you to add a few things in an AA interface.
First, opIn should
Denis Koroskin wrote:
On Thu, 29 Oct 2009 03:08:34 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
Denis Koroskin wrote:
On Wed, 28 Oct 2009 23:18:08 +0300, Andrei Alexandrescu
seewebsiteforem...@erdani.org wrote:
I'd also like you to add a few things in an AA interface.
It's a rough rough draft, but one for the full chapter on arrays,
associative arrays, and strings.
http://erdani.com/d/thermopylae.pdf
Any feedback is welcome. Thanks!
Andrei
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s article
It's a rough rough draft, but one for the full chapter on arrays,
associative arrays, and strings.
http://erdani.com/d/thermopylae.pdf
Any feedback is welcome. Thanks!
Andrei
Given that new is all over the place,
dsimcha wrote:
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s article
It's a rough rough draft, but one for the full chapter on arrays,
associative arrays, and strings.
http://erdani.com/d/thermopylae.pdf
Any feedback is welcome. Thanks!
Andrei
Given that new is all over
On Wed, 28 Oct 2009 14:37:22 +1300, Joel Christensen wrote:
FMOD sound (record and play) is off D Programming web site.
http://wiki.dprogramming.com/FMod/HomePage
I followed instructions from the web site. But one instruction said to
use 'coffimplib.exe' but I couldn't see where it is to
Moritz Warning wrote:
On Wed, 28 Oct 2009 14:37:22 +1300, Joel Christensen wrote:
FMOD sound (record and play) is off D Programming web site.
http://wiki.dprogramming.com/FMod/HomePage
I followed instructions from the web site. But one instruction said to
use 'coffimplib.exe' but I couldn't
Is it possible to somehow trace a static assert, just like a backtrace
for exceptions ?
http://d.puremagic.com/issues/show_bug.cgi?id=1117
Don clugd...@yahoo.com.au changed:
What|Removed |Added
Keywords||patch
CC|
http://d.puremagic.com/issues/show_bug.cgi?id=195
Don clugd...@yahoo.com.au changed:
What|Removed |Added
Keywords||patch
CC|
http://d.puremagic.com/issues/show_bug.cgi?id=2294
--- Comment #1 from Don clugd...@yahoo.com.au 2009-10-28 05:47:46 PDT ---
I cannot reproduce on any version of DMD Windows. I've tried 0.175, 1.0, 1.020,
1.023, 1.028, 1.045, and they all work.
--
Configure issuemail:
http://d.puremagic.com/issues/show_bug.cgi?id=3416
Max Samukha samu...@voliacable.com changed:
What|Removed |Added
Status|NEW |RESOLVED
http://d.puremagic.com/issues/show_bug.cgi?id=965
Max Samukha samu...@voliacable.com changed:
What|Removed |Added
CC|
http://d.puremagic.com/issues/show_bug.cgi?id=3446
Leandro Lucarella llu...@gmail.com changed:
What|Removed |Added
CC||llu...@gmail.com
http://d.puremagic.com/issues/show_bug.cgi?id=3446
--- Comment #2 from Don clugd...@yahoo.com.au 2009-10-28 09:10:46 PDT ---
Created an attachment (id=483)
Patch against DMD2 svn221
For Leandro. Walter normally puts the patches in manually, line-by-line, for
tiny patches like this, so I've
http://d.puremagic.com/issues/show_bug.cgi?id=3089
--- Comment #2 from Sobirari Muhomori dfj1es...@sneakemail.com 2009-10-28
09:55:31 PDT ---
That's because struct has no monitor member, so the callee can't lock it for
exclusive access.
--
Configure issuemail:
http://d.puremagic.com/issues/show_bug.cgi?id=3091
Sobirari Muhomori dfj1es...@sneakemail.com changed:
What|Removed |Added
Severity|normal |minor
---
http://d.puremagic.com/issues/show_bug.cgi?id=3089
--- Comment #4 from Jason House jason.james.ho...@gmail.com 2009-10-28
10:55:53 PDT ---
(In reply to comment #3)
To the best of my knowledge, currently, shared does not imply synchronized,
though synchronized implies shared. Shared only
http://d.puremagic.com/issues/show_bug.cgi?id=3446
--- Comment #3 from Leandro Lucarella llu...@gmail.com 2009-10-28 11:10:09
PDT ---
Thanks! I guess Walter will be able to do the modifications manually seeing the
diff-generated patch anyway, and people wanting to test the patches before they
http://d.puremagic.com/issues/show_bug.cgi?id=3089
Walter Bright bugzi...@digitalmars.com changed:
What|Removed |Added
Status|NEW |RESOLVED
http://d.puremagic.com/issues/show_bug.cgi?id=3090
Walter Bright bugzi...@digitalmars.com changed:
What|Removed |Added
Status|NEW |RESOLVED
http://d.puremagic.com/issues/show_bug.cgi?id=3091
Walter Bright bugzi...@digitalmars.com changed:
What|Removed |Added
CC|
94 matches
Mail list logo