在哪里可以找到用Scala编写的纯功能性开源项目?

在哪里可以找到用Scala编写的纯功能性开源项目?,scala,open-source,functional-programming,Scala,Open Source,Functional Programming,我正在寻找用Scala编写的纯功能风格的开源项目,即不使用vars或可变数据结构(或根据需要少量使用它们)的项目。我更喜欢应用程序而不是框架和库,因为我想看看功能对象是如何“粘在一起”的 请注意,这个问题与Scala类似,但这里的重点是项目的purley函数风格。这是一个库,但我认为这是Scala中纯函数风格的一个很好的例子。您可以看看。如前所述,其主要功能如下: 使用1个可变变量在一个地方提供一些DSL灵活性 出于同样的原因使用异常(可选) 最终使用控制台或文件系统的输出 以下是一个基于此问

我正在寻找用Scala编写的纯功能风格的开源项目,即不使用
var
s或可变数据结构(或根据需要少量使用它们)的项目。我更喜欢应用程序而不是框架和库,因为我想看看功能对象是如何“粘在一起”的


请注意,这个问题与Scala类似,但这里的重点是项目的purley函数风格。

这是一个库,但我认为这是Scala中纯函数风格的一个很好的例子。

您可以看看。如前所述,其主要功能如下:

  • 使用1个可变变量在一个地方提供一些DSL灵活性
  • 出于同样的原因使用异常(可选)
  • 最终使用控制台或文件系统的输出

以下是一个基于此问题的答案,以Scala编写的(大部分)功能性应用程序和库的非详尽列表。请随时在此列表中添加更多项目

应用: 图书馆:
  • 包括当前在核心Scala API中不可用的常规函数
  • 是一个用于编写可执行软件规范的库

通过语言启动一个过滤器可能是一个好主意,但是找到一个纯粹功能性的东西可能很难——在处理大型项目时,最好是务实,并为手头的任务使用最好的编程风格。由于大多数项目包含各种各样的任务,因此通常会产生一系列样式。虽然在python而不是scala中,我经常在实际项目中将纯粹的功能代码与OO代码混合在一起。这意味着从技术上讲,在功能上编写等价的代码是可能的,而且许多人可能将OO描述为语法糖。我想你最好是找学术工作,而不是现实世界的项目。如果它必须是现实世界中的,它最有可能是一个图书馆。我同意你的推理,使用最好的风格来完成手头的任务,但要做出深思熟虑的决定,我需要知道其他选择。目前我只是不了解他们,我想从现有的项目中学习,这些项目只(或主要)使用功能概念。也许我应该先学习用Haskell编写应用程序,然后再回到Scala。事实上,我几乎要把它作为一个答案来写,但我只是建议阅读Haskell应用程序:-)+1。Scalaz是Scala中(类型化)函数式编程的典型例子,不仅仅是因为“不可变、纯粹和引用透明”的意义,还因为大量使用类型化编程、类型驱动设计和等式推理,以及大量依赖类型论和范畴论。(在一些较旧的版本中,他们采用了类型化编程,甚至没有给出方法可发音的名称,只是奇怪的Unicode符号,因为他们想强调一个事实,即在一个设计良好的库中,您需要知道的一切都已经在类型中了。)嘿,我不知道!美好的我肯定会看看specs2,因为我也在Scala项目中使用它。