Functionality §
- Provides the core logic needed to expose any synchronous or asynchronous Nim library to a C-FFI library.
Usability §
- Introduce new pragma definitions, such as
{.ffi.}, to appropriately annotate types and procedures.
- Any Nim project can use it and can be installed using Nimble,
similarly to how nim-chronos is imported.
- The interaction with the exposed C library can be done using JSON.
Reliability §
- Nim-FFI does not leak memory.
- The exposed C library never hangs when working asynchronously.
Supportability §
- The exposed C library can be used in Logos Core; on Linux, Mac and Windows.
- The exposed C library can be used in Logos Core for mobile: iOS and Android.
+ (Privacy, Anonymity, Deployments) §
logos-messaging-nim repository uses nim-ffi.