问题标签 [frege]

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 投票
1 回答
95 浏览

haskell - Frege是否解决了Haskell的“再出口合格”问题?

Haskell 中的问题:

你想写一个超级模块

重新导出这些模块,您会遇到名称冲突。

请注意,每个模块(foo1、foo2 等)中可能有很多功能,我想从两个模块中使用它们。foodata毕竟,每个模块中也可以存在具有相同成员名称的 s。所以隐藏不是解决办法。我认为 Lens 可以解决它。

现在,弗雷格解决了Haskell的“再出口合格”问题吗?如果我没记错的话似乎是这样,但是我现在找不到证据,有人可以详细说明吗?

0 投票
2 回答
82 浏览

haskell - 在 Frege 中创建状态实例

LYAH 的 y-taka-23 改编中,我发现第 13 章的大部分片段必须处理缺少State构造函数的问题,例如原始的 Haskell 代码:

改写为:

这当然有它自己的教学优点!但我想知道是否有另一种创建State. 我知道 Frege 和 Haskell 之间的这种差异来自这样一个事实,即State s a在 Frege 的Control.monad.State模块中是一种抽象数据类型。是否可以定义派生自它的新具体数据类型并改用其构造函数?

0 投票
2 回答
69 浏览

tree - 为什么我会收到这些类型错误?

我有一个数据类型:

我想要功能

每个节点一对。第一个元素是标签(值),第二个是它的深度。

我的意图(原始代码)是这样的:

但这不起作用。

怎么了?我正在使用弗雷格 REPL

0 投票
2 回答
112 浏览

frege - 在 Frege 中引发异常的本机构造函数的类型是什么?

我正在尝试找出本机界面。我正在尝试使用UDP. 这是我所拥有的:

这段代码意外运行,但它让我想知道几件事。首先,应该是什么类型DatagramSocket.new来反映抛出异常的事实?我试图把它打包进去Maybe,但结果一团糟。有什么办法吗?目前,我不知道如何处理异常,main没有完全解决它,或者我可能遗漏了一些东西。其次,为什么我被编译器强迫改变InetSocketAddresspure不纯的,在 中使用它DatagramSocket.new?我还被迫JArray在代码中需要它的地方使用可变版本。

0 投票
0 回答
314 浏览

haskell - 在 Windows 7 上安装 ghc-mod 会永远冻结

我想在 IntelliJ IDEA中启用 Frege,基本上是 JVM( https://github.com/Frege )上的 Haskell。它需要路径

ghc-mod

ghc-莫迪。

因此,我为 Windows 64 位安装了 Haskell 平台。由于 Cabal 已经是平台的一部分,我尝试了

“阴谋集团安装 ghc-mod”

应该已将软件包安装到

"c:\Users\%用户名%\AppData\Roaming\cabal\bin"

Cabal 打印到控制台中

其中 x 是某个包的名称。

这发生在几个包裹上,然后阴谋集团永远冻结了。我当时所做的就是用 Haskell Platform 32bit 重复这个过程,然而,结果是一样的。

基于此经验,我决定遵循有关如何单独安装 haskell 部件的教程(http://blog.nikosbaxevanis.com/2015/04/15/setting-up-haskell-on-windows/)。我设法下载了 GHC for Windows,我调整了 PATH,下载了 Cabal for Windows,运行

“cabal.exe 安装”

“cabal.exe 更新”

并在 bash shell 中运行

“cabal.exe 安装 cabal-安装”

和之前的案例一样,阴谋集团僵住了,我不停地跑了一夜,但什么也没发生。这只是 bash 中发生的事情的一个示例:

我开始感到绝望。Haskell 本身在使用平台时运行正确,我需要与 Cabal 交互的唯一原因是 ghc-mod 包,只是因为 IDE。同时,我认为 IDE 也很重要。

欢迎任何建议或评论。谢谢。

0 投票
1 回答
191 浏览

java - 在 Frege 中与 Java 的互操作性,尤其是在 IO Monad 中

我想将此 java 代码翻译成 Frege Haskell:

到目前为止我做了:

部分main编译但后来我得到了这些错误:

我正在努力满足编译器标准,但没有成功。在无数次随机组合之后,上面的这个片段对我来说似乎是最合理的。我需要do块中的类型提示吗?我不明白为什么要p <- PApplet.new评估成IO PApplet?以及如何JArray.fromList退货ArrayOf RealWorld String?Frege 很棒,但互操作性非常令人生畏。是否有可能在 Frege github 上有更多关于它的示例?

0 投票
3 回答
1797 浏览

haskell - 在 do 块中 <- 和 "let" 有什么区别?

我不明白什么时候必须使用let,什么时候必须使用<-绑定。

0 投票
1 回答
111 浏览

frege - 无法导入模块 frege.system.Directory (java.lang.ClassNotFoundException: frege.system.Directory)

我试图在我的 Frege 程序(在 Eclipse 中)中导入 System.Directory,以便使用 getDirectoryContent 等函数,它给我写了这个错误:无法导入模块 frege.system.Directory (java.lang.ClassNotFoundException: frege .system.目录)

我需要做什么 ?

0 投票
1 回答
90 浏览

haskell - 什么是弗雷格等价于 Haskell 的分数?

该定义适用于ghci

尝试一下frege-repl我得到了:

“流氓” Fractional没有给我任何东西。

0 投票
1 回答
43 浏览

frege - 有什么方法可以在 Frege 中启用 n+k 模式?

ghci在 Haskell 中,我必须从源文件开始-XNPlusKPatterns或添加{-# LANGUAGE NPlusKPatterns #-}源文件才能完成这项工作:

弗雷格是否n+k有意忽略了模式,还是存在启用它的方法?