On Tuesday, 9 November 2021 at 11:58:37 UTC, Dukc wrote:
>What do "interfacing types" mean?
All builtin types should be present in the bottom layer. The layer above should predominantly be built by builtin-types and meta-programming + syntactical sugar.
>- Dmd should be rewritten in idiomatic D style, so that it's easier to experiment with.
Not a requirement. Just a more modular architecture of the compiler, greater independence of compilation stages.
>- After that, a grand rework of the whole language.
Adjustments.
>- A small simple core for the reworked language, much like Lisp or Forth.
No, nothing like Lisp or Forth. Move as much as possible to meta-programming, does not mean Forth or Lisp. It also does not mean that a minimalistic syntax. You can have syntactical sugar for common constructs.
>- A different fork for the language rework, instead of having all that in the same codebase behind
version
declarations or-preview
switches or such. - No serious priority to stability and backwards compatibility before the language rework is complete.
If I got those even nearly right, You're in essence proposing D3.
That is a faster path than evolving the current compiler structure, and also faster than dealing with all the bickering about even the smallest adjustment. There is a reason for why they work on Golang2.