问题标签 [leksah]
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 - 导入 Haskell 模块
我是 Haskell 的新手。当我尝试使用Days
from时Data.Time
怎么会出现此错误:
我正在导入 Data.List 和 Control.Monad,都没有给我这个错误消息,但是代码import Data.Time
确实如此。
我错过了什么?
谢谢您的帮助!
编辑:我在使用时收到类似的错误消息:import Directory
谢谢大家,你们的回答让我走上了正轨!
haskell - haskell leksah 你好世界
今天早上的坏消息,我愿意尝试使用 Leksah(顺便说一句,看起来不错的应用程序)来继续学习 Haskell。
我无法编译阅读leksah 教程时发现的“Hello World”示例。
compilation-error: src\Main.hs:16:5: parse error on input
='`
和
compilation-error: src\Main.hs:1:0: The main function
main' 不是由模块导出的Main'
你有什么建议我试试别的?
重要编辑:现在 Leksah 附带一个文件 Main.hs,在您第一次启动 leksah 时直接加载,其中包含一个功能齐全的 Hello World 迷你项目。它还具有极简的单元测试计数器部分。非常适合初学者:-)
haskell - 在多个文件之间组织一个 haskell 包
我又是一个关于 Haskell 和 Leskah 的新手问题。
(首先,对 Haskell 爱好者的主观赞美:每次回来学习 Haskell 时,我越来越喜欢它。我希望这会持续很长时间 :-)。最近的乐趣是 Leskah 将符号自动转换为数学的糖。它使代码看起来非常好。但这不是重点……)
我想将我的学习者包组织成几个文件。但是我没有成功地将包含其他定义的第二个文件(例如 Second.hs)添加到我当前的包构建单元中。我已将它添加到 Leskah/Edit Package/Extra Files 中。但这似乎不起作用。此外,我觉得以这种方式添加每个新文件(通过 Leskah/Edit Package/Extra Files)有点尴尬。
无论如何,结果所构建的仍然只是我的 Main.hs 的内容。我肯定错过了一些观点?!
另一个问题是,在 C++ 中,我大量使用namespace
以便按主题/目标对我的对象定义进行排序。Haskell 中命名空间的等价物是什么?一个模块?一袋 ?
browser - Leksah 系统范围模块浏览器为空
我刚刚按照用户手册安装了 leksah 。手册说我应该在第一次启动 Leksah 之前进行一次 ghc-pkg 重新缓存,否则我可能会在系统范围内看到一个空的模块浏览器。我的问题是这就是我所看到的,即使我做了重新缓存。
基本上,我的设置过程是这样的:Leksah 安装 -> ghc-pkg recache -> 启动 Leksah。然后我进入一个屏幕,告诉我 Leksah 将为我安装的包收集和下载元数据,并警告我这可能需要很长时间。使用推荐的默认设置,我看到一个进度条大约五秒钟,然后 Leksah 启动。这些默认值是:
- haskell 包源没有路径。
- 预构建元数据 URL: http: //www.leksah.org。
- 检索,然后构建。
- 服务器端口:11111。
- 最后一个连接的结束服务器。
在手册中继续阅读,它说如果我只是想测试,可以省略 haskell 包源的位置(这是默认设置),并且可以稍后填写该位置。这让我相信缺少 Haskell 源路径是问题所在,但我不知道我的 Haskell 源在哪里。它们似乎不在 Haskell Platform 文件夹中。有谁知道如何解决这个问题?
其他可能有帮助的东西:
- 如手册中所述,我的路径和 wget 上都有 grep。
- ghc-pkg recache 命令大约需要一秒钟。我不知道,如果它应该更多。
- 进行重建元数据时,我得到一个控制台,其中包含许多从 0 到 1 的数字,用于 update_toolbar,然后是很多“启动服务器”->“元数据收集器无关”->“元数据收集已完成”。
我的设置:
- 赢xp sp3
- ghc 6.12.3
- Leksah 0.8.0.6
- GNU grep 2.5.4
- GNU wget 1.5.3.1
我很乐意提供更多信息。谢谢你。
haskell - 为什么 Haddock 文档没有出现在 Hackage 上?
我有一个关于 Hackage 的包,其中包含黑线鳕生成的文档,但它没有出现在 Hackage 页面上。我能够成功上传所有内容,但没有显示文档。
我使用cabal haddock
或使用Package > Build Documentation
Leksah IDE 生成文档。
当我去Package > Open Doc
Leksah 时,它找不到它,因为它正在寻找dist/doc/html/hspec/hspec/index.html
但生成的文件位于dist/doc/html/hspec/index.html
. 我认为 Hackage 也在同一个地方寻找。
我猜我的源文件不在预期的位置,但我不知道它们应该如何。
源代码和目录结构可以在https://github.com/trystan/hspec找到。
networking - TCP 在 GHCi 中工作,在使用 Leksah 编译的程序中缓冲直到程序退出
我编写了这个简单的原型客户端来向我正在开发的服务器发送命令。它可以在 GHCi 中完美运行,但编译后的版本会缓冲输入的所有内容,直到我输入“quit”并且程序退出。那时所有的输入文本都会被发送。
我究竟做错了什么?为什么编译时会有所不同?
更新:如果使用ghc Main.hs
. 使用Leksah通过 Package -> Build 编译时会出现问题。有人知道如何获取 Leksah 使用的命令行吗?
系统信息:OSX 10.6、GHC 7.0.3、网络 2.3.0.2
haskell - 如何删除 Haskell (GHC) 中的“if ... then ... else ...”关键字?
我想删除if ... then ... else ...
关键字,因为我在 Haskell 中嵌入了一种语言/DSL。if
,then
并else
在许多领域传达了很多意义,如果我可以重新定义(或不定义)它们以反映语言/领域的性质,那就太好了。
我在 Google 和 stackoverflow 上搜索过,但一无所获。if ... then ... else ...
(我确实找到了一个关于为什么在 Haskell 中作为关键字包含的旧线程。)
我的 IDE 在 Leksah 中,如果可以删除关键字,那么设置将if ... then ... else ...
关键字更改回其正常字体/颜色/非粗体也是很好的。
我已经尝试过if'
forif
等的命名约定。感觉不太好,尤其是当我想定义if
and if'
,并且必须定义if'
andif''
而不是 or if1
and时if2
。两者的存在if'
也if
可能令人困惑。(在我的情况下,混淆并不是那么严重的问题,因为 DSL 的用户是 Haskell 程序员,但我认为它在其他情况下会有所帮助)。
总结迄今为止的回应:
- 使用
RebindableSyntax
GHC 的扩展。不像删除关键字那样通用:保留了 Haskell 的 if-then-else 的语法。(弗里希·拉贝) - 解决方法:通过使用
data Conditional b a = If b (Then a) (Else a)
(仅适用于某些情况)使用非常相似的单词/名称。(加州麦肯)
如果RebindableSyntax
是一个相对较新的功能,那么它不太可能找到更通用的方法,至少要等到 GHC 的下一个版本。
haskell - 将 Leksah 调试器与使用 readLn 和类似程序的程序一起使用
我最近安装了 Leksah(Windows 7 64 位上的 0.10.0.4),这对于 Haskell 来说似乎是一个有趣的 IDE。但是,在使用程序时,当涉及到用户对程序的输入时,我显然忽略了一些东西。
我有一个非常简单的
阻止我的代码。当调试器点击 readLn 时,我希望能够在某处提供输入。但是,我找不到任何输入窗口。起初我预计可能会启用日志窗口,但我找不到与程序交互的地方。在 GHCi 中运行一切都符合预期,所以我确定它不是代码。
此外,当我只是执行“Package->Run”时,提示在其他日志输出到达之前不会变得可见(例如进行重建)。
过去在 Linux 上使用 Emacs 和 Haskell 模式,我希望获得更友好的用户体验,这样我就可以让一些 Windows 程序员参与 Haskell 主题。我错过了什么吗?