nim can technically "compile to Obj-C" and produce loose method calls through 
`{.importObjc.}`, [found here in the 
docs](https://nim-lang.org/0.20.0/manual.html#implementation-specific-pragmas-importobjc-pragma).
 however this interface is pretty much one-way: e.g. you can't subclass in pure 
nim _this way_ , which is a huge bummer as AppKit/UIKit expects you to subclass 
and override frequently; but to say you can't subclass at all in pure nim code 
is wrong.

one of the critical things about using Obj-C is (aside from the official 
Obj-C/Swift compilers themselves that have special less-than-documented 
abilities, e.g. the static baked-in selector stuff for optimization) that 
Apple/NeXT built its dynamic runtime interface through what is more or less 
"just a C library." in fact: Dlang's Obj-C support [is very much built through 
that C 
API.](https://github.com/dlang/dmd/blob/319c18813157d5a34b558a4a680356e3fff0707c/compiler/src/dmd/objc_glue.d#L588)
 at this point you would be transferring your concerns out of the compiler into 
the DSL realm.

Reply via email to