В HJavaScript есть тип Array
, но я не вижу способа построить литерал, который, например, переводил бы в JS как [1,2,3]
.Я не хочу создавать new Array()
, а затем вставлять в него элементы, если в этом нет необходимости.
В идеале мне нужна такая функция, как array :: [t] -> Array t
.
Я мог бы использовать JConst
для реализации array
, но это похоже на хак для чего-то, что должно быть простым.Я мог бы также выполнить вышеописанный метод create-and-push для реализации array
, но это тоже не очень хорошо.
Вот array
путем нажатия;не так здорово.
array :: [Exp a] -> JS (JArray a)
array xs = do
arr <- new Array ()
mapM_ (`push` arr) xs
return arr