我目前正在通过尝试制作Quasiquotes来在Haskell中内联编写Rust代码。我认为我已经完成了代码生成工作(包括将生成的Rust之类的Haskell类型封送起来)。我现在有一个问题,即从模板Haskell中找出如何进行所有编译和链接。管道如下:
rustc --crate-type=staticlib qq_function.rs -o qq_function.a
)qq_function.a
(以及一些其他库,如m
,c
等。) 我的问题是让步骤3和4完全在TemplateHaskell
内完成。就我而言:
runIO
可以写出我生成的Rust源文件addDependentFile
通知GHC生成的Rust文件是依赖项addForeignFile
遗憾地不自动管理编译工作,因为Rust不是受支持的语言(这是{C> em> 所采用的方法inline-c
em>支持的语言)runIO
可以通过调用rustc
来生成静态Rust库(之后删除Rust源文件)。我还不太清楚
我已经提交了与此相关的GHC feature request。