问题标签 [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 回答
66 浏览

frege - 如何在 Frege 中使用多个内联断言

为了自检示例,我运行了以下代码:

我知道这并不完美(建议非常受欢迎),但当前的问题是,当我将断言的定义放入模块 util.Assertions 时,使用两个断言无法编译

它在我只有一个断言时起作用,因此类本身在 CP 上,并且模块导入原则上起作用。怎么了?

0 投票
2 回答
189 浏览

frege - 如何编译整个 Frege 源代码树

按照如何在 Frege 中使用多个内联断言的答案,我学习了如何编译两个 Frege 模块 A 和 B,其中 B 依赖于 A:你必须编译 B。如果给定 -make 选项,编译器会发现 B 依赖于在 A 上,将在源路径(-sp 标志)上找到 A,然后先编译 A,然后编译 B。

但是,我不能只将我关心的所有文件都交给编译器。将 AB 都提供给编译器失败,对我来说出现“循环依赖”错误。而且我还发现无法为编译器提供目录(它什么也没做)。

看起来我必须知道依赖图的根才能正确编译所有需要编译的文件。但

  • 我可能不知道根源。
  • 可能有很多。
  • 以这种方式进行适当的构建自动化非常困难。

是否有编译器选项的组合,我可以让编译器编译源树中的所有文件?

0 投票
1 回答
235 浏览

frege - 是否有用于 Frege JSR223 集成的可下载 jar?

github 上的 frege-scripting 项目包含 JSR223 所需的 ScriptEngineFactory,但它似乎既没有打包在 Frege 语言 jar 本身中,也没有打包在 REPL 或其任何依赖项中。

某处有这样的罐子还是需要额外的构建?

0 投票
1 回答
172 浏览

haskell - 为什么 Frege 与 Haskell 中的 ":type null" 不同?

在哈斯克尔:

在弗雷格:

我如何解释这个答案,为什么会有区别?

(来自真实世界的haskell的例子,改编自真实世界的frege git repo)

0 投票
2 回答
95 浏览

frege - 弗雷格的评估是否有系统的上限?

出于好奇,我在 Frege 中尝试了这段代码:

不言而喻,3000 万个条目的序列有点傻,我会接受 OOME。我想看看惰性评估是否在这里有所作为。结果是,尽管我所有的 8 个内核都以 100% 的速度耗尽并一直呆在那里,直到我硬杀死了这个过程。

我是否达到了系统的上限?


我应该提到我使用了真实世界的 Haskell 练习中的 mydrop:

0 投票
2 回答
240 浏览

haskell - 与 Haskell“readFile”等价的 Frege 是什么?

在为真实世界的 Haskell 代码示例(第 2 章)准备 Frege 等价物时,我找不到

最接近的匹配是什么?

0 投票
1 回答
239 浏览

frege - Frege:我可以为递归类型派生“Show”吗?

我正在尝试在 frege 中实现经典的树结构,只要我不使用“派生”,它就可以很好地工作:

给我

这不支持还是我必须以不同的方式声明它?

0 投票
1 回答
453 浏览

java - 在 Java 代码中使用 Frege List

我想了解 Frege List 的工作原理以及如何从 Java 中使用它。当我下载 Frege 编译器代码时,我发现很难从 Frege 代码中理解 Frege 列表是什么。

做一些测试,我发现 Frege List 是TListJava 中类的一个实例,它有一个特殊的方法,称为_Cons(),它返回一个DCons对象。DCons正如预期的那样,是一对,其中该对的第一个元素对应于列表的头部,而第二个元素是尾部,因此是另一个TList. 在_Cons()空列表上调用时,返回值为 null。因此,要在 Frege 上实现一个 Java 迭代器TList,可以这样写:

我的问题是:

  • 我的解释TList正确吗?
  • 是否TListIterator正确?
  • 我在哪里可以找到更多关于什么TList和在 Frege 编译器源代码中的DList信息?DCons他们有记录吗?
  • 关于 Frege 最佳实践的一个更通用的问题:当您希望 Java 代码使用 Frege 值时,从 Frege 代码返回 Java“标准”对象更好还是直接使用 Java 中的 Frege 类更好?我的观点是前者比后者更容易编写,但转换开销很小。例如,TListIterator总是可以通过将Frege转换TList为 Java来避免 a。LinkedList
0 投票
2 回答
170 浏览

java - 如何将 Java 重载构造函数映射到 Frege 函数

Java(不幸的是)支持构造函数和方法重载。例如,HashMap有四个构造函数。在弗雷格我不能这样做:

这不会编译,因为我不能绑定四次“新”。Frege 数据类型中是否可以有四个“Java 构造函数”?

0 投票
1 回答
143 浏览

haskell - 弗雷格列表中的长度函数有上限吗?

对于 real-world-frege 项目,我从 real-world-haskell 进行了练习,任务是为列表创建一个长度函数,并将其与内部长度函数进行比较。

我提出的解决方案在https://github.com/Dierk/Real_World_Frege/blob/master/realworld/chapter3/I_Exercise_1.fr

它的牛肉是:

对于 100 万个条目以下的列表,我的和内部长度函数都可以正常工作,在 10 M 时会变得非常慢,并且对于 100 M 似乎根本不会停止。

Frege 的内部长度函数(不是 Haskell 的)似乎有一个低于 1 亿的上限。是这样吗?