问题标签 [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.
html - 如何编码
我发现 ghcjs 文档非常有限。这是这个基本的 HTML 文档。
ghcjs 只是一个组合器,基本上将 HTML 输入为输出字符串吗?或者 Haskell 是否在某处存储了 DOM 模型?
我的问题是关于所有 html 标签和 CSS,但也许其他标签有不同的功能。
css - 如何改变
我发现ghcjs
文档ghcjs-dom
非常有限。这是这个基本的 HTML 文档。
我读过它ghcjs
只是将 Haskell 编译为 JavaScript。如果我想使用这个简单的文档来填充 DOM 树,我需要外部函数接口 (FFI) 和可能ghcjs-dom
的 .
将其称为“外部函数接口”具有讽刺意味的是,JavaScript 通常被认为是浏览器的“原生”。所以那里有一点术语混乱。
在这个非常简单的例子中,也许
让我们尝试一个操作 DOM 的简单示例。我有一个简单的 HTML 文档,我想 * 将蓝色段落更改为红色段落或 * 每秒来回切换一次(在红色和蓝色之间)
如果 ghcjs 工具集甚至不能完成这些非常基本的测试用例并解释它,我看不出它将如何完成更难的任务。这是我在 Github 上提出的一个问题,得出的结论是 ghcjs 缺乏良好的入职流程。
haskell - 如何在堆栈中使用 hdevtools 和 ghcjs
所以看起来hdevtools不能直接与ghcjs一起使用。stack install hdevtools
在 GHCJS 堆栈项目中使用给了我:
但是由于 GHCJS 和 GHC 应该(我希望)都给出相同的错误,并且在相同的代码库的范围内具有相同的类型和事物。如果我同时安装了 GHC + 依赖项,我会很高兴,纯粹是为了 hdevtools(也许对于 GHCI,因为 GHCJS 不支持解释模式)。有人知道最好的方法吗?
stack install ghc
错误纯粹是:
所以这似乎不是一个解决方案。
我宁愿不要在每次部署或类似的事情时来回切换。但我也不会完全排除它。
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。
haskell - GHCjs 支持热代码重载吗?
在谷歌上找不到答案。
像https://github.com/bhauman/lein-figwheel之类的东西是用于 Clojurescript 的。
haskell - 如何将 ByteString 值转换为 JSVal
在模块GHCJS.DOM.JSFFI.Generated.CanvasRenderingContext2DputImageData
中有以下类型的函数:
第二个参数的类型为Maybe GHCJS.DOM.Types.ImageData
。此类型在模块GHCJS.DOM.Types中定义为围绕 JSVal 值的新类型包装器:
我有一个类型的值,ByteString
它始终具有 4 个字节,每个像素的 RGBA 值。如何将我的 ByteString 值转换为 GHCJS.Prim.JSVal?
haskell - 在编译时在 ghcjs 期间将模块包含在 haskell 中
我想将haskell代码编译为javascript,并在编译过程中出现以下错误。
我没有使用堆栈,我想知道在编译期间我应该如何提供库?
haskell - 使用带有堆栈的自定义 ghcjs fork
我正在测试我自己的一些 ghcjs 补丁,我想知道如何将它打包以与堆栈的字段一起使用,这似乎期望如下:
但是,我不确定该.tar.gz
文件的预期格式是什么?我尝试简单地将存储库压缩到一个.tar.gz
文件中,但它似乎无法识别它。在这里实际预期的是什么?
提前致谢!