DLF September 2023 Planning Update

Mike Parker aldacron at gmail.com
Wed Nov 15 05:27:40 UTC 2023


On Wednesday, 15 November 2023 at 02:27:42 UTC, Mike Shah wrote:

> I just want to echo Steve's sentiment, that it should be easy 
> for new (and old) D users to start up a project without 
> worrying about editions. Reducing friction is incredibly 
> important for adoption and usage. If the library writer 
> specifies the 'edition' within their own module and it's 
> totally encapsulated, that seems fine -- I think that is what I 
> understand from the editions proposal (and if they don't 
> specify the edition, it defaults to whatever the compilers 
> default edition is).

It's just like any other language feature you have to learn. The 
documentation will be clearly divided by edition. You'll have one 
section for the base language (the default edition) and one for 
each subsequent edition. You can jump in an use the default 
language without caring about editions. Then when you want to 
learn more, say sumtypes and tuples from edition N, the 
documentation, tutorials, and example code you see should make it 
very clear that you need to specify edition N. And the 
documentation for edition N will explain all the changes that 
edition makes.

If someone misses all of that and tries to use tuples without 
specifying edition N, the compiler should be able to tell them 
what the problem is, how to solve it (annotate your module 
declaration with `@edition(N)`), and provide the URL to the 
relevant documentation.

The problem with changing the default for each compiler version 
means in effect there is no default, and downloading any new 
version means potential breakage that requires extra steps to 
fix, whether you're a beginner or not. We want to eliminate the 
need for extra steps.


More information about the Digitalmars-d-announce mailing list