0

我现在正在与 Haskell 斗争。甚至,我对命令式语言和 OOP 有一些经验,但 Haskell 似乎与它们不同。我低估了 Haskell,并认为学习一门新语言对我来说不是问题。然而,在花了整整一周的时间学习许多新概念(typeclass、functors、applicative、monoids、monads...阅读了这个learnyouahaskell的所有 14 章)之后,我注意到它们让我很困惑,不知道如何开始写作Haskell 的一个程序。一些专家说你需要几个月的时间才能掌握 Haskell。但我只有两周的时间来完成一个大项目。

1)所以我的第一个问题是如何学习 Haskell

2)什么时候需要使用应用函子,什么时候需要使用单子?

3)我的项目是处理基于许多演示的有向图:

  • 邻接矩阵
  • 二叉搜索树

我是一个 Haskell 新手,所以不知道在 Haskell 中我可以从哪里开始有向图?你有什么建议吗?

4

1 回答 1

3

要回答您的第一个问题(如何学习 Haskell),我想说您需要实际编写代码。听起来您阅读了 Learn You A Haskell 的许多章节,但它们让您头晕目眩。慢一点,更重要的是,通过键入和评估代码来跟随。你说你“不知道从哪里开始用 Haskell 编写程序”。实际编写和执行示例的做法正是您需要了解代码的工作原理以及从哪里开始的内容。

您可能还没有完全准备好回答第二个问题(何时使用Monad和何时使用Applicative)——不过,通过 LYAH 工作,您肯定会知道何时使用每个问题。

具体就有向图而言,这是一个很好的资源(亚马逊的评论不是很好,但我认为这是对 Haskell 中图和抽象数据类型概念的一个很好的介绍)。

祝你好运 - Haskell 非常值得奋斗!

于 2012-11-20T03:15:12.107 回答