F# 开源项目

59

我正在寻找一些开源的F#项目来学习。希望是完整的项目而不只是代码片段,能够很好地展示F#语言的特性(例如模式匹配、判别联合等)。

我的目标主要是看看这些特性如何结合在一起,项目是如何组织的以及如何从函数式的角度解决问题。


https://github.com/fsprojects - Mauricio Scheffer
14个回答

43

我无法更正您的输入,但 DownloadStockPrices 链接已损坏。 - Brett Bim
7
没问题。不过这与Stack Overflow的创始人愿景是一致的(请参见Joel对此主题的许多评论)。 - George Stocker
2
奇怪的是,计算器(@googlecode)的源代码已关闭。 - bohdan_trotsenko

11

FsCheck是一个基于规范的测试框架。

VCC是对C语言程序的静态分析工具(由微软研究开发)。

VSLab是一款类似于Visual Studio中的Mathematica/Matlab环境。


5

又发现一个工具:

Storm: 一款用于测试 Web 服务的工具。


4

BistroFS是一款适用于F#的Web框架。


4
Frack -- 功能性Rack -- 是OWIN(.NET的开放Web接口)的一种实现,其意图与Python WSGI和JSGI规范类似。Frack在实现上类似于Rack和Jack,并且受益于这些项目。 https://github.com/panesofglass/frank

3
也许您会对Wing Beats感兴趣?
该项目不到一年,目前只有两名贡献者,但我相信其中有一些有趣的东西值得一看。
我们希望其他人加入,或者至少去看看并尝试一下。

看起来不错,你看过 #light 吗?http://sharplight.codeplex.com/ - Mauricio Scheffer
我简单地看了一下,它似乎很有趣。我也认为Sadek所谈论的原则是可靠的。不过它最近没有更新。 - Johan Jonasson

3

你应该把所有的回答编译成一个答案。 - George Stocker
不同的项目会产生不同程度的兴趣,因此最有趣或代表性最强的项目应该得到最多的投票。 - Mauricio Scheffer
@Mausch:Stack Overflow不应被用作投票机制。投票者经常会对发布多个答案的作者进行负面评价,仅仅因为他们似乎在刷票。 - George Stocker
尤其是因为你的问题既不是一个维基页面,也没有提出那个问题。 - George Stocker
我不同意你的观点,也不太在意声望,如果你看我的个人资料,你会发现我回答了很多不受欢迎的问题。而且我确实要求提供代表性项目。请看日期,没有人回答,我花了6天时间才找到一些东西。 - Mauricio Scheffer
无论如何,为了让你开心,我将这个问题和我所有的回答都设为了维基页面。 - Mauricio Scheffer

3

FParsec是一款用于F#的解析器组合库。


3

DownloadStockPrices

该项目从Yahoo历史行情中下载股票价格、股息和拆分信息。它还会修改这些数据以使其更加真实,并调整它们以计算出调整后的价格。此外,还有一个.NET组件可供C#/VB.NET重用。虽然是使用F#编写的,但可以在任何.NET语言中使用。

博客文章链接在这里

该项目使用了F# September 2008 CTP。

该解决方案由以下组成:

  • 一个执行下载的库
  • 一个使用xUnit的测试项目(但必须下载xUnit并将其引用到测试项目中才能运行)
  • 一个简单的基于控制台的驱动程序
  • 一个使用该库的图形化UI应用程序的起始点(名为Bob)

“使用名为Bob的库开始编写图形用户界面应用程序” <-- 这是真的吗?又一个微软Bob?我喜欢它。 - GvS

2
我正在为FSI开发一个名为FsEye的可视化对象树检查器。它演示了在F#中进行WinForms开发,包括使用async执行非阻塞GUI更新和并行计算。对象树使用辨别联合和记录进行建模。Lazy值和序列表达式用于按需加载(无限深度)子树。活动模式用于平滑处理与非泛型TreeViewNodes的工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接