259得票1回答
使用模板Haskell获取关联类型同义词

模板Haskell能否找出类型类中声明的关联类型同义词的名称和/或声明?我期望reify可以实现我想要的功能,但它似乎没有提供所有必要的信息。它可用于获取函数类型签名: % ghci GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? f...

32得票1回答
在npm的上下文中,“idealTree”和“reify”是什么意思? "IdealTree"和"reify"在npm中的含义是什么?

在使用命令“npx create-react-app [app_name]”创建React应用程序时,我注意到控制台会记录类似于“[#############] idealTree:[package-name]...”的信息,然后再使用“reify”代替“IdealTree”输出相同的信息。当...

18得票1回答
将Haskell记录的字段名作为字符串列表获取?

假设我有以下内容:data Rec = Rec { alpha :: Int, beta :: Double, phi :: Float } sample = Rec 1 2.3 4.5 我了解模板Haskell和reify函数可以获取记录的字段名称,也就是...

15得票1回答
使用模板哈斯克尔语言,是否可以获取任何表达式的类型?

如果给定一个表达式foo,我可以声明一个顶级函数。 bar = foo 通过反射bar,将foo的类型作为Type获取: case reify 'bar of VarI _ t _ _ -> t 有没有一种直接的方法可以获取foo的类型,而不需要创建冗余的bar定义呢?理...

10得票1回答
如何使用 `reify` 获取函数声明?

函数 reify 允许我查找给定名称的信息。对于一个函数,返回的值是 VarI:data Info = ... | VarI Name Type (Maybe Dec) Fixity | ... 我可以检查该函数的类型,也想检查它的声明。但是,在 VarI 的第三个参数中,我始终看到 No...

7得票1回答
有没有一种方法可以使用Template Haskell枚举模块中的所有函数?

虽然我可以使用reify来获取大多数其他语法结构的信息,但我找不到任何可以提供有关模块信息的内容。

7得票2回答
如何将Prolog的回溯状态实现为与Clojure中的“lazy seq”执行相同的任务?

这是一个用Clojure编写的快速排序算法,适用于数字。它基本上是在《Clojure之乐》第二版133页中找到的快速排序算法。我稍微修改了一下以使其更易读,因为原始版本感觉有点过于紧凑。 (defn qsort-inner [work] (lazy-seq ...