My Android project nearing beta

Adam D. Ruppe destructionator at
Fri Jan 10 15:05:21 UTC 2020

On Wednesday, 8 January 2020 at 14:23:49 UTC, Chris wrote:
> Btw, how will D for Android handle multi-threading / coroutines?

So again I haven't actually tested, but based on the 
implementation right now you can have D threads and Java threads, 
but they shouldn't mix. I think I can fix that later by offering 
attach/detach D to Java threads, and possibly do it automatically 
with static ctors.

But I'm just not there yet.

BTW I did finally call the code generator good enough yesterday. 
I was trying to mimic the Java inheritance tree in D but that hit 
various troubles (including two separate dmd bugs!), so instead, 
the code generator flattens everything into individual D final 

Then if you need to cast to a Java interface, you'll have to use 
a template function instead. Best compromise of usability I could 
get right now.

The Android TextView widget takes 30 seconds to compile since it 
pulls in virtually everything :( I also changed it so return 
values are automatically imported to avoid linker errors but that 
is a good chunk as to why it gets so slow.

I experimented with opaque return values you must instantiate but 
you'd then have to explicitly call it an every return, and the 
builder pattern was annoying:


each of those .get things are the instantiate thing. Trying 
opDispatch and alias this both failed due to awful error messages 
leading to bad usability or dmd segfaults. So... idk I might go 
back to that idea since writing .get isn't too bad. But it is a 
matter of trading compile time for more natural looking code and 
idk what I like most yet.

More information about the Digitalmars-d-announce mailing list