问题标签 [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 投票
2 回答
317 浏览

html - 如何编码

我发现 ghcjs 文档非常有限。这是这个基本的 HTML 文档。

ghcjs 只是一个组合器,基本上将 HTML 输入为输出字符串吗?或者 Haskell 是否在某处存储了 DOM 模型?

我的问题是关于所有 html 标签和 CSS,但也许其他标签有不同的功能。

0 投票
1 回答
160 浏览

css - 如何改变

我发现ghcjs文档ghcjs-dom非常有限。这是这个基本的 HTML 文档。

我读过它ghcjs只是将 Haskell 编译为 JavaScript。如果我想使用这个简单的文档来填充 DOM 树,我需要外部函数接口 (FFI) 和可能ghcjs-dom的 .

将其称为“外部函数接口”具有讽刺意味的是,JavaScript 通常被认为是浏览器的“原生”。所以那里有一点术语混乱。

在这个非常简单的例子中,也许

让我们尝试一个操作 DOM 的简单示例。我有一个简单的 HTML 文档,我想 * 将蓝色段落更改为红色段落或 * 每秒来回切换一次(在红色和蓝色之间)

如果 ghcjs 工具集甚至不能完成这些非常基本的测试用例并解释它,我看不出它将如何完成更难的任务。这是我在 Github 上提出的一个问题,得出的结论是 ghcjs 缺乏良好的入职流程。

0 投票
1 回答
281 浏览

haskell - 安装 reflex-dom 可能会破坏 ghcjs

我正在尝试安装reflexreflex-dom使用cabal install我收到以下错误消息:

ghcjs在 GitHub上的“master”分支上的0.2.0和名为“dedupe”的分支上的0.2.1 。而且我也怕摔坏lens有什么方法可以安装 reflex reflex-dom 以一致的方式安装吗? 也许我需要更改.cabal文件


这是终端的完整回复

和类似的安装反射

0 投票
0 回答
98 浏览

haskell - 如何在堆栈中使用 hdevtools 和 ghcjs

所以看起来hdevtools不能直接与ghcjs一起使用。stack install hdevtools在 GHCJS 堆栈项目中使用给了我:

但是由于 GHCJS 和 GHC 应该(我希望)都给出相同的错误,并且在相同的代码库的范围内具有相同的类型和事物。如果我同时安装了 GHC + 依赖项,我会很高兴,纯粹是为了 hdevtools(也许对于 GHCI,因为 GHCJS 不支持解释模式)。有人知道最好的方法吗?

stack install ghc错误纯粹是:

所以这似乎不是一个解决方案。

我宁愿不要在每次部署或类似的事情时来回切换。但我也不会完全排除它。

0 投票
1 回答
355 浏览

haskell - 如何为最新的 ghcjs / lts 构建配置堆栈

堆栈文档提供了使用 ghcjs https://docs.haskellstack.org/en/stable/ghcjs/编译的示例配置。但最新的例子是 lts-7.19。我想将堆栈配置为使用最新的 ghcjs 和最新的 lts(当前为 8.4)。

我知道 ghcjs 编译器是为每个 lts 预先打包的,并由https://github.com/tolysz/托管,使用https://github.com/tolysz/prepare-ghcjs。我想我真正的问题是:

我如何才能在 ghcjs.tolysz.org 上找到哪些可能的版本(以及它们的 sha1 哈希)?

编辑:到目前为止,我发现您可以在此处查看未经测试的构建:http: //tolysz.org/ghcjs/untested/但它们确实未经测试,而且我尝试过的那些不起作用。我已经尝试使用 prepare-ghcjs 构建我自己的,但没有成功 - 在 prepare-ghcjs 中尚未允许最近对 ghcjs 的更改,所以我试图将一些东西放在一起https://github.com/tolysz /prepare-ghcjs/issues/6

0 投票
0 回答
108 浏览

haskell - GHCjs 支持热代码重载吗?

在谷歌上找不到答案。

https://github.com/bhauman/lein-figwheel之类的东西是用于 Clojurescript 的。

0 投票
3 回答
597 浏览

haskell - 如何将 ByteString 值转换为 JSVal

在模块GHCJS.DOM.JSFFI.Generated.CanvasRenderingContext2DputImageData中有以下类型的函数:

第二个参数的类型为Maybe GHCJS.DOM.Types.ImageData。此类型在模块GHCJS.DOM.Types中定义为围绕 JSVal 值的新类型包装器:

我有一个类型的值,ByteString它始终具有 4 个字节,每个像素的 RGBA 值。如何将我的 ByteString 值转换为 GHCJS.Prim.JSVal?

0 投票
1 回答
54 浏览

haskell - 在编译时在 ghcjs 期间将模块包含在 haskell 中

我想将haskell代码编译为javascript,并在编译过程中出现以下错误。

我没有使用堆栈,我想知道在编译期间我应该如何提供库?

0 投票
1 回答
78 浏览

haskell - 使用带有堆栈的自定义 ghcjs fork

我正在测试我自己的一些 ghcjs 补丁,我想知道如何将它打包以与堆栈的字段一起使用,这似乎期望如下:

但是,我不确定该.tar.gz文件的预期格式是什么?我尝试简单地将存储库压缩到一个.tar.gz文件中,但它似乎无法识别它。在这里实际预期的是什么?

提前致谢!

0 投票
0 回答
281 浏览

haskell - 将 Build-Tools (Alex) 与 Stack 和 GHCjs 一起使用

我依赖一个需要 alex 来构建的包,我还需要 ghcjs。

当我尝试运行时stack ghci

我试过:(stack build alex只是返回,没有任何输出。可能工作),stack install alex(不工作)。

的输出stack install alex

供参考:是依赖的cabal文件,不幸的是只能在github上找到。是我的堆栈和我的cabal文件。还有一个没有去任何地方的reddit讨论。