August 20, 2019
On Tuesday, 20 August 2019 at 00:38:36 UTC, Manu wrote:
> If there's a path to finance 1st class D support on mobile

I think you can use the bug bounty system Mike just announced.

August 20, 2019
On Tue, Aug 20, 2019 at 12:05 AM Dukc via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>
> On Tuesday, 20 August 2019 at 00:38:36 UTC, Manu wrote:
> > If there's a path to finance 1st class D support on mobile
>
> I think you can use the bug bounty system Mike just announced.

It doesn't have the feature I described, but yeah we could use that system...
August 20, 2019
On Tuesday, 20 August 2019 at 06:58:33 UTC, Manu wrote:
> Right, it's not a 3-digit problem. It's probably a 5-digit problem,
> but in the D community, a 4-digit sum requires quite a bit of
> rallying.
> I think if someone (like yourself) who had the confidence of the
> community and a record for delivering were to take the challenge, we
> could probably arrange to fund it.
> Most computers on earth run Android or iOS, and it's embarrassing for
> us that we don't have a toolchain that works out of the box, and
> passes CI.
> We even have extern(Objective-C) readily available! It's such a missed
> opportunity!

So, I got hope recently that I'll finally be paid for some work I did last year. Surprise, no response to my emails again.

But assuming that *FINALLY* comes through. I was planning on a minimum of €500 for getting iOS/Android closer.

I don't want to just post €500 to the bug bounty though with unclear requirements. Rather than saying "here's a big lump sum" my idea instead is to itemise exactly what's required to get LDC providing first-class support and attach a dollar sum to each item. This way, it's basically just reducing it to a milestone with tasks that require completion. And it also means more than one person can work on it.

I guess it makes it harder to rally the troops to pool money for fund, unless someone sets up a GoFundMe or something and has complete transparency over where the funds are going.

-----

And since it directly relates to my first post in this thread. The potential customer mentioned will become an actual customer within a couple of months. So this leaves me two options:

1) Gamble (literally, by throwing money at the problem) that iOS/Android support will appear very quickly so that their milestones aren't hampered by D's lacking ecosystem support
2) Write the runtime component in C++

This middleware will stealth introduce D in to the wider gaming world. But only if I can actually link and execute on the platforms nearly 60% of devices in the world currently use.
August 20, 2019
On 2019-08-20 08:58, Manu wrote:

> We even have extern(Objective-C) readily available! It's such a missed
> opportunity!

Unfortunately it's only very limited support for "extern(Objective-C)" which is implemented in LDC. The later additions that exist in DMD have not been implemented in LDC.

-- 
/Jacob Carlborg
August 20, 2019
On 2019-08-20 02:38, Manu wrote:

> If there's a path to finance 1st class D support on mobile, I'll
> contribute substantially.
> I would he happy to do a classic thing like, for every donation to
> that effort, I will contribute an additional 50%...
> 
> I don't know anybody who could work on this as a serious project who
> is motivated by money though... we probably need $3-5k at least to
> make someone interested.
> LDC needs to have official iOS/Android build distributions with unit
> tests passing... how do we get there?

I do have some interest in this, but not enough to do on my spare time. Might be possible if I could get enough money and take some time off from work.

-- 
/Jacob Carlborg
August 20, 2019
On Tuesday, 20 August 2019 at 09:32:38 UTC, Jacob Carlborg wrote:
> On 2019-08-20 08:58, Manu wrote:
>
>> We even have extern(Objective-C) readily available! It's such a missed
>> opportunity!
>
> Unfortunately it's only very limited support for "extern(Objective-C)" which is implemented in LDC. The later additions that exist in DMD have not been implemented in LDC.

Isn't that a good example of why "having three compilers" is not necessarily good for D? It's often praised as a good thing, but then we come across such things, when compiler X1 is good for Y, but compiler X2 isn't good at it, and things done for one compiler need to be ported to the other compiler.
August 20, 2019
On Tuesday, 20 August 2019 at 09:32:05 UTC, Ethan wrote:
> On Tuesday, 20 August 2019 at 06:58:33 UTC, Manu wrote:
>
> And since it directly relates to my first post in this thread. The potential customer mentioned will become an actual customer within a couple of months. So this leaves me two options:
>
> 1) Gamble (literally, by throwing money at the problem) that iOS/Android support will appear very quickly so that their milestones aren't hampered by D's lacking ecosystem support
> 2) Write the runtime component in C++
>

for Android: u should make interop with Android
so pay attention to alternative NDK
https://www.crystax.net/android/ndk
4 years ago it was better choice than Google NDK
August 20, 2019
On Tuesday, 20 August 2019 at 10:34:30 UTC, JN wrote:
> Isn't that a good example of why "having three compilers" is not necessarily good for D? It's often praised as a good thing, but then we come across such things, when compiler X1 is good for Y, but compiler X2 isn't good at it, and things done for one compiler need to be ported to the other compiler.

There's no way I'd have gotten Quantum Break out the door if LDC was the only option for example.

That's the reality of the world. Platform holders expect you to use certain compiler tool chains. I don't see how this example is any different.

Given that all three active compilers (DMD, LDC, GDC) are based off the same frontend, at the very least I'd expect the frontends to match for the versions they're based off. Backends? Nah. You're on your own there.
August 20, 2019
On Mon, Aug 19, 2019 at 05:38:36PM -0700, Manu via Digitalmars-d wrote: [...]
> LDC needs to have official iOS/Android build distributions with unit tests passing... how do we get there?

Right now, LDC does work for Android builds. I have two experimental Android projects that still compile.  The instructions can be found on the wiki.  It's not perfect, of course; somebody should work on putting things together in a nicer packaging that doesn't involve users downloading and compiling LDC manually.  And also, since Joakim left over some ideological issues, there's no longer any active maintainer of the Android target for LDC, so we need someone to step up.


T

-- 
A program should be written to model the concepts of the task it performs rather than the physical world or a process because this maximizes the potential for it to be applied to tasks that are conceptually similar and, more important, to tasks that have not yet been conceived. -- Michael B. Allen
August 20, 2019
On Tue, Aug 20, 2019 at 2:36 AM Jacob Carlborg via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>
> On 2019-08-20 08:58, Manu wrote:
>
> > We even have extern(Objective-C) readily available! It's such a missed
> > opportunity!
>
> Unfortunately it's only very limited support for "extern(Objective-C)" which is implemented in LDC. The later additions that exist in DMD have not been implemented in LDC.

Is that a thing you're interested in? It would be valuable work. How's swift compatibility? Does Swift lean on the same ABI for backwards compatibility, or is it a completely new thing?