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

haskell - Haskell 中对不可变数据的可变引用

我想跟踪一系列不可变值中的“当前”值。在不为每个新值引入新引用的情况下,在 Haskell 中做到这一点的最佳方法是什么?这是一个例子:

0 投票
2 回答
279 浏览

java - 在 Frege 中导入 Java 库

我正在尝试 frege,并且我正在努力尝试使用一些本机 Java 库。

我正在尝试使用 leiningen 插件和 Joda time。显然 lein 插件不能正确地查看 fregec 的类路径,或者可能与这种差异有关:

正如预期的那样,将能够找到Joda,而

将失败

这不应该发生,因为根据维基,这不应该发生,因为

正在运行的 JVM 的当前类路径加上目标目录总是在类路径上。

尽管如此,即使在手动设置之后-fp,此代码也无法编译:

错误是

但是我使用的唯一实例方法(getYears)将引用类型作为输入(JodaYears)......我什至尝试过org.joda.time.Years,但编译仍然失败

感谢任何可能对此有所了解的人

0 投票
1 回答
105 浏览

haskell - 弗雷格如何概括数字文字?

看来弗雷格可以评估

返回 Double 值 0.5。

文字1的类型是Int。它似乎被提升为Double,这是类中的一种类型,Real因此知道/运算符。这是怎么发生的?是使用 Haskell 方法将文字 1 静默替换为fromInt 1还是发生了其他事情?这里如何Double选择作为Real使用的实例?是否有像 Haskell 一样的“默认”实例类型列表?

0 投票
1 回答
109 浏览

java - 如何在 Frege 中声明带有类型变量的本机接口?

我想在 Frege 中本地声明一个具有泛型类型的 java 接口。例如,让我们从 JavaFX 中获取一个 ObservableList。

省略通用类型 E,它可以定义

但是当我尝试

在此处查看完整示例

我明白了

建议的处理方法是什么?

0 投票
1 回答
205 浏览

java - 如何在 Eclipse 中从 Java 调用 Frege?

我在这个主题上找不到一个开箱即用的例子。

我成功地在同一个项目中从 Frege 调用到 Frege,以及从 Java 到 Java,但我无法让 .java 文件识别 .fr 文件

我应该遵循哪些步骤才能使以下代码正常工作(在 Consumer.java 中)

我的基本设置如下所示:

我安装了 eclipse-plugin 并按照说明进行操作。

项目生成器按以下顺序:

项目路径:

消费者:

弗雷格制片人:

0 投票
1 回答
684 浏览

haskell - QuickCheck:如何组合两个生成器?

我有两个生成器,gen_n& gen_arr

我怎样才能将这两个组合成一个Gen (Int, [Int])

0 投票
1 回答
123 浏览

frege - Frege putStr 刷新行为不同于 Haskell 或 Java

putStr假设您使用和的组合提示用户输入getLine

与 Haskell 相比,Frege 不打印第二行(使用putStr而不是putStrLn)。这种缺少冲洗的行为是有意的吗?

如果 Frege 偏离了 Haskell 的行为,我会假设它是模仿 Java 的行为。一个概念上相似的例子:

然而,它的行为类似于 Haskell 变体,即System.out.print立即刷新。

提前感谢您的任何反馈!

PS:(错误?)行为可以使用最新的 Eclipse-Plugin 以及 IntelliJ/Gradle 重现。

0 投票
1 回答
67 浏览

frege - 如何在 Frege 中处理二进制数据?

我是 Frege 的新手,虽然我知道 Java 和 Haskell。

我正在移植一些使用 的 Haskell 代码ByteString,并且试图弄清楚在 Frege 中使用什么。我假设我想使用其底层 Java 表示为 的东西byte[],但我不确定 Frege 是如何包装它的。

特别是,我查看了PreludeArrays.fr我注意到PrimitiveArrayElement除了. byte

我觉得我缺少一些明显的东西。如何在 Frege 中处理二进制数据?有没有如何做到这一点的例子?

0 投票
1 回答
144 浏览

java - 如何在 Frege 本机声明中声明 Java 枚举?

在 JavaFX Animation 类上使用 Frege native-gen 工具时,它会生成 Frege 代码,其中包括以下内容:

但由于缺少 Animation_Status 类型,因此代码无法编译。在 Java 方面,这是一个枚举。 http://docs.oracle.com/javafx/2/api/javafx/animation/Animation.Status.html

在本机声明中处理此问题的建议方法是什么?

0 投票
1 回答
60 浏览

frege - 如何在 Frege 的非纯本机函数中声明可变类型的 Maybe?

native-gen 工具为 showOpenDialog方法生成本地声明,javafx.stage.FileChooser如下所示

编译导致消息

现在设置

导致

但遵循建议会再次导致第一条错误消息。

编译器接受IOMutable File作为返回类型,这是有道理的,因为它是一个返回可变类型的 IO 操作。

如果可能,应调整编译器错误消息以避免用户方面的挫败感。

但是,在这种特殊情况下,文件可以为 null,因此核心类型不是Filebut Maybe File。但随后仅使用IOMutable (Maybe File)会导致相当令人惊讶的消息

关于如何正确声明这种类型的任何建议?