I have an Anti-Big Feature request; that is, a request against new features.
When this const issue will finally be solved to most peoples' satisfaction,
kindly consider inserting a period of consolidation.
No more sudden, game-changing new super features for a while.
Maybe fix some long-standing bugs.
Maybe finally implement the generational GC.
Maybe actually get DbC inheritance to work like it's supposed to.
Maybe give memory back to the OS on occasion.
Maybe revisit some 1.0 concepts and consider if they're still needed.
Maybe add small things everybody can agree are good (return type deduction
comes to mind).
Aim for low-hanging fruits, stuff we can agree on for once.
How about a redundancy free import syntax?
D's 2.0 series has been characterized by a series of fundamental changes
(const, closures),
but what really makes a new release great is the polish. Small stuff everybody
looks forward to.
Clean up the issues with the OMF tools? Maybe even consider switching to PE?
(Heresy, I know; however, it is fact that GDC has no problem with megabyte-long
symbol names)
Oh, and please, delay the AST macros for a while. My head is still spinning
with closures. :)
--downs
PS:
Personal wish list:
* Struct copy semantics, lazy and ref storage types
* a way to detect ref in a delegate parameter list
* Improved compile-time information for enums
* TRACED EXCEPTIONS ;____; yeah I wish
* Allow inheriting from superclasses' nested classes
PPS: Representative sentiment from #d:

<fundesktop> a stable, feature complete compiler without bugs and good
additional tools
<fundesktop> SOMETHING WHICH D WILL NEVER GET

I have an Anti-Big Feature request; that is, a request against new
features.
When this const issue will finally be solved to most peoples'
satisfaction,
kindly consider inserting a period of consolidation.
No more sudden, game-changing new super features for a while.
Maybe fix some long-standing bugs.
Maybe finally implement the generational GC.
Maybe actually get DbC inheritance to work like it's supposed to.
Maybe give memory back to the OS on occasion.
Maybe revisit some 1.0 concepts and consider if they're still needed.
Maybe add small things everybody can agree are good (return type deduction
comes to mind).
Aim for low-hanging fruits, stuff we can agree on for once.
How about a redundancy free import syntax?
D's 2.0 series has been characterized by a series of fundamental changes
(const, closures),
but what really makes a new release great is the polish. Small stuff
everybody looks forward to.
Clean up the issues with the OMF tools? Maybe even consider switching to
PE?
(Heresy, I know; however, it is fact that GDC has no problem with
megabyte-long symbol names)
Oh, and please, delay the AST macros for a while. My head is still
spinning with closures. :)
--downs

I have an Anti-Big Feature request; that is, a request against new
features.
When this const issue will finally be solved to most peoples'
satisfaction,
kindly consider inserting a period of consolidation.
No more sudden, game-changing new super features for a while.
Maybe fix some long-standing bugs.
Maybe finally implement the generational GC.
Maybe actually get DbC inheritance to work like it's supposed to.
Maybe give memory back to the OS on occasion.
Maybe revisit some 1.0 concepts and consider if they're still needed.
Maybe add small things everybody can agree are good (return type deduction
comes to mind).
Aim for low-hanging fruits, stuff we can agree on for once.
How about a redundancy free import syntax?
D's 2.0 series has been characterized by a series of fundamental changes
(const, closures),
but what really makes a new release great is the polish. Small stuff
everybody looks forward to.
Clean up the issues with the OMF tools? Maybe even consider switching to
PE?
(Heresy, I know; however, it is fact that GDC has no problem with
megabyte-long symbol names)
Oh, and please, delay the AST macros for a while. My head is still
spinning with closures. :)
--downs

Agreed on (virtually) every count.

PS:
Personal wish list:
* TRACED EXCEPTIONS ;____; yeah I wish

Huh! Tango's had those for months.
Yeah. What.

I'm looking into giving memory back to the OS as well. It will take
some re-engineering of the GC, but it seems quite doable.
Sean

Reply to Downs,
[goood stuff]
Yup. There are a few bugs I'd like to see fixed to.

Clean up the issues with the OMF tools? Maybe even consider switching
to PE?
(Heresy, I know; however, it is fact that GDC has no problem with
megabyte-long symbol names)

BTW, Why isn't this getting fixed? people known how to fix this, several
solutions have been thrown out there. this should have been fixed a long
time ago.
here's my take on it:
If the symbol is over 1Kb*, MD5 it or something and use that. Hash them down
to 128bits and your chances of collision are so remote it's not even worth
thinking about. If you need to be able to go back to the original, stuff
a table in the .obj that maps the two. This wouldn't make for human readable
link errors but the gzipping that is used now doesn't either.
* or pick your size

What does this mean?
Succinctly put, if (and only if) a parameter is ref, then trying to call
the delegate/function type in question with a constant value for that parameter
will fail. The const bool r expression literally means "true if calling C with
a constant test fails to produce a return value".
Should there be a place to collect metaprogramming thingies like this so people
don't have to reinvent the wheel?
I vote std.meta! :)
--downs

Should there be a place to collect metaprogramming thingies like this so people
don't have to reinvent the wheel?
I vote std.meta! :)

I would have thought std.traits.

Right, my mistake. Sorry. (same to Sean)
In other, not entirely unrelated, news, scrapple.tools' /fix/ now preserves
refness of its arguments :)
(not that anybody uses that except me (sadly), but it will make my code a bit
easier)
--downs

I have an Anti-Big Feature request; that is, a request against new features.
When this const issue will finally be solved to most peoples' satisfaction,
kindly consider inserting a period of consolidation.
No more sudden, game-changing new super features for a while.
Maybe fix some long-standing bugs.
Maybe finally implement the generational GC.
Maybe actually get DbC inheritance to work like it's supposed to.
Maybe give memory back to the OS on occasion.
Maybe revisit some 1.0 concepts and consider if they're still needed.
Maybe add small things everybody can agree are good (return type deduction
comes to mind).
Aim for low-hanging fruits, stuff we can agree on for once.
How about a redundancy free import syntax?
D's 2.0 series has been characterized by a series of fundamental changes
(const, closures),
but what really makes a new release great is the polish. Small stuff everybody
looks forward to.
Clean up the issues with the OMF tools? Maybe even consider switching to PE?
(Heresy, I know; however, it is fact that GDC has no problem with
megabyte-long symbol names)
Oh, and please, delay the AST macros for a while. My head is still spinning
with closures. :)
--downs
PS:
Personal wish list:
* Struct copy semantics, lazy and ref storage types
* a way to detect ref in a delegate parameter list
* Improved compile-time information for enums
* TRACED EXCEPTIONS ;____; yeah I wish
* Allow inheriting from superclasses' nested classes
PPS: Representative sentiment from #d:

<fundesktop> a stable, feature complete compiler without bugs and good
additional tools
<fundesktop> SOMETHING WHICH D WILL NEVER GET

votes++;
If I could add something to the "small things" wishlist:
A pragma to tell the compiler to inline all occurences of a function and not
generate its body in the object file separately. It could unclutter generated
code from numerous useless proxy or otherwise simple functions that don't do
much, but get generated in flocks for example in template expansion. Could also
be used to prevent functions meant solely for CTFE from ending up in the binary.

I have an Anti-Big Feature request; that is, a request against new features.
When this const issue will finally be solved to most peoples' satisfaction,
kindly consider inserting a period of consolidation.
No more sudden, game-changing new super features for a while.
Maybe fix some long-standing bugs.
Maybe finally implement the generational GC.
Maybe actually get DbC inheritance to work like it's supposed to.
Maybe give memory back to the OS on occasion.
Maybe revisit some 1.0 concepts and consider if they're still needed.
Maybe add small things everybody can agree are good (return type deduction
comes to mind).
Aim for low-hanging fruits, stuff we can agree on for once.
How about a redundancy free import syntax?
D's 2.0 series has been characterized by a series of fundamental changes
(const, closures),
but what really makes a new release great is the polish. Small stuff everybody
looks forward to.
Clean up the issues with the OMF tools? Maybe even consider switching to PE?
(Heresy, I know; however, it is fact that GDC has no problem with
megabyte-long symbol names)
Oh, and please, delay the AST macros for a while. My head is still spinning
with closures. :)
--downs
PS:
Personal wish list:
* Struct copy semantics, lazy and ref storage types
* a way to detect ref in a delegate parameter list
* Improved compile-time information for enums
* TRACED EXCEPTIONS ;____; yeah I wish
* Allow inheriting from superclasses' nested classes
PPS: Representative sentiment from #d:

<fundesktop> a stable, feature complete compiler without bugs and good
additional tools
<fundesktop> SOMETHING WHICH D WILL NEVER GET

votes++;
If I could add something to the "small things" wishlist:
A pragma to tell the compiler to inline all occurences of a function and not
generate its body in the object file separately. It could unclutter generated
code from numerous useless proxy or otherwise simple functions that don't do
much, but get generated in flocks for example in template expansion. Could also
be used to prevent functions meant solely for CTFE from ending up in the binary.

Yeah, really, "inline" should be a function attribute, never a file attribute,
and it should be used. That said, I too am pretty tired of major compiler
changes.
At the moment, Walnut cannot compile with DMD 1.21 or later because of some bug
or unmentioned feature implemented in that version. It has something to do with
struct Value {
union {
struct {}
int i;
bool b;
char[] c;
bla bla.
}
and later doing something with b. I'd be able to say more, but the error
message is 100% ambiguous and doesn't mention a file or line number.
The exact string I get looks like:
C:\Code\walnut>make
dmd bla bla bla
Error: 'b' is not a member of 'Value'
--- errorlevel 1
Regards,
Dan

I worked on reducing the error to a small example, and I filed a related bug:
http://d.puremagic.com/issues/show_bug.cgi?id=1738
In the process of reducing the error, I guess I lost some of the context for the
error, but I think it seems to be related to the assignment of FALSE in
structure.d:
# FALSE = { b:false, type:TYPE.BOOLEAN, access:ACCESS.READ },
Note that I'm not defending that DMD rejects your code. My bug report only gives
an example of an error message that should include a line number. I hope this
helps, but it looks like the compiler is malfunctioning in a couple of ways when
it tries to process your code. I only identified one of the malfunctions (lack
of
a line number).
By the way, to come up with the reduced example, I basically used the method
described at:
http://www.prowiki.org/wiki4d/wiki.cgi?D__Tutorial/BugReports

The exact string I get looks like:
C:\Code\walnut>make
dmd bla bla bla
Error: 'b' is not a member of 'Value'
--- errorlevel 1
Regards,
Dan