将基本Scheme函数转换为Haskell等价物

时间:2011-05-31 11:40:11

标签: regex haskell scheme

我正在尝试将方案代码转换为Haskell代码。

为此,我想知道如何使用scheme的

  1. 地图
  2. 拉姆达
  3. 从文件路径返回端口
  4. 来自端口的读取行
  5. 附加到列表
  6. 正则表达式匹配
  7. GUI
  8. 在Haskell

    有人可以告诉我如何在哈斯克尔这样做吗? 感谢

2 个答案:

答案 0 :(得分:9)

基本上你需要学习Haskell,语言和它的图书馆生态系统。要查找库和函数,首先要学习Prelude,因为那里定义了很多东西。然后转到Hackage,在那里你可以选择数千个库。

具体而言,您可以在Prelude和via Hoogle中找到您需要的大部分内容。

  1. map已定义。

  2. “lambda”的语法为:\x -> ... e ..

  3. “从文件路径返回端口”:尝试openFile

  4. “来自端口的读取行”,请尝试hGetLine

  5. “追加到列表”,尝试++

  6. “regexp-match”,使用Hackage中的fine regex libraries之一。

  7. “GUI”,选择gtk2hswxHaskell中的一个。

答案 1 :(得分:3)

首先,如果你没有Haskell的经验,我建议你阅读一篇很好的介绍

两者都是免费提供的。

尤其重要的是,Haskell在 pure (例如计算)和 impure (例如IO)计算之间存在差异。处理它们需要你有时思考不同。此外,Haskell是惰性的,因此您的代码可能无法通过简单的语法更改来翻译。

关于其他观点,请参阅Don Steward的answer