OK, here is an example. logic.c: typedef int (adder)(int, int);
int run(adder fn, int a, int b) {
return fn(a, b);
}
logic.nim: {. compile: "logic.c" .} type adder {. importc .} = proc(a, b:
cint): cint proc run(fn: adder, a, b: cint): cint {. importc, cdecl, nodecl .}
proc add(a, b: cint): cint {. cdecl .} = a+b
var res=int(run(add, cint(100), cint(5125))) echo $res
