Thread overview
Objective-D released!
6 days ago
Luna
6 days ago
WebFreak001
6 days ago

Objective-D is a new package, now available on dub which implements bindings to the Objective-C runtime as well as the Foundation core library. The goal is to provide a shared base that Objective-C bindings can utilize instead of packages repeatedly re-implementing NSObject, NSString, and the like. Additionally the clang block implementation by Jacob Carlborg, and my own implementation of auto release pools is provided. Which should allow for safer interop with Objective-C!

https://code.dlang.org/packages/objective-d

Additionally, I've been working on a pull-request to add Objective-C support to the LDC compiler, including support for binding Swift stub classes via a @swift UDA.

https://github.com/ldc-developers/ldc/pull/4777

This should over-all increase the usability of DLang on Apple-made systems.

6 days ago

On Friday, 29 November 2024 at 13:44:12 UTC, Luna wrote:

>

This should over-all increase the usability of DLang on Apple-made systems.

Thanks, this will be useful because to integrate Metal and do AUv3 (or even use anything iOS) there is lot of inheriting from Obj-C objects. Until that, it would requires gymnastics with the Obj-C runtime.

6 days ago

On Friday, 29 November 2024 at 13:44:12 UTC, Luna wrote:

>

Objective-D is a new package, now available on dub which implements bindings to the Objective-C runtime as well as the Foundation core library. The goal is to provide a shared base that Objective-C bindings can utilize instead of packages repeatedly re-implementing NSObject, NSString, and the like. Additionally the clang block implementation by Jacob Carlborg, and my own implementation of auto release pools is provided. Which should allow for safer interop with Objective-C!

[...]

this is great! Libraries like this are enablers for many people that would have most likely otherwise chosen another language or tool for the job.

6 days ago

On Friday, 29 November 2024 at 13:44:12 UTC, Luna wrote:

>

Objective-D is a new package, now available on dub which implements bindings to the Objective-C runtime as well as the Foundation core library. The goal is to provide a shared base that Objective-C bindings can utilize instead of packages repeatedly re-implementing NSObject, NSString, and the like. Additionally the clang block implementation by Jacob Carlborg, and my own implementation of auto release pools is provided. Which should allow for safer interop with Objective-C!

https://code.dlang.org/packages/objective-d

Additionally, I've been working on a pull-request to add Objective-C support to the LDC compiler, including support for binding Swift stub classes via a @swift UDA.

https://github.com/ldc-developers/ldc/pull/4777

This should over-all increase the usability of DLang on Apple-made systems.

As a Mac user, this is tremendous news! I must admit, I haven't looked at what this can do for my code, as I typically don't go to any of these libs, I generally stick with posix functions or phobos. But if nothing else, making ldc on par with dmd for Mac and iOS code will enable so much more for ARM Macs!

-Steve