On Monday, 25 January 2016 at 13:08:18 UTC, Rory McGuire wrote:
On Mon, Jan 25, 2016 at 2:46 PM, Andrei Alexandrescu via
Digitalmars-d-announce <digitalmars-d-announce@puremagic.com>
wrote:
On 01/25/2016 04:17 AM, Rory McGuire via
Digitalmars-d-announce wrote:
Looking at the way we have things now, it would actually be
quite simple to make two downloads, one with everything and
one with the bare minimum.
If we changed phobos to compile like the recent vibe.d
version does then we can even pick and choose sections of
phobos. I suppose "he who has the vision" can do either type
of release with our current tools.
What would be the benefits of this? My knee-jerk reaction is
this is a large and disruptive project with no palpable
benefits. -- Andrei
Yep, thats kind of what I was saying in the end. If someone
wanted to they could make such a release independently.
I'm trying to hack on the compiler, personally I wish all those
with the know how would put their efforts into documenting how
the compiler works and what the different parts do, that way we
could have more contributors.
+1 On lifetime management and tooling. I would like to see a lot
of improvements for DCD also tools for refactoring would also be
extremely useful.
As for splitting up everything into small packages, I don't think
D is there yet. I am still new but I already found several
libraries that I wanted to use that not follow the "official" D
Style guide.
I would not want to include N different libraries that use N
different coding styles. Look at Rust for example, you will find
that pretty much every library uses the "official" style guide.
I think that is because it is mostly "enforced" by the compiler
as a warning.
I really don't care how I write my code, but I care deeply about
consistency.
Another point is that I couldn't find any metaprogramming library
for D yet. Yes there is std.meta but it is extremely lacking,
this is quite obvious if you look into the std.
For example in "zip"
return mixin (q{ElementType(%(.moveAt(ranges[%s], n)%|,
%))}.format(iota(0, R.length)));
This could be easily expressed as a general metafunction. Also
std.meta mostly focusses on compile time stuff but I don't think
there is anything for a "Tuple".
Some inspiration could be found here
https://github.com/boostorg/hana