November 29, 2018
On Wednesday, 21 June 2017 at 00:50:35 UTC, Mike wrote:
> On Tuesday, 20 June 2017 at 13:45:31 UTC, Mike wrote:
>
>> [...]
>
> The more I think about this, the more it seems like the best approach.  All this time I've been trying to find a way to build just enough runtime code to support the features I'm using, and I've only encountered frustration.  It's a shame that we have to build such a massive amount of infrastructure just to get a build, only to have the linker strip it all away, but apparently that's just the way things are.
>
> [...]

Hi, I'm new to D. I'm looking at options on microcontrollers and I wondered if anything ever came of this effort? I'm currently using FreeRTOS on a TI CC3220 at work. I also have access to an STM32 board and an NXP K220f (?).

Thanks!
November 29, 2018
On Thursday, 29 November 2018 at 06:50:12 UTC, Russell Haley wrote:
>
> Hi, I'm new to D. I'm looking at options on microcontrollers and I wondered if anything ever came of this effort? I'm currently using FreeRTOS on a TI CC3220 at work. I also have access to an STM32 board and an NXP K220f (?).
>
> Thanks!

Not using runtime at all. Check out betterC https://dlang.org/spec/betterc.html
November 29, 2018
On Thursday, 29 November 2018 at 06:50:12 UTC, Russell Haley wrote:
> On Wednesday, 21 June 2017 at 00:50:35 UTC, Mike wrote:
>> On Tuesday, 20 June 2017 at 13:45:31 UTC, Mike wrote:
>>
>>> [...]
>>
>> The more I think about this, the more it seems like the best approach.  All this time I've been trying to find a way to build just enough runtime code to support the features I'm using, and I've only encountered frustration.  It's a shame that we have to build such a massive amount of infrastructure just to get a build, only to have the linker strip it all away, but apparently that's just the way things are.
>>
>> [...]
>
> Hi, I'm new to D. I'm looking at options on microcontrollers and I wondered if anything ever came of this effort? I'm currently using FreeRTOS on a TI CC3220 at work. I also have access to an STM32 board and an NXP K220f (?).
>
> Thanks!

You can see the extent of my work at https://github.com/JinShil/stm32f42_discovery_demo  I'm afraid that proof of concept is all I've got; sorry.

You will likely also be interested in https://bitbucket.org/timosi/minlibd  I think it's a more complete port of the D runtime to the ARM Cortex-M platform, but the author of the project will have to give you the details.  I'm not sure if it is still being maintained.

There was a good push in the last year or so to decouple the runtime from the compiler so one can start bare-metal programming with a C-like subset of D features and incrementally implement features in the runtime.  See the changelog for 2.079 for a few details:  https://dlang.org/changelog/2.079.0.html#minimal_runtime.

There was also work towards getting more features of D working in -betterC.  See https://dlang.org/spec/betterc.html

I've always hated -betterC though, and affectionately refer to it as -worseD.  IMO -betterC would not even be necessary if the compiler<->runtime interface would just get fixed.  The fix includes, but is not limited to, removing all of the dependencies on runtime type information (a.k.a. `TypeInfo`) for information the compiler already knows at compile-time.  This can be done by lowering expressions to templates instead of `extern "C"` runtime functions calls like these: https://wiki.dlang.org/Runtime_Hooks.  It's quite difficult and messy due to D's `@safe, @nogc, @throw` attribute hell (you'll understand as you get more familiar with D).  My last PR working towards that end can be found here:  https://github.com/dlang/druntime/pull/2268

I'm no longer working with D, so I don't know if any of this has a future; sorry.

Mike
December 11, 2018
On Thursday, 29 November 2018 at 11:00:45 UTC, Mike Franklin wrote:
> On Thursday, 29 November 2018 at 06:50:12 UTC, Russell Haley wrote:
>> [...]
>
> You can see the extent of my work at https://github.com/JinShil/stm32f42_discovery_demo  I'm afraid that proof of concept is all I've got; sorry.
>
> [...]

Thanks for everything you've done! I'm just putting Arch on my Beaglebone Black and I'll look to try out D there and move down the stack again when I get bored.

Yay... dd just finished! :)

Russ
December 11, 2018
On Tuesday, 11 December 2018 at 04:37:26 UTC, Russell Haley wrote:

> I'm just putting Arch on my Beaglebone Black and I'll look to try out D there and move down the stack again when I get bored.

If you're interested in ARM Cortex-A for the time being, here are a few resources that might help you:

https://wiki.dlang.org/Building_LDC_runtime_libraries

http://d-land.sepany.de/tutorials/einplatinenrechner/einstieg-in-die-raspberry-pi-entwicklung-mit-ldc/. It's in German, but it's an easy read with an online translator.

A couple of forum discussions that I found interesting:
https://forum.dlang.org/post/siznumnaitvcnyqpleeh@forum.dlang.org
https://forum.dlang.org/post/ppuiojvktlnnvoqfdtuc@forum.dlang.org

Good luck!

Mike


December 11, 2018
On Thursday, 29 November 2018 at 11:00:45 UTC, Mike Franklin wrote:
> I'm no longer working with D, so I don't know if any of this has a future; sorry.

Hi Mike,

That's really sad information.
I was following your contributions and I am really grateful for what you have done for the D development. Especially in the embedded systems area, which is my primary domain.

I plan to start/reopen my open source activities in D (specially for SW related to the RISC-V architecture) from January 2019 (yeah, that's correct, the new year's plans ;)).

BTW, I was thinking about suggesting a new targeted donation campaign to found a paid work on D improvements in embedded system development.

If it's not a problem for you, can you explain what was the reason for leaving D?

Cheers,
Piotrek
December 12, 2018
On Tuesday, 11 December 2018 at 18:08:10 UTC, Piotrek wrote:

> That's really sad information.

Well, it's also not entirely true.  I've submitted a few pull requests recently to hopefully help clear a few obstacles for others.  But after that I probably won't be doing besides a few things here and there.

> If it's not a problem for you, can you explain what was the reason for leaving D?

I don't want to get too deep into it, as I don't think it will result in anything positive.  Suffice it to say, I want to get to X.  I don't know where others want to go, but it sure doesn't look like they're all that interested in X.  I don't think I'll ever be able to use D professionally if it stays on the current trajectory, and trying to influence its direction by contributing is exhausting and affects me negatively.

At one point I asked myself:  "In 5 years what will I have to show for the blood, sweat, and tears I put into D?" vs "In 5 years what will I have to show for the sweat, without the blood and tears, I put into X?".  Opportunity cost is the term that comes to mind.  Even if X never materializes I'll be more skilled, fulfilled, and ultimately happier if I work on X than contribute to D.

Mike

December 12, 2018
On Wednesday, 12 December 2018 at 01:12:51 UTC, Mike Franklin wrote:
> I don't think I'll ever be able to use D professionally if it stays on the current trajectory, and trying to influence its direction by contributing is exhausting and affects me negatively.

Yup contributing to D is one of the worst experiences I've had with any Open Source project I've contributed to. Walter isn't even willing to admit to there being problems, if he thinks there isn't a problem then nothing about it will end up changing. Doesn't help that he has opinions that align with that developer from Clojure, that he owes you and everyone else absolutely nothing, yet (I imagine or at the very least *hope*) he wants D to succeed. The two don't go hand in hand though.
December 12, 2018
On Wednesday, 12 December 2018 at 09:19:51 UTC, Jusl wrote:
> On Wednesday, 12 December 2018 at 01:12:51 UTC, Mike Franklin wrote:
>> I don't think I'll ever be able to use D professionally if it stays on the current trajectory, and trying to influence its direction by contributing is exhausting and affects me negatively.
>
> Yup contributing to D is one of the worst experiences I've had with any Open Source project I've contributed to. Walter isn't even willing to admit to there being problems, if he thinks there isn't a problem then nothing about it will end up changing. Doesn't help that he has opinions that align with that developer from Clojure, that he owes you and everyone else absolutely nothing, yet (I imagine or at the very least *hope*) he wants D to succeed. The two don't go hand in hand though.

To clarify, contributing to D, in general, has been a positive experience for me.  Many on the team were quite helpful reviewing my PRs, helping me get them right, contributing alternate implementations, helping me with testing and other infrastructure issues, etc.  Thank you all for your support.  I did my best to pay some of that back; and I'm sorry if it wasn't enough.

What I was trying to say is that trying to influence D's direction (by contributing) is exhausting and constantly leaves me feeling disappointed and sad rather than hopeful for the future.  I think Walter and Andrei have set a course for where they want to go, and aren't all that interested in alternatives.  That's fine, and if I were leading the project, I wouldn't have it any other way, but I don't think the current direction will be successful (I'd be delighted to be proven wrong).  I see the next 5 years much like the past 5 years, and that's discouraging to me.

I have no hard feelings for those I worked with when I was more actively involved.  I salute you all and thank you for your support. I just have a different vision for what D should be; that's all.

Mike
December 12, 2018
On Wednesday, 12 December 2018 at 09:19:51 UTC, Jusl wrote:
> Yup contributing to D is one of the worst experiences I've had
Could you email me with PR that went south so I could look at it?
> Walter isn't even willing to admit to there being problems
Citation needed https://www.youtube.com/watch?v=iXNE00Cnaqk

Actually first sentence in Clojure thread was admission of it being an issue[1].

> Doesn't help that he has opinions that align with that developer from Clojure

Where did you got that impression from?
Walter and other people here are not people person. They can work on silicone based systems for months but if they had to work with carbon based life form systems they would get exhausted after a day. Thats why things are the way they are

1 https://forum.dlang.org/thread/ptkmgq$8o8$1@digitalmars.com?page=1