我目前正在做一个小项目,其中包括为 Ramda 编写宏。这是一个例子:
let map = macro {
rule { $f $array } => { R.map($f, $array) }
rule { $f } => { R.map($f) }
}
我尝试编译这个简单的代码示例作为开始:
var R = require('ramda');
function log (value) {
console.log(value);
}
map log [1, 2, 3];
由于卫生原因,编译后的代码如下所示:
var R$759 = require('ramda');
function log$761(value$762) {
console.log(value$762);
}
R.map(log$761)[1, 2, 3];
我的问题是我不知道如何引用 ramda。
有没有人尝试为特定库编写宏并遇到此问题?