问题标签 [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 回答
66 浏览

haskell - 运行`ghcjs-boot`时`createTree:已经存在(文件存在)`错误

跑步时ghcjs-boot我得到一大堆:

最后之前:

然后失败。

有关更多信息,我的全局安装ghc是 8.2。由于这不适用于ghcjs,我ghc-8.0通过 brew 安装并PATH在运行命令之前修改了 my ,使其指向ghc-8.0. 我也在使用cabal-2.0.0.1并且正在使用OS X Yosemite 10.10.5.

知道问题是什么/我该如何解决。

0 投票
1 回答
381 浏览

haskell - 堆栈设置错误“求解器必须是以下之一:模块化”

stack setup在 Miso sample-app ( https://github.com/dmjio/miso/tree/master/sample-app ) 中运行时出现以下错误。

较短的版本:

详细:

堆栈和 cabal 版本:

0 投票
0 回答
100 浏览

haskell - 对单子动作进行排序,其中每个动作都采用原始输入

我目前正在试验 ghcjs 中的JSaddle库。

我还没有太多的镜头经验。在这个库的某个地方,他们似乎定义了一个 getter lens,它实际上是一种 monadic setter:

https://github.com/ghcjs/jsaddle/blob/3f8b32833917f1a2dfbdb81ef00992fb54733c9a/jsaddle/src/Language/Javascript/JSaddle/Object.hs#L201

以下列方式使用它在新的 javascript 对象上设置属性有效:

但我想放弃杂物并有这样的东西:

我知道您可以lens像这样在库中执行此操作,因为设置器实际上返回了更新的对象:

现在我做了一个小垫片函数,每次都返回输入值:

这使我可以使用jss我想要的方式:

但我不禁觉得我正在尝试解决一个已解决的问题。有没有更好的方法我不知道?

[编辑]

我确实尝试过这样的事情:

但随后 GHCJS 抱怨说含蓄的多态性......

0 投票
1 回答
202 浏览

reactjs - GHCJS:如何使用打算与 npm 一起使用的 JS 库

我正在使用ghcjs-0.2.0.9006030_ghc-7.10.3堆栈lts-6.30来构建前端应用程序。受这篇文章的启发,我决定使用react-fluxand material-ui。我将 React 的 CDN 链接添加到我的 index.html,并配置GHCJSi 以在使用index-dev.htmlrepl 时使用自定义。(React 的 CDN 链接也包含在 中index-dev.html

但是,使用material-ui-next官方的安装方法是使用 NPM。他们不提供 CDN 链接。那么如何在 GHCJS 项目中使用这个库呢?我认为以下其中一项应该有效:

  • 使用jsDelivr 提供的CDN 链接。(虽然这个链接不起作用)
  • 找到一些方法将其捆绑material-ui-next并放在js-sourcescabal 中的字段中,以便它可以在构建时与我们的应用程序链接。

任何帮助表示赞赏。

0 投票
1 回答
89 浏览

javascript - 从 EventM 中移除当前监听器

假设我想使用 ghcjs-dom 创建一个事件侦听器,它响应单击,然后将其自身移除。

我有

添加和删​​除,以及

EventM. 如何SaferEventListener从 中访问(我稍后将构建)EventM,以便在事件发生时将其删除?

在 JavaScript 中,您使用命名函数表达式作为对 的回调addEventListener,然后removeEventListener从回调中应用到该名称。但这里似乎没有任何类似的东西是可能的。还是我错过了什么?

0 投票
1 回答
85 浏览

haskell - 无法通过动态映射:没有 (Functor (Dynamic Spider)) 的实例

我的意图是div在按下按钮时在亮红色和暗红色之间交替显示 a 的颜色,从暗红色开始。

我有这个代码:

它因此出错:

我当然在快速参考fmap中看到了一个for ,尽管我不确定参考的版本和 我编译的包的版本是否一致。Dynamicreflex

这是stack.yaml我用于构建的:

我究竟做错了什么?而这个蜘蛛侠到底是谁?

0 投票
1 回答
39 浏览

ghcjs - jsaddle-dom 导入错误建议添加我已经添加的依赖项

当试图编译我的ghcjs/jsaddle基于 Haskell 网站时,我得到

即使jsaddle-dom已经在build-depends我的阴谋集团文件中。

所以我不能做错误信息所暗示的事情。

这是怎么回事?

0 投票
1 回答
68 浏览

haskell - 如何使 MonadError 与 ghcjs/reflex 一起工作

我正在努力编译以下程序:

然而,这个类似的版本适用于香草 ghc

编译器说有些模棱两可,我不确定如何实现这些工作。

仅供参考:我还没有完全掌握 Monads,很容易被这些错误吓到。帮助!

0 投票
1 回答
231 浏览

haskell - 如何仅使用 stack.yaml 将 ghci 与我的反射项目一起使用?

我已经从我的 reflex 项目中删除了 nix,并用堆栈替换了它。一切都很好,除了能够使用repl。我尝试创建一个最小的反射项目来演示我尝试过的内容以及我的尝试产生的错误。

https://github.com/mlitchard/reflex-todo

stack repl --stack-yaml=stack-ghc.yaml

截断的错误日志

0 投票
2 回答
301 浏览

immutability - ClojureScript、Elm、PureScript、GHCJS 等不可变语言如何编译为可变 javascript?

我认为埋没列出语言的源代码对我来说太多了。但是有没有人能够简单地解释事情是如何发生的?

我的意思是,最终不可变数据仍将是 javascript 的数据。或者编译的代码是否包含非标准数据结构,例如不可变数组的'a,b,c'字符串