Silex v0.47.1 / Docs Canonical source ↗

Connect a package to a system API

Interop is the low-level boundary used to build Silex bindings. An application normally depends on a portable package such as STD and never manipulates this surface directly.

A named package owns every foreign provider it uses. Its targeted manifest may select a precompiled archive, named system libraries, Apple frameworks, or a combination of these entries. A provider that calls only the platform needs no dummy archive. It remains private to the declaring package.

The compiler validates whether declared scalars and pointers can cross the target ABI. It maintains no catalog of package symbols: adding a function whose ABI shape is already supported changes only the package source and, when needed, its manifest.

The older MacOS, Linux, and Windows namespaces remain toolchain compatibility contracts. New package bindings use Boundary.<Provider>.

Back to language concepts