The D Programming Language Vision Document
monkyyy
crazymonkyyy at gmail.com
Sun Jul 3 17:09:46 UTC 2022
On Sunday, 3 July 2022 at 08:46:31 UTC, Mike Parker wrote:
> Feedback is welcome.
>Metaprogramming
This section is... light on details and does little to clear up
if you share my goals.
My current take on this is that I believe something with c
feature ser + templates are the future, their foundation
extremely shaky and awful with c++ appearing to make it powerful
by accident, and that I should be wherever there is the most
sugar to make it livable.
This will mostly involve me wanting an endless stream of new
features to play with. But this contradicts the earlier section
about simplicity and avoiding complex features.
Templates generally get ugly syntax, alias when you want to store
first class type, static if's everywhere, _______traits; so Id
suggests that's updated to be complex features that affect
standard code but generally be open to experimental features in
the template space; so that templates are generally going to get
the short end of the stick design-wise but that but open to
exploring out the foundation meta programming needs.
>Phobos and DRuntime
You don't comment on how v2 should be organized.
Currently, I believe to write functional-style code your going to
import 5 different std libs and at least algorithm and range. Is
that going to continue or be fixed?
I find the naming conflicts of "write" to be fairly awful and
makes `import std;` undoable and even if you always write out
your imports, studio and file are often going to be used
together. Will that be fixed?
etc. etc.
the goals of std v2 probably could get its own document.
>Stronger ecosystem
>Community management
>All D users and contributors must feel comfortable participating
>in the D community.
>There is a divide between those who believe in a "kitchen sink"
>standard library and those who support a minimal standard
>library backed up by a large ecosystem. We must find a balance
>that makes sense for the D programming language.
Id suggest dropping std.experimental and get a std.community sort
of thing going.
Where given snar did sumtypes as a subtype lib, then got into
std.experimental, had to follow your process and whatever; and
then finally got merged into std.
Instead, I'd suggest that snar makes an important lib, it gets
noticed by the community, std.community.sumtype will point at
snar's github either auto-downloaded or batched with compiler
releases.
Have whatever legal disclaimer that std.community is not your
responsibility, is kinda bad style to overuse and should be
verified yourself. But have a curated list of community projects
that have a soft thumbs up and that are easy to use. While
dropping the std.experimental take that everyone says is a bad
experience.
More information about the Digitalmars-d-announce
mailing list