digitalmars.D.announce - LDC 1.11.0 beta
- kinke (7/7) Jul 04 2018 Glad to announce the first beta for LDC 1.11.
- Mike Franklin (8/9) Jul 05 2018 Thanks for all the work on this.
- kinke (4/10) Jul 05 2018 I failed to see a benefit from being able to use classes with
- Mike Franklin (19/21) Jul 05 2018 Yeah, pretty much, but also static inheritance. You can see the
- Mike Franklin (6/11) Jul 05 2018 Also, it allows me to dot-walk the hierarchy in my editor with
- kinke (1/1) Jul 05 2018 Thx for the rationale; I may have a look at it over the weekend.
- Seb (4/12) Jul 07 2018 Would be great to include https://github.com/dlang/dmd/pull/8456
- Johan Engelen (6/9) Jul 07 2018 Because the quality of new DMD releases is often subpar, the LDC
- Joakim (4/14) Jul 07 2018 In other words, this is only a beta: the final 1.11 release will
Glad to announce the first beta for LDC 1.11. * Based on D 2.081.0. * Prebuilt packages now using LLVM 6.0.1 and including additional cross-compilation targets (MIPS, MSP430, RISC-V and WebAssembly). Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.11.0-beta1 Thanks to all contributors!
Jul 04 2018
On Wednesday, 4 July 2018 at 20:38:54 UTC, kinke wrote:Glad to announce the first beta for LDC 1.11.Thanks for all the work on this. I notice the minimal2.d test from the DMD test suite is disabled: https://github.com/ldc-developers/dmd-testsuite/blob/977ef0696f7941357385925c07617544c3527f4c/runnable/minimal2.d#L5 How permanent/temporary is that? Is there something blocking the implementation? Mike
Jul 05 2018
On Thursday, 5 July 2018 at 08:55:00 UTC, Mike Franklin wrote:I notice the minimal2.d test from the DMD test suite is disabled: https://github.com/ldc-developers/dmd-testsuite/blob/977ef0696f7941357385925c07617544c3527f4c/runnable/minimal2.d#L5 How permanent/temporary is that? Is there something blocking the implementation?I failed to see a benefit from being able to use classes with static members only (abuse as namespace?) with a minimal druntime, hence no interest from my side to implement it for now.
Jul 05 2018
On Thursday, 5 July 2018 at 09:40:46 UTC, kinke wrote:I failed to see a benefit from being able to use classes with static members only (abuse as namespace?)Yeah, pretty much, but also static inheritance. You can see the pattern where I use it at https://github.com/JinShil/stm32f42_discovery_demo/blob/c324bbf861cf258a819478481521528fca88dcb3/source/stm32f42/pwr.d#L24 It's for an ARM Cortex-M microcontroller. The structure, layout, and memory locations of all memory-mapped IO registers (there are 100s of them) are all known at compile-time, so there's no need for instances of anything. The static inheritance allows me to reuse implementation code and also model the hierarchy according to my mental model. After all that's one of the pillars of D, modeling power. Also, modeling them as static classes allows me to avoid the memory layout mess in the linker script (Yuck!), as all the memory addresses accompany the code itself. This also makes it much, much easier to cross-reference the code to the microcontroller's datasheet. D's the only language I know of that can do this; it's not a strength, not a weakness. Mike
Jul 05 2018
On Thursday, 5 July 2018 at 10:57:17 UTC, Mike Franklin wrote:Also, it allows me to dot-walk the hierarchy in my editor with code-completion and documentation comments. I describe this and illustrate with images in the readme. https://github.com/JinShil/stm32f42_discovery_demo MikeI failed to see a benefit from being able to use classes with static members only (abuse as namespace?)Yeah, pretty much, but also static inheritance. You can see the pattern where I use it at https://github.com/JinShil/stm32f42_discovery_demo/blob/c324bbf861cf258a819478481521528fca88dcb3/source/stm32f42/pwr.d#L24
Jul 05 2018
Thx for the rationale; I may have a look at it over the weekend.
Jul 05 2018
On Wednesday, 4 July 2018 at 20:38:54 UTC, kinke wrote:Glad to announce the first beta for LDC 1.11. * Based on D 2.081.0. * Prebuilt packages now using LLVM 6.0.1 and including additional cross-compilation targets (MIPS, MSP430, RISC-V and WebAssembly). Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.11.0-beta1 Thanks to all contributors!Would be great to include https://github.com/dlang/dmd/pull/8456 as it's a serious regression and the reason for the early 2.081.1 release.
Jul 07 2018
On Saturday, 7 July 2018 at 18:17:49 UTC, Seb wrote:Would be great to include https://github.com/dlang/dmd/pull/8456 as it's a serious regression and the reason for the early 2.081.1 release.Because the quality of new DMD releases is often subpar, the LDC release plan is to only release after a good point release of DMD (usually *.*.1, but if this is a hasty .1 release, we probably better wait until 2.081.2) -Johan
Jul 07 2018
On Saturday, 7 July 2018 at 18:26:45 UTC, Johan Engelen wrote:On Saturday, 7 July 2018 at 18:17:49 UTC, Seb wrote:In other words, this is only a beta: the final 1.11 release will be done next month, only with the final release of the DMD 2.081 frontend, likely 2.081.2.Would be great to include https://github.com/dlang/dmd/pull/8456 as it's a serious regression and the reason for the early 2.081.1 release.Because the quality of new DMD releases is often subpar, the LDC release plan is to only release after a good point release of DMD (usually *.*.1, but if this is a hasty .1 release, we probably better wait until 2.081.2) -Johan
Jul 07 2018