问题标签 [threepenny-gui]
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.
haskell - do 表示法与 let 中的模式匹配
我最近在使用threepenny-gui时遇到了一个错误
,它通过将代码从do表示法中的<-
模式匹配更改为使用let表示法的模式匹配来解决。
在这两种形式的模式匹配之间进行更改时,我是否应该期望行为发生变化?
具体如下代码:
在 IO 单子中:
改为:
这是为我解决问题的提交的链接: https ://github.com/Davorak/threepenny-gui/commit/fbf6cbe25875fafdc64f7a111ddebf485b45143b
其他平台详细信息:操作系统:10.8.5 ghc:7.6.3
编辑:添加了 IO monad 正在发生这种情况的事实
haskell - 行为中的元素(功能反应式编程)
我只是想开始使用 FRP 和threepenny-gui,我什至不知道如何做一些基本的事情。
假设我有一个这样定义的函数
我想在页面上显示行为的价值。
我可以做类似的事情
编辑:在这里工作完整代码。
我不知道如何将行为附加到输出中。
haskell - 尝试以特殊行为呈现 threepenny-gui 中的字段
我想要做的是设置字段,当它们处于焦点时显示详细信息,但在没有焦点时显示摘要。例如。
一种)。当它失去焦点(变得模糊?)时,我将值保存在(状态?)映射中,然后将值更改为旧值的函数(即汇总值)
乙)。当它获得焦点时 - 我将汇总值替换为我保存在地图中的旧值
我不知道该怎么做,但我想我可能需要一个状态单子和 UI 单子。我的尝试是:
但我无法让这张地图工作 - 因为它需要跟踪所有的电话......我想它应该是 State monad 什么的?
谢谢。
ñ
haskell - 将文本字段和按钮点击转换为“UI(事件字符串)”
我正在尝试使用threepenny来了解FRP。
我想生成包含用户输入的事件,并在每次单击按钮时触发。您可以在github上查看代码。
我试图用一个函数来做到这一点
它稍后会在这样的 do 块中使用。
但它最终只是在第一次点击后变成空字符串。在此之前,它包含预期的值“Ash”。我认为正在发生的是,当我生成事件流时,输入的值被提取,而不是每次点击一次。我环顾了文档,没有看到任何内容m a -> Event () -> m (Event a)
,但我对 frp 很陌生,可能错过了一些东西。
html - threepenny-gui - 打开文件
亲爱的 Haskell 社区 我已经编写了我的第一个 gui 应用程序,并决定使用threepenny-gui 来这样做。
下面的任务是在给定文件夹中的文件中搜索匹配项,并提供打开这些文件的链接。此外,我做了很好的解析和渲染功能,因为文件(大部分)具有特殊的格式。
但是现在我偶然发现了一个问题——href="file://localhost/home/user/folder/file.pdf"
出于安全原因,大多数浏览器都禁止打开指向本地文件的链接,我确实理解并认为这是完全明智的。
当程序和文件在同一个文件夹中时,我尝试使用href="./file.pdf"
,这似乎也不起作用。
整个应用程序的代码可以在github/epsilonhalbe 获得,我在一个文件夹中运行它并通过浏览器访问它localhost:100000
haskell - 为什么一些三便士-gui FRP 组合器在 MonadIO monad 上运行而不是纯粹的?
首先声明一下,由于我对 Haskell 的了解不够深入,我可能完全误解了threepenny-gui 的工作方式,所以请对我的断言持保留态度。:-)
在我看来,一些组合器并不纯粹,例如
步进器是否必须在某种类型的 IO monad 上运行(因此它不是纯的),或者我在这里误解了一些东西?第二个问题,如果这些组合子确实不纯,那是为什么?对我来说,这使得构建事件图的代码不如响应式香蕉那么好,因为必须使用 IO monad 而不是纯粹的普通函数。代码似乎变得比反应香蕉更复杂。
更可怕的是,valueChange 从类型上看似乎是纯的
但它实际上是在内部使用 unsafeMapIO ,所以它实际上是在做隐藏的 IO 吗?再说一次,我可能会误解一些东西,但这不是 Haskell 中最高的罪过吗?这也令人困惑,我无法从类型中看出回调注册是如何发生的……这在我之前在 Haskell 中从未发生过……这样做是为了让用户不必处理 Frameworks monad 吗?
haskell - 如何在 Windows 上运行 threepenny-gui 示例
我正在测试 Haskell gui 编程的threepenny-gui 包。按照此处的说明,我做了:
并得到:
但在那之后什么也没有发生。没有浏览器启动。另外,如果我打开 Firefox 并转到http://0.0.0.0:8023/
,它会显示Unable to connect
. 我已经关闭了windows防火墙,但它并没有改善任何东西。
我在这里遗漏了什么吗?
haskell - 混合 Threepenny-Gui 和 StateT
我对 Threepenny-Gui 与 StateT 的互动有疑问。考虑这个玩具程序,每次单击按钮时,都会在列表中添加一个“Hi”项:
现在,我希望它打印自然数而不是“嗨”。我知道我可以使用 UI monad 是 IO 的包装器这一事实,并读/写我到目前为止在数据库中达到的数字,但是,出于教育目的,我想知道我是否可以使用StateT,或以其他方式通过 Threepenny-gui 界面访问列表的内容。
haskell - 为Canvas设计一个绘图api
我正在向threepenny ui api 添加一些功能。我想有能力用画布画线。
我可以编写的函数具有以下签名:
每个原语moveTo
都lineTo
应该发生在一个beginPath
..stroke 调用之间。您将如何执行beginPath
...笔画序列。按照设计,我想让用户别无选择地画线。所以用户不知道beginPath
......笔画顺序。
haskell - 在客户端/服务器编程中使用threepenny-gui/reactive
我试图弄清楚如何使用 Haskell threepenny-gui及其反应功能来编写一个程序,让
- 用户从列表框中选择一个项目
- 将选择发送到外部服务器
- 从服务器取回结果列表
- 用结果填充 listBox
- 重复
看来我需要使用Handler
,newEvent
并register
执行上述操作。如果有人可以向我指出一些执行上述类似操作的现有代码,那就太好了。
我找到的最接近的是GameThing.hs
threepenny-guisamples
目录(但它不使用register
)。
更新:
我在问我是否应该使用Handler
,newEvent
和register
--- ,如果是的话,这些功能的一些说明或示例。
此外,需要明确的是,总体情况是:
换句话说,我需要做一些 IO(基于用户选择)然后显示该 IO 的结果。
更新:这是我的解决方案(基于@Taldykin 的回复):https ://github.com/haroldcarr/rdf-triple-browser/tree/master/haskell/src