On 2013-01-25 20:37, Johannes Pfau wrote:
I don't remember anyone working on Windows RT or iOS. Michel Fortin has code to interface to ObjC which would benefit iOS development: * A template based solution, but IIRC that created to much bloat and development was stopped.
You can do it manually to avoid bloat but that is very tedious.
* A dmd patch which added extern(ObjC). http://michelf.ca/projects/d-objc/ I'm not sure what's the status here. IIRC I thought it was a quite intrusive language change (it added additional syntax except from extern(ObjC)), but with UDAs + compiler support it could probably be adapted to make it less controversial. Either way it would be a huge patch and huge patches tend to get not reviewed merged into dmd so it's difficult.
It hasn't had an update for two or three years.
* Google castrated it's libc: it doesn't support TLS. D can't work without TLS. (Things might get better with C++/11 which also has TLS support). AFAIK google was just to lazy to implement TLS (Java doesn't need it), ARM/Linux even provides hardware support for fast TLS (TLS register). * GCC has emulated TLS. It would be slow but it could work. Except that it can't work with the D garbage collector right now. It could be integrated with some effort, but it would veeeery be slow. (Basically emuTLS allocates small distinct memory ranges, real TLS has one big range per thread. Now the GC needs to get all ranges and scan them. Our current approach can't get the small ranges. Even if we could make it work scanning many small ranges is slow)
DMD on Mac OS X currently uses an emulated TLS. -- /Jacob Carlborg
