August 12, 2002
v0.0.6: cent/ucent, complex/imaginary, and delegate support has been added.  This makes the supported types list complete, although I need to go through the code generator and fill out the multitudinous type holes that exist in every operation.

http://amateur-scrolls.sourceforge.net/old/dli/dli-0.0.6.tar.gz

August 14, 2002
v0.0.7: Windows is now supported using MSVC and NASM.  More work on it needs to be done, but that temporary exposure nearly killed me.  Blech.  Anyway, it compiles and runs the test program.

August 14, 2002
Burton Radons wrote:
> v0.0.7: Windows is now supported using MSVC and NASM.  More work on it needs to be done, but that temporary exposure nearly killed me.  Blech.  Anyway, it compiles and runs the test program.
> 

LOL!  :-)

August 15, 2002
v0.0.8: Nothing.  Except that all the unittests in Phobos are compiled and checked, which required large changes to code generation.  The floating point is redone to get around the stack depth problem, and I added something but I can't remember what.  Hm.  The math2 precision is currently lower because there's no support for asm statements.

Oh, and an extension made its way in awhile back.  Casting from a char[] to a wchar[] and vice-versa results in a full conversion with a copy of the array.  Characters above 255 are dropped in the latter conversion. Since these conversions are nonsensical without this, I don't see any solid reason to not do it.

August 15, 2002
On Thu, 15 Aug 2002 00:26:05 -0700 Burton Radons <loth@users.sourceforge.net> wrote:

> v0.0.8: Nothing.  Except that all the unittests in Phobos are compiled and checked, which required large changes to code generation.  The floating point is redone to get around the stack depth problem, and I added something but I can't remember what.  Hm.  The math2 precision is currently lower because there's no support for asm statements.

I don't think that math2 is a standard Phobos module (yet?).
So you shouldn't really care much about it.

> Oh, and an extension made its way in awhile back.  Casting from a char[] to a wchar[] and vice-versa results in a full conversion with a copy of the array.  Characters above 255 are dropped in the latter conversion. Since these conversions are nonsensical without this, I don't see any solid reason to not do it.

And DMD doesn't do that?
August 15, 2002
"Pavel Minayev" <evilone@omen.ru> wrote in message news:CFN374836427656134@news.digitalmars.com...
> > Oh, and an extension made its way in awhile back.  Casting from a char[] to a wchar[] and vice-versa results in a full conversion with a copy of the array.  Characters above 255 are dropped in the latter conversion. Since these conversions are nonsensical without this, I don't see any solid reason to not do it.
> And DMD doesn't do that?

DMD won't convert a wchar string to char if there are any characters above 255 in it.


August 15, 2002
"Burton Radons" <loth@users.sourceforge.net> wrote in message news:3D5B578D.1040700@users.sourceforge.net...
> v0.0.8: Nothing.  Except that all the unittests in Phobos are compiled and checked, which required large changes to code generation.

Contracts work great!


August 21, 2002
http://www.opend.org/dli/arc/dli-0.0.9.tar.gz

v0.0.9: Explicit varargs, using:

   char [] fmt (char [] format, generic [] args...)
   {
       return fmt ("%", format, args...);
   }

   char [] fmt (char startcode, char [] format, generic [] args...);

To define such functions.  This also shows an expansion; putting "..." after the last argument of a function call expands that generic list.

Type-safe varargs wouldn't be helpful without a printf, would it?  You can use "print" for where you'd use printf and fmt, as above, to format a string.  Using "%s" will work on all objects, and will be turned into %d for ints, %g for reals, handle strings, and a toFormat call on objects.  The method is given the full format specifier, which includes the code (s, d, e, f, etc.), so you can handle other types specifically.

The other main code is "%r", which is similar to Python; it's for printing out the value in the same manner in which it could be input. So printing out the string "foo\nbar" results in "foo\nbar", with the backslash and the quotations.  Handy for debug messages.

Complex and imaginary aren't handled, as aren't short, ushort, byte, and ubyte.  I'll revisit the code later.

Otherwise, there are a couple things that I can't remember.  (4.5).isnan now works, as does isinfinite and isnormal.  Handy!  I don't know where the rest of the 30 compressed kb came from.

August 21, 2002
Ack.  Fixed an important bug in code generation and updated the archive.  Precision is much improved, and it won't randomly decide you really want your numbers in hendecamal instead of boring old decimal.

To make it not seem a complete bugfix, I added stuff that shoulda been there in the first place.  You can print out arrays:

   int [] x = [1, 2, 3, 4, 5];

   fmt ("%s", x);

This results in the string "[1, 2, 3, 4, 5]".  I've put in support for the other basic types.  You can change the argument position using, for example, "%4$d %d"; now this argument will use the fourth argument passed (indexing from one), then the fifth.  I also forgot to handle class objects; that's been fixed.



August 22, 2002
On Wed, 21 Aug 2002 16:23:54 -0700 Burton Radons <loth@users.sourceforge.net> wrote:

> Ack.  Fixed an important bug in code generation and updated the archive.
>   Precision is much improved, and it won't randomly decide you really
> want your numbers in hendecamal instead of boring old decimal.
> 
> To make it not seem a complete bugfix, I added stuff that shoulda been there in the first place.  You can print out arrays:
> 
>     int [] x = [1, 2, 3, 4, 5];
> 
>     fmt ("%s", x);
> 
> This results in the string "[1, 2, 3, 4, 5]".  I've put in support for

Walter, I really hope this will be added to the official D specification!