作为一个Toy Language,Alum的生态极为弱小,这限制了我们编写一些比较复杂的程序,我们可以通过FFI(Foreign Function Interface,即:外部函数接口)用其他语言为Alum编写拓展,这里最推荐的是C语言,因为Alum的数据在内存布局上与C语言几乎一致,不需要转换的开销。可以通过extern直接引入外部函数。
fun main(): int { let sum: int = c_add(10, 20) print("c_add(10, 20) = ") println(itoa(sum)) let product: int = c_multiply(5, 6) print("c_multiply(5, 6) = ") println(itoa(product)) let factorial: int = c_calculate_factorial(5) print("c_calculate_factorial(5) = ") println(itoa(factorial)) return 0 }