Skip to content

native.aug diagrams ​

A native C boundary

Project overview · Compiled explanation

Sequences ​

Call arrows identify checked targets; loop and branch frames determine when they run. Open that target’s module to follow its implementation. Branches describe alternatives; loops describe repeated work. Native calls and interface dispatch stop at their declared contracts. Exit notes end that path; enclosing recovery and cleanup remain visible.

puts ​

It takes message as a string.

It returns c_int.

Native C implementation; only its declared contract is visible here.

Native implementation; only the declared contract is known. Explanation.

announce ​

It can call C.puts.

100%
Mermaid source
sequenceDiagram
    participant p0 as announce

    rect rgb(245, 240, 241)
    Note over p0: Enter unsafe scope
    p0->>p0: puts(message=”hello from C FFI”) · native boundary
    p0-->>p0: puts result: c_int
    Note over p0: Leave unsafe scope
    end

Called contracts ​

Last updated:

The world runs on language