Fay: как показать значение и использовать эту строку в JS?
Я смешиваю старый JS и новый сгенерированный Fay JS и пытаюсь получить строковое представление некоторых данных от Fay. Я определил
jshow :: Bool -> String
jshow d = show d
Это не просто Bool
в реальном коде, но тип не меняет ошибку.
Это скомпилировано с
fay Linguatron.hs --strict Linguatron
И тогда я называю это в JS с
Strict.Linguatron.jshow(trainingData);
когда trainingData
является результатом другой функции Fay, которую я вызываю из JS.
Это дает ошибку, которая xs
не определено, и это внутри стандартного кода Fay! Это на линии 436, которая выглядит как
// Make a list.
function Fay$$list(xs){
var out = null;
for(var i=xs.length-1; i>=0;i--) //<<-- This line
out = new Fay$$Cons(xs[i],out);
return out;
}
Полный след
Fay$$list @ linguatron.js:436
Fay$$jsToFay_string @ linguatron.js:281
(anonymous function) @ linguatron.js:822
Fay$$$.force @ linguatron.js:52
Fay$$_ @ linguatron.js:29
(anonymous function) @ linguatron.js:173
(anonymous function) @ main.js:56
m.event.dispatch @ jquery.js:4670
r.handle @ jquery.js:4338
Я использую Fey 0.23.1.12, и это происходит в Chrome, Safari и Firefox.