问题标签 [ghcjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
154 浏览

haskell - ghcjs + 钠:一段时间后没有事件

更新: ghcjs 中有一个问题:https ://github.com/ghcjs/ghcjs/issues/296


我玩 ghcjs 和钠,但 3 秒后我的应用程序不再发出事件。

一个最小的例子:

  • 一个按钮:发出事件
  • 计数器行为:计算按钮点击次数
  • 一个 div:显示计数器行为
  • 3 秒后,div 不再更新
  • 如果我重新加载页面,计数器会再次更新 - 3 秒


完整示例位于https://github.com/j-keck/ghcjs-sodium

谢谢

0 投票
1 回答
443 浏览

haskell - 为什么此 Reflex 代码会导致 Dynamics 无限期地以相同的值触发?

这个小程序的目的是显示三个按钮,第三个按钮的标签最初是“0”,然后是最后点击按钮的索引。现在按钮的数量和其他按钮的标签是不变的。

当我用 ghcjs 编译这个自包含文件并在浏览器中加载 Main.jsexe/index.html 时,我可以看到两个 traceDyns 在一个循环中触发,两者的值始终为 0。据我所知,什么都不应该发生直到单击按钮,因为 _el_clicked 为系统的其余部分提供信息。

另外,请注意,我使用mapDyn (fst . head . Map.toList)它是为了提取所选按钮的索引 - 我不确定这是否正确,但无论哪种方式,我都不知道是什么导致了无限循环。

0 投票
0 回答
161 浏览

haskell - ghcjs-jquery 与 base-4.8.0.0 不兼容,怎么办?

ghcjs-jquery 与 base-4.8.0.0 不兼容,怎么办?

详情

0 投票
1 回答
113 浏览

ghcjs - ghcjs-dom-hello world 不响应鼠标点击 - ghc 7.10.1

我想这个例子应该响应鼠标点击:https://github.com/ghcjs/ghcjs-dom-hello,对吧?但是当我在 Firefox 和 Chrome 下使用 GHC 7.10.1 尝试它时,当我点击页面时没有任何反应。

有任何想法吗 ?我还没有用 GHC 7.8.4 尝试过。但我会。

0 投票
1 回答
333 浏览

haskell - 使用 GHCJS 编译示例程序时找不到镜头

我收到此错误:

使用以下命令编译此文件时ghcjs aff.hs

错误ghcjs aff.hs -v

该文件位于沙盒目录中。我安装了镜头cabal install --ghcjs lens。似乎它已正确安装:

0 投票
1 回答
150 浏览

haskell - 如何使用 ghcjs 进行多行国外导入?

如何在 GHCJS 中进行多行外国进口?我有一个跨越多行的 javascript 块:

我收到如下错误:

指向\字符。这里发生了什么?

0 投票
2 回答
1314 浏览

haskell - 是否可以使用 Ghcjs、Haste、Elm 等在服务器端渲染 Haskell 前端?

我认为 Haskell 提供了很棒的功能。也适用于 Web 开发。但是,我错过了一个功能。服务器端渲染。原因是谷歌索引爬虫和预渲染以提高移动设备的性能。

是否可以使用 Ghcjs、Haste、Elm 或其他一些 Haskell->JS 编译器在服务器端渲染 Haskell 前端?

0 投票
0 回答
478 浏览

haskell - 从 GHCJS 客户端到 Yesod/Snap/Servant 的类型安全 RPC 调用示例

我有两个有关 RPC 调用的相关问题Yesod/Snap/Servant

  1. 假设我在服务器上有一个函数,用 Haskell 编写,由 GHC 编译:

    add x y = x+y+42

怎么能:

  1. 我从客户端调用这个函数(客户端也是用 Haskell 写的,用 编译GHCJS),
  2. 在服务器上执行函数,
  3. 将结果返回给客户端?

以类型安全的方式执行所有这些操作?

因此,例如,我想在客户端上写这样的东西:

这样 add 函数就会在服务器上执行。

Yesod/Snap/Servant在服务器上使用 GHCJS 和在客户端使用 GHCJS的最简单方法是什么?

2)同样,我想写一个“函数”: getPhaseOfMoon :: IO Phase它在服务器上运行,我想以getPhaseOfMoon类型安全的方式从客户端调用。

这样我就可以在客户端上写这个:

哪个

  1. 去服务器
  2. 服务器查询月相
  3. 服务器返回Phase给客户端
  4. 客户端在 JavaScript 控制台中显示月相。

问题

我怎样才能用Yesod/Snap/Servant(服务器)+ GHCJS(客户端)做到这一点?

0 投票
0 回答
246 浏览

haskell - 如何在 GHCJS 中将 `IO ()` 转换为 `JSVal`

我想在用 GHCJS 编译的程序中定期执行一些有效的计算,但GHCJS.DOM.WindowTimers.setInterval想要一个JSVal作为参数。任何人都可以给我一些将我IO ()变成一个的指示JSVal吗?

编辑:

我能够使用GHCJS.Foreign.Callback.asyncCallbackand匹配类型GHCJS.Types.jsval,但我最终遇到了运行时错误。GHCJS 频道中的 Luite 建议使用线程来完成此任务,正如 Erik 在此处的评论中所建议的那样。这在相应的问题中进行了解释

0 投票
2 回答
138 浏览

ghcjs - 如何使用 GHCJS 获取当前时间?

如何使用 GHCJS 获取当前时间?我应该尝试访问Date或使用 Haskell 基础库吗?GHCJS 基础库中是否有实用程序函数?