F#高级练习

我已经完成了关于F#的书籍阅读,而且本书中大部分练习都是基本的。 现在我正在寻找更高级的练习,以通过语言和函数式编程概念提高我的技能。

有没有一个地方或一本书,我可以通过特别设计的练习来练习F#来学习语言特征? 现在我只能设法找到介绍性的东西或一般的编程问题网站(例如Project Euler)。

我的目标是真正学习如何以功能性的方式进行思考,并习惯诸如模式匹配,部分应用函数,monads /工作流,尾递归等等。 我想学习如何使用功能结构来解决问题。

我也会对任何为其他函数式编程语言(如Haskell)设计的优秀练习感兴趣。


如果你相信通过实践经验学习,欧拉计划问题可能是你的练习。 它们不限于函数式编程,但其数学性质非常适合F#和其他函数式语言。 然而,另一个项目Euler系列是在F#中开始使用Project Euler的好资源。

我曾经通过99个问题学习Prolog,但我看到人们也通过它们学习Lisp,Haskell,OCaml等。 我认为这些练习是学习F#的有用资源。 他们是精心设计的问题。 前几个教你学习列表(在F#中的基本数据结构)。 逻辑,树和图形上更先进的问题是探索高级F#特性的好机会。 以下是OCaml和F#中的解决方案集,以供您参考时使用。


我开始了通过前50个项目欧拉问题。 这是一个很好的初步学习经验。

不久之后,我开始积极参与Stackoverflow F#标记。 看到别人提供的答案,并且不得不研究我自己的答案,这很有教育意义(你知道他们对教学的看法,这是真的)。

然后我最大的学习经验来自F#中的开源项目。 即FsEye和Unquote。 这两个想法都反映了我对F#的经验,并且看到了丰富F#生态系统的机会。 在FsEye的情况下,它增强了FSI的经验。 在Unquote的情况下,它利用了独特的F#功能。 这两个人通过对严肃的项目进行经验学习是真正让我对F#有深刻理解和技巧的。


tryfsharp.org是学习F#的好地方。 教程按技能水平和问题领域进行细分。 这可能就是你正在寻找的东西。

链接地址: http://www.djcxy.com/p/80489.html

上一篇: F# advanced exercises

下一篇: Represent sequence of tetrahedral numbers in Haskell