Skip to content
Riot Docs

Search is only available in production builds. Try building and previewing the site to test it out locally.

Install Riot GitHub

Interop

No serious toolchain gets to stay pure forever.

Eventually a package needs to:

  • call into native code
  • depend on a non-Riot library
  • cross a runtime or language boundary

That is what this page is about.

Interop is where elegant systems often get vague. The docs start pretending the boundary does not exist, and users are left to invent local hacks.

Riot should do the opposite:

  • name the boundary
  • explain when it matters
  • keep the escape hatch explicit

Use Riot-native workflows first.

Reach for interop when:

  • the problem really crosses a language boundary
  • a native dependency is the right tool
  • FFI is a meaningful part of the package contract

That keeps the normal path clear without pretending foreign integration is rare or unimportant.

This is the home for topics like:

  • foreign dependencies
  • native bindings
  • FFI
  • integrating Riot packages with code that originates outside the Riot ecosystem

It is not a sign of failure that these topics exist. It is a sign that Riot expects to be used in real systems.