External
external
, ou interface de função externa (foreign function interface) "FFI", ou simplesmente "interop" (de "interoperability" - interoperabilidade) é como Reason se comunica com outras linguagens, como C ou 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.
Uso
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.