San*_*lar 0 haskell ghci haskell-mode
使用:tI 可以打印表达式的类型。但是我如何查看该类型的构造函数呢?emacs 的 Haskell 模式下是否有快捷方式?
这似乎是一个基本的东西,但我找不到它。也许我只是搜索了错误的术语......
一般来说,无需查看文档即可查看打印类型定义的最简单方法是什么。
:info,或者只是:i,就是你想要的:
>>> :i Either\ndata Either a b = Left a | Right b -- Defined in \xe2\x80\x98Data.Either\xe2\x80\x99\n... plus all of Either\'s instances\nRun Code Online (Sandbox Code Playgroud)\n\n来自GHCi 文档:
\n\n\n\n\n: 信息名称...
\n\n显示有关给定名称的信息。例如,如果name是 class,则将打印类方法及其类型;if\n name是类型构造函数,则将打印其定义;如果 name是一个函数,那么将打印它的类型。如果名称已从源文件加载,则 GHCi 还将显示其定义在源中的位置。
\n
Emacs 中的 Haskell 模式有haskell-process-do-info(源代码),Emacs 上的 Haskell 教程建议为此设置键绑定C-c C-n C-i。
(defun haskell-process-do-info (&optional prompt-value) \n "Print info on the identifier at point.\nIf PROMPT-VALUE is non-nil, request identifier via mini-buffer."\n...\n)\nRun Code Online (Sandbox Code Playgroud)\n