A WIT FFI for the Moon programming language
pub(open) trait Any {}
pub(all) struct Cleanup { address : Int size : Int align : Int}
fn bytes2ptr(bytes : FixedArray[Byte]) -> Int
fn cabi_realloc(src_offset : Int, src_size : Int, _dst_alignment : Int, dst_size : Int) -> Int
fn double_array2ptr(array : FixedArray[Double]) -> Int
fn extend16(value : Int) -> Int
fn extend8(value : Int) -> Int
fn f32_to_i32(value : Float) -> Int
fn f32_to_i64(value : Float) -> Int64
fn float_array2ptr(array : FixedArray[Float]) -> Int
fn free(position : Int) -> Unit
fn int64_array2ptr(array : FixedArray[Int64]) -> Int
fn int_array2ptr(array : FixedArray[Int]) -> Int
fn load16(offset : Int) -> Int
fn load16_u(offset : Int) -> Int
fn load32(offset : Int) -> Int
fn load64(offset : Int) -> Int64
fn load8(offset : Int) -> Int
fn load8_u(offset : Int) -> Int
fn loadf32(offset : Int) -> Float
fn loadf64(offset : Int) -> Double
fn malloc(size : Int) -> Int
fn ptr2bytes(ptr : Int, len : Int) -> FixedArray[Byte]
fn ptr2double_array(ptr : Int, len : Int) -> FixedArray[Double]
fn ptr2float_array(ptr : Int, len : Int) -> FixedArray[Float]
fn ptr2int64_array(ptr : Int, len : Int) -> FixedArray[Int64]
fn ptr2int_array(ptr : Int, len : Int) -> FixedArray[Int]
fn ptr2str(ptr : Int, len : Int) -> String
fn ptr2uint64_array(ptr : Int, len : Int) -> FixedArray[UInt64]
fn ptr2uint_array(ptr : Int, len : Int) -> FixedArray[UInt]
fn store16(offset : Int, value : Int) -> Unit
fn store32(offset : Int, value : Int) -> Unit
fn store64(offset : Int, value : Int64) -> Unit
fn store8(offset : Int, value : Int) -> Unit
fn storef32(offset : Int, value : Float) -> Unit
fn storef64(offset : Int, value : Double) -> Unit
fn str2ptr(str : String) -> Int
fn uint64_array2ptr(array : FixedArray[UInt64]) -> Int
fn uint_array2ptr(array : FixedArray[UInt]) -> Int
Install
Powered by MoonBit
© 2026 mooncakes.io