问题标签 [functional-java]

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 投票
6 回答
645 浏览

java - 使用 function-java 向 Java 生产项目添加闭包有多安全?

我很想在 Java 中使用闭包。我已经读到它们可能会或可能不会进入 Java 7。但是一个名为functional-java的开源项目已经实现了包括闭包在内的功能特性。

在企业生产应用程序中使用这样的库有多安全?

目前有没有更好的方法向 Java 添加闭包?

0 投票
1 回答
847 浏览

java - 您使用函数式 Java 项目的经验是什么?

我正在阅读以下问题 -使用功能 Java 向 Java 生产项目添加闭包有多安全?我一直在考虑在我当前的项目中使用Functional Java项目。我想知道 Stack Overflow 的用户使用 Functional Java 项目的体验如何?特别是,我对其中一些细节感到好奇:

  • 它是否提高了代码质量或清晰度?
  • 提高生产力?
  • 减少潜在的故障点?
  • 影响性能?
0 投票
3 回答
743 浏览

maven - 在哪里可以找到包含functionaljava 3.0 的存储库?

我想在 Maven 项目中使用功能性 Java 3.0 。我一直在谷歌搜索,但我找不到有效信息来在我的 pom.xml 中包含相应的“依赖项”。

有人提到他会将工件上传到 scala-tools maven 存储库,但他似乎没有跟进他的公告。

maven 似乎甚至没有提供早期版本的函数式 Java。

有没有人有关于这个问题的有效和最新信息?

谢谢!

PS:是的,我知道我可以下载 .jar 并将其手动包含在我的项目中,但这只是一种解决方法......

0 投票
3 回答
404 浏览

java - 函数式 Java 将 arity-2 函数 (F2) 绑定到选项

我将 Option 的基本绑定语法与功能性 java 理解为

这适用于单输入功能,但我不知道如何使用多个输入功能(如 F2、F3 等)。

IE:

我知道我遗漏了一些东西,但文档有点稀疏。想法?

0 投票
2 回答
2910 浏览

java - 在 FunctionalJava.List 中,“snoc”是什么意思?

FunctionJava 的 List 类有一个可以追加的 snoc 方法: snoc

说明如下:

将给定元素附加(snoc)到此列表以生成新列表。

这里的“snoc”是什么意思?我试图在维基百科中查找它并作为首字母缩略词没有成功。这是否意味着它正在做一些特殊的追加?

编辑:感谢大家指出我的缺点

0 投票
3 回答
4291 浏览

java - 函数式 Java 和 Guava 之间有很好的比较吗?

我想在我将要教授的课程中使用函数式 Java 或 Guava(或者不太可能的 Scala)。尽管有许多在 JVM 上运行的函数式语言,但我想坚持一些看起来尽可能像 Java 的东西,即在概念上和句法上与 Java 8 中预期的功能特性最兼容的东西.

看起来函数式 JavaGuava是最好的候选者。在功能、易用性、概念上与纯 Java 的接近性等方面,我找不到任何可以比较它们的东西。有人知道这些库之间的良好比较吗?

0 投票
3 回答
284 浏览

java - Java FoldMap 列表,或“如何绕过懒惰/急切的不和谐”

我正在将这个包移植到 Java,并且在试图解决两种语言之间的懒惰/急切的不和谐时遇到了困难。我不认为它会像现在这样严重,因为实现完全取决于函数类型,但我想我错了。我如何保持足够的懒惰来让它工作?或者,我如何最小限度地重写它,使其对 Java 足够渴望?

编码

现在直接在 pastebin 上可用,谢谢你告诉我。

InfiniteListException.java

TransformFunc.java

变换CSFunc.java

调频.java

FMList.java

问题

我几乎在每个“函数式”方法上都会遇到堆栈溢出(呵呵),并且force()必须几乎不断地调用它们,以防止它们即使在没有进行功能编码时也是如此。

0 投票
1 回答
328 浏览

java - 函数式 java - 通过调用成员函数进行转换

从红宝石的角度来看,我正在研究一些功能性的 java

在红宝石中你可以做这样的事情

它通过在每个对象上调用 to_s 成员函数来评估转换(映射)数组

我想在 Java 中做类似的事情,即通过在每个对象上调用 _2() 方法来转换 Product-3 (fj.P3) 的列表

所以我不得不在某个地方定义一个方法

但是如果我想获得第一个元素,那是另一种方法......如果我想从 P3 中获得第二个元素,那是另一种方法。

问题是......如果没有像 ruby​​ 这样的机制,那么最通用的方法是什么?

0 投票
1 回答
3770 浏览

java - Guava 中有什么类似于函数式 Java 的效果吗?

我知道纯函数式编程的目标之一是消除可变性,从而排除副作用。但是让我们面对现实吧,即使存在所有的函数式编程库,Java 也不是一种函数式语言。事实上,一些 FP 库似乎知道并期待这一点。例如在函数式 Java 中,有Effect类。在 Jedi FP 库中,有Command接口。这允许您 - 除其他外 - 将具有类型安全性的命令模式应用于 an 的元素,Iterable而无需讨厌的 for 循环样板。

所以问题是,番石榴中是否有类似的东西?

在接受澄清后编辑

我正在开发一个框架,在某些情况下帮助解决大多数 Java FP 库中固有的“垂直问题”。因此,我实际上不会制作如上所示的代码示例:即,显式声明一个新的类实现及其Command所有垂直噪声 icky-ness,只是为了在声明之后立即应用它。

我更多地考虑实际命令模式的思路,其中可能在其他地方声明了几个可能的命令,并且只有其中一个被传递到想要迭代应用它的代码中。此外,我的框架的目标是让创建函数式接口对象(函数、谓词、命令、其他简单的 lambdas)更加地道,而无需简单地将垂直问题移到其他地方。我早就意识到这不在 Guava 的范围内。但由于其他 FP 库中提供了类似命令的界面,我只是想知道 Guava 中是否存在类似物。

使用我的框架的更完整的代码示例可能是这样的:

0 投票
3 回答
3769 浏览

java - 映射 FunctionalJava 选项与休眠

我有一个休眠映射的 Java 对象,JKL它充满了一堆普通的休眠映射字段(如字符串和整数)。

我添加了一个新的嵌入字段(它位于同一个表中——不是映射)asdf,它是一个fj.data.Option<ASDF>. 我已将其作为一个选项,以明确该字段实际上可能不包含任何内容(而不是null每次访问时都必须处理)。

如何在我的JKL.hbm.xml文件中设置映射?我希望hibernate在它检索对象时自动将null数据库中的anone转换为a。fj.data.Option<ASDF>它还应该将一个非空实例转换为ASDF一个somefj.data.Option<ASDF>我还需要做什么其他的诡计吗?谢谢你。