如何在Frege中打印表达式的类型

在交互式
shell和(在线)REPL中我可以输入

:type 1

找出表达式“1”的类型.是否有任何功能可以从代码中使用以达到相同的效果?

最佳答案 目前没有简单的方法可以做到这一点.

然而,REPL本身是用弗雷格写的,所以它当然是可能的.

“技巧”是构建一个完整的程序,如

module Foo where { x = 1 }

并通过第一个编译器传递运行它,直到并包括类型检查传递.之后,可以在符号表中查询顶级符号x及其类型.

点赞