F#高级练习

F#高级练习,f#,functional-programming,F#,Functional Programming,我已经读完了有关F#的书,并且我已经完成了书中大部分基本的练习。现在我正在寻找更高级的练习来提高我的语言和函数式编程概念的技能 有没有一个地方或一本书可以让我通过专门设计的练习练习F#来学习语言特征?现在我只在一些网站上找到了介绍性的东西或一般的编程问题(例如ProjectEuler) 我的目标是真正学习如何以函数的方式思考,并习惯于模式匹配、部分应用函数、monad/工作流、尾部递归等等。我想学习如何使用函数构造解决问题 我还对任何为其他函数式编程语言(如Haskell)设计的好练习感兴趣。是

我已经读完了有关F#的书,并且我已经完成了书中大部分基本的练习。现在我正在寻找更高级的练习来提高我的语言和函数式编程概念的技能

有没有一个地方或一本书可以让我通过专门设计的练习练习F#来学习语言特征?现在我只在一些网站上找到了介绍性的东西或一般的编程问题(例如ProjectEuler)

我的目标是真正学习如何以函数的方式思考,并习惯于模式匹配、部分应用函数、monad/工作流、尾部递归等等。我想学习如何使用函数构造解决问题


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

是学习F#的好网站。教程按技能级别和问题领域进行细分。这可能正是你想要的。

如果你相信通过亲身体验来学习,可能是适合你的练习。它们不仅限于函数式编程,而且其数学性质非常适合F#和其他函数式语言。是开始使用F#中的Euler项目的一个很好的资源

我曾经通过学习Prolog,但我看到人们也通过它们学习Lisp、Haskell、OCaml等。我认为这些练习是学习F#的有用资源。
它们是精心设计的问题。前几个例子教你如何使用列表(F#中的基本数据结构)。关于逻辑、树和图的更高级问题是探索高级F#特性的好机会。以下是一系列的解决方案,以备参考。

我从前50个问题开始。那是一次很好的初步学习经历

在我开始积极参与Stackoverflow F#tag之后不久。看到别人提供的答案,并且不得不研究我自己的答案是非常有教育意义的(你知道他们说的通过教学来学习,这是真的)

然后,我最大的学习经历来自于在F#从事开源项目的工作。即和。这两个想法都来自于我对F#的体验的反思,以及看到存在哪些机会来丰富F#生态系统。在FsEye的案例中,它增强了FSI的体验。在Unquote的案例中,它利用了一个独特的F#特性。这两次在认真的项目中边干边学的经历,真正让我对F#有了深刻的理解和技巧。

为你提供了算法方面的挑战。有一个完整的章节专门讨论,当您创建解决方案时,您可以选择F#作为您的选择语言


在函数式编程中,你可以在不同的任务组中进行选择:递归、函数结构器、解析器等等。

好吧,它们是专门设计的练习,但你可能做得比尝试更糟:)你在另一个问题中寻找F#代码基。我建议Foq和TickSpec是很好的思想食粮。Paket也值得一看,如果你想找更简单的东西,ZeroToNine,FunDomain/FsUno.Prod可能会很有趣。谢谢,(奇怪的是,我再也找不到这个问题了,看起来它被删除了:/)99个问题正是我想要的练习类型!我甚至找到了一个f版本的解决方案:我想我在回答中给出了相同的解决方案。我更喜欢Github,因为它更适合多个文件。是的,你是对的,我有点急于点击你发布的99个问题链接,但忘了查看其余的答案;)谢谢你的回答,我已经通过tryfsharp.org了。这里的例子可以作为该语言的第一个介绍,但我正在寻找更高级的东西。微软关闭了tryfsharp.org。同意开源建议。ProjectEuler的问题很好,但有点“狭隘”——在一个成熟的应用程序中工作和挣扎是我真正感兴趣的地方。我的第一个F#库是一个巨大的学习,我目前正在将机器学习算法从一本Python书籍转换为F#,我发现这很有启发性。另外,我需要这些算法:)