请问一下moonbit中有任意类型这个概念么?

主要就是有时候要将JS的一些函数导出到给moonbit使用,js的函数中参数类型可以是任意类型,比如说console.log(),这个里面可以是int,也可以是string等
如果将console.log包装出去用,就要写上

pub fn consoleLog(value: Int)->Unit="js" "log"
pub fn consoleLog(value: JS_String)->Unit="js" "log"
//针对不同得类型导出一个,有没有办法一个函数全部搞定比如
pub fn consoleLog(value: Any)->Unit="js" "log" 
//我尝试用泛型,但是报告外部函数不可以,后来想使用trait来作为任意类型,也报告说无效的根类型。

MoonBit没有任意类型,所以要将JS的一些函数导出给mbt使用时,需要针对具体的情况进行处理。例如这里的consoleLog可以像println那样,要求输入的类型实现了Show trait,转换成string再调用js导出的print_char(见官网的ffi示例)。

如果使用的是js后端,可以通过内联js代码来实现。参考 GitHub - moonbit-js-ffi/js-core

好的,谢了,大致知道了,相当于上就是说ffi函数不能支持接口,也不能支持未决类型,函数参数相同位置的不同类型参数的话,只能我用moonbit来做额外包装了