D has AA and arrays built into the language and runtime. But why are sumtype, arrays/smart pointers using custom allocators, nullable, tuple at the expense of std? Everything listed in this article https://dlang.org/articles/builtin.html applies to them. I think this can be done as something like an optional extension in the compiler.
Thread overview | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
June 10, 2022 Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
June 10, 2022 Re: Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
Posted in reply to mesni | On Friday, 10 June 2022 at 01:08:02 UTC, mesni wrote: >D has AA and arrays built into the language and runtime. But why are sumtype, arrays/smart pointers using custom allocators, nullable, tuple at the expense of std? Everything listed in this article https://dlang.org/articles/builtin.html applies to them. I think this can be done as something like an optional extension in the compiler. By the way, all modern system languages (zig, odin) have such types built in. And D, due to the need to maintain compatibility (although it still breaks it), moves away from the roots and follows the path of C++ |
June 10, 2022 Re: Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
Posted in reply to mesni | On Friday, 10 June 2022 at 01:08:02 UTC, mesni wrote: >D has AA and arrays built into the language and runtime. But why are sumtype, arrays/smart pointers using custom allocators, nullable, tuple at the expense of std? Everything listed in this article https://dlang.org/articles/builtin.html applies to them. I think this can be done as something like an optional extension in the compiler. So everyone can feel extremely clever coding their own with recursive templates Also generally speaking the apis people pick for these things are awful, I rather have more meta programming tools |
June 10, 2022 Re: Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
Posted in reply to mesni | On Friday, 10 June 2022 at 01:08:02 UTC, mesni wrote: >D has AA and arrays built into the language and runtime. But why are sumtype, arrays/smart pointers using custom allocators, nullable, tuple at the expense of std? Everything listed in this article https://dlang.org/articles/builtin.html applies to them. I think this can be done as something like an optional extension in the compiler. I'm not sure if AA and arrays are built in the D language. Not even classes are built into the language. If I'm not mistaken AA, arrays and classes are implemented using meta programming and compiler hooks. It's a matter of definition, yes classes, AA, arrays are part of the core language but they aren't really implemented as a core of the language. |
June 10, 2022 Re: Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
Posted in reply to mesni | On Friday, 10 June 2022 at 01:16:10 UTC, mesni wrote: >On Friday, 10 June 2022 at 01:08:02 UTC, mesni wrote: >D has AA and arrays built into the language and runtime. But why are sumtype, arrays/smart pointers using custom allocators, nullable, tuple at the expense of std? Everything listed in this article https://dlang.org/articles/builtin.html applies to them. I think this can be done as something like an optional extension in the compiler. By the way, all modern system languages (zig, odin) have such types built in. And D, due to the need to maintain compatibility (although it still breaks it), moves away from the roots and follows the path of C++ To quote my own post on the subject: >The dirty secret here is that the code quality of the DMD fronted has deteriorated to the point where it is basically impossible to do a correct, complete implementation of any non-trivial language feature. So we can either have a library solution that works, but has ugly syntax; or we can have a language solution that has nice syntax, but doesn't work. Most contributors would rather build something that's ugly and correct than something that's beautiful and broken, so they mostly choose to write new libraries instead of new language features. |
June 10, 2022 Re: Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul Backus | On Friday, 10 June 2022 at 13:21:09 UTC, Paul Backus wrote: >the code quality of the DMD >fronted has deteriorated to the point where it is basically impossible to do a correct, complete implementation of any non-trivial language feature. Is it because there is no |
June 10, 2022 Re: Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
Posted in reply to zjh | On Friday, 10 June 2022 at 14:00:13 UTC, zjh wrote: >Is it because there is no What can be done to improve the willingness of contributors to contribute? |
June 10, 2022 Re: Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
Posted in reply to zjh | On Friday, 10 June 2022 at 14:00:13 UTC, zjh wrote: >On Friday, 10 June 2022 at 13:21:09 UTC, Paul Backus wrote: >the code quality of the DMD >fronted has deteriorated to the point where it is basically impossible to do a correct, complete implementation of any non-trivial language feature. Is it because there is no No, it's because there's too much shared mutable state, and not enough immutable objects and pure functions. |
June 10, 2022 Re: Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul Backus | On Friday, 10 June 2022 at 14:14:46 UTC, Paul Backus wrote: >No, it's because there's too much shared mutable state, and not enough immutable objects and pure functions. Can it be improved by splitting large |
June 10, 2022 Re: Why are some types from std not in the core of the language? | ||||
---|---|---|---|---|
| ||||
Posted in reply to zjh | On Friday, 10 June 2022 at 14:24:06 UTC, zjh wrote: >On Friday, 10 June 2022 at 14:14:46 UTC, Paul Backus wrote: >No, it's because there's too much shared mutable state, and not enough immutable objects and pure functions. Can it be improved by splitting large The size of the source files is not the problem. |