如何在GHCi中插入反引号?

时间:2015-09-26 19:00:44

标签: haskell ghci winghci

我在Windows上尝试使用GHCi中的Haskell。在我正在阅读的教程中,函数名称包含在反引号中:x `mod` 7。但是,我无法输入GHCi中的角色。

反引号字符的ASCII值为096,但GHCI不允许 Alt + number 插入任何字符。复制/粘贴也不起作用。我该怎么办?

2 个答案:

答案 0 :(得分:10)

如果您的键盘没有,我不知道如何向ghci发送反引号。但是这个小技术问题不应该阻止你尝试Haskell!

  • 您可以使用f a b代替a `f` b在没有反引号的情况下在Haskell中进行编程。在您的示例中,mod x 7

  • 您可以将键盘布局设置为us-american以进行编程。虽然在物理键盘上找到带有错误标签的按键需要一些练习,但可以更方便地访问[]{},在你的情况下,完全有反击。

  • 您可以从剪贴板粘贴反引号。 (从命令窗口的设置中激活“快速编辑模式”和“粘贴模式”,然后使用鼠标右键粘贴)。

  • 也许在命令窗口周围使用包装器有帮助吗?我有时在Emacs中使用Console2,有时使用M-x shell

  • 也许WinGHCi有帮助吗?它至少支持复制和粘贴。

  • 请参阅ØrjanJohansen关于如何向ghci添加自定义键绑定的答案。

祝Haskell好运!

答案 1 :(得分:6)

@Toxaris在他的回答中给出了一些建议,但在评论中他还提到了配置GHCi版本的readline(称为haskeline)的可能性。并坚持allows custom keybindings。所以我决定测试一下。

文档说明将自定义项放在~/.haskeline中,这不是Windows路径,但可能会在.haskeline返回的目录中转换为System.Directory.getHomeDirectory。 (vim也可以直接在Windows上编辑该路径,但之后我才意识到。)所以我将以下内容放在C:\Users\Ørjan\.haskeline中:

bind: meta-' `

现在我可以按`

在GHCi中获得alt-'