External
external
, или "FFI" (foreign function interface), или просто "interop" (от слова "interoperability" — совместимость) это то как Reason взаимодействует с другими языками, такими как C или JavaScript.
Imagine writing a let binding, but with its body omitted and its (mandatory) type written down:
external myCFunction: int => string = "theCFunction";
Note: external
s can only be at the top level, or inside a module definition. You can't declare them in e.g. a function body.
Использование
You'd use an external value/function as if it was a normal let binding.
For more infos on how to link up your C functions within your Reason application, have a look at the Dealing with foreign libraries section in the dune
build system docs.