GHCi使用问题

时间:2010-09-26 09:39:23

标签: haskell f# ghci

我正在学习Haskell并使用Emacs + Haskell模式作为我的编辑器。

在GHCi中播放一些简单的表达式之后,我想知道这个IDE /编辑器功能是否存在于Visual Stuido for F#中:

  1. 我可以将剪贴板中的内容发送到解释器吗?目前我只能:将文件加载到解释器中。当我逐渐在脚本文件中编写函数时,这是不方便的。就像视觉stuido中的“Alt + Enter”一样。

  2. 编译完成后,我希望看到该功能的签名,例如:

    让double x = x + x

  3. 这样我就可以更好地理解Haskell中的类型推断机制。

4 个答案:

答案 0 :(得分:3)

  1. 在Windows上,有WinGHCi,gui包括(差,但通常足够)支持复制和粘贴。关于命令行版本的Dunno。

  2. 使用:type double(或快捷方式:t double)获取double的类型签名。还有:info适用于值(包括函数)以及类型和类型类(例如:info Bool列出Bool的定义以及所有类型和类型的类型)并说明它在哪里已定义。

答案 1 :(得分:3)

关于问题2,要在每次输入一个表达式时看到表达式的推断类型,你可以给出ghci:set + t。我认为您也可以将其放在主目录中的.ghci文件中,如http://www.haskell.org/ghc/docs/6.12.2/html/users_guide/ghci-dot-files.html中所述。

答案 2 :(得分:2)

据我所知,没有支持将剪贴板“开箱即用”发送给解释器,但它不应该超过几行elisp。如果我是你的话,我会查看其他语言的支持模式并从那里复制它。

关于类型,您可以在代码中的任何符号上键入C-c C-t或C-c C-i,这将在ghci进程中触发“:t <symbol>”和“:i <symbol>”命令

答案 3 :(得分:1)

TAIM声称将vim中的选定表达式发送到ghci(尚未尝试过)

我不确定编辑器中的函数签名,但是在ghci中它的“:t func”

实际上看看他们的YouTube视频,看起来TAIM可以在vim中选择“:t func”并将其发送给翻译。