Better watch out! D runs on watchOS!

Joakim via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sun Dec 27 21:06:44 PST 2015


On Monday, 28 December 2015 at 01:17:15 UTC, Dan Olson wrote:
> A little progress report. More to come later when I get 
> something pushed to github.
>
> I bought a returned Apple Watch yesterday at discount for 
> $223.99 US and tried to see how much of D would work on it 
> using my iOS fork of LDC. There were a few bumps, like dealing 
> with embedded bitcode (a watchOS requirement). After 4-hours of 
> baby steps, little D programs with incremental druntime 
> support, I was able to download a huge watch app extension with 
> all druntime and phobos unittests and run most of them 
> alphabetically. Everything zipped along fine, only a std.math 
> error, then mysteriously a exit after running std.parallelism 
> test a long time. It was late for me so decided that was enough 
> progress.
>
> This means all of druntime worked and probably most of phobos.
>
> The Apple Watch uses a new chip with armv7k, a different ABI, 
> and different exception handling than iOS, so kinda surprised 
> it worked as well as it did.  Of course much thanks goes to 
> LLVM with recently added watchOS, tvOS support, and all the LDC 
> contributors that have kept master building with the latest 3.8 
> LLVM.

Heh, nice, thanks for keeping us up to date.

I don't understand how the bitcode requirement works on your own 
device: I thought that was for an Apple-submitted app that they 
then compiled to binary themselves?  Do you have to go through 
the same process even for test apps, ie no sideloading?  Or does 
the device itself take bitcode?

btw, Dan's iOS/tvOS/watchOS work will require these dmd/druntime 
github pulls to be reviewed and merged:

https://github.com/D-Programming-Language/dmd/pull/5231
https://github.com/D-Programming-Language/druntime/pull/1448


More information about the Digitalmars-d-announce mailing list