1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(* SPDX-License-Identifier: AGPL-3.0-or-later *)
(* Copyright © 2021-2026 OCamlPro *)
(* Written by the Owi programmers *)
(* The constraint is used here to make sure we don't forget to define one of
the expected FFI functions, this whole file is further constrained such that
if one function of M is unused in the FFI module below, an error will be
displayed *)
module M = struct
let symbol_i32 () = assert false
end
open M
open Abstract_extern_func
open Abstract_extern_func.Syntax
let symbolic_extern_module =
let functions =
[ ("i32_symbol", Extern_func (unit ^->. i32, symbol_i32))
(* ; ("assume", Extern_func (i32 ^->. unit, assume)) *)
(* ; ("assert", Extern_func (i32 ^->. unit, assert')) *)
(* ; ("exit", Extern_func (i32 ^->. unit, exit)) *)
]
in
{ Extern.Module.functions; func_type = Abstract_extern_func.extern_type }