如何在Haskell中获取文件中任意表达式的类型?

乔尔

:type是不够的,因为我想表达的可能包括本地定义喜欢与分配的东西变量<-letwhere类型化的孔(用_ghc替换表达式并用ghc加载)是接近的,但是它们为您提供了在那里被接受的内容,这可能比您好奇的表达式更笼统。

我以为我找到了的头奖:type-at,但是我无法像我希望的那样工作。使用此文件,名为“ thing.hs”:

something :: ()
something = ()

main :: IO ()
main = return something

这是我在使用时得到的结果:type-at

> :set +c
> :l thing.hs
[1 of 1] Compiling Main             ( thing.hs, interpreted )
Ok, one module loaded.
Collecting type info for 1 module(s) ... 
> :type-at thing.hs 5 8 5 13 -- "return" on last line

<no location info>: error: not an expression: ‘’
> :type-at thing.hs 5 1 5 4 -- "main" on last line
 :: IO ()
> :type-at thing.hs 5 15 5 23 -- "something" on last line

<no location info>: error: not an expression: ‘’

基本上与使用相同:type我希望我什至可以传递它的跨度return something并获得Monad a => a ()or IO ()如果可以在仅查看表达式的类型和“在那个时候”的表达式的类型之间进行选择(受制于带有类型孔的类型所限制)之后,该方法会更酷。

戴维斯林

当我尝试:type-at thing.hs 5 8 5 14,我得到:: () -> IO ():type-at thing.hs 5 14 5 24也一样:type-at thing.hs 5 14 6 1

因此,右边界应该是表达式末尾的单元格。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

任意表达式中的单冒号?

条件表达式-如何在条件表达式中获取报告类型

正则表达式以获取URL中的文件类型

如何引用用任意表达式定义的awk字段?

如何在Rust宏中匹配表达式的类型?

如何在IntelliJ中查看Scala表达式的类型

如何在目录中搜索所有文件类型以查找正则表达式

如何在python中使用正则表达式从csv文件中获取数据

如何在组中获取表达式的单个部分?

如何在获取日期表达式中插入变量?

如何在java正则表达式中获取`{`?

如何在 Python 的表达式中获取字母

如何在 sympy 表达式/ Python 中获取系数

如何不仅允许值而且可以在反引号中嵌入任意haskell表达式

正则表达式如何在json表达式中获取组

Elm:如何在elm-repl中找出Elm表达式或子表达式的类型?

在Roslyn中获取表达式类型的结果

在java lambda表达式中获取不同返回类型的表达式

如何在Haskell正则表达式中捕获字符串?

如何在模板 Haskell 中“编码”这个简单的表达式?

您如何在Haskell中陈述正则表达式模式?

如何在Java中的以下表达式中获取值

如何在bigquery中的字符串中获取正则表达式的匹配计数?

如何在PostgreSQL中的字符串中获取正则表达式匹配的位置?

如何为lambda表达式获取特定类,例如方法参数中类型的子类

如何使用正则表达式从字符串中获取不同类型的值?

如何编写用于从变量注释中获取变量类型的正则表达式?

给定任意表达式或字符串,请确定运行表达式所需的变量

如何自动括号任意的haskell表达式?