有没有办法向GHCi询问类型是否实例化类型类?我在^^操作员附近愚弄并输入:
Prelude> :type (^^)
(^^) :: (Integral b, Fractional a) => a -> b -> a
Run Code Online (Sandbox Code Playgroud)
很有用.然后我想知道Rational是否实例化了Fractional.我在Hoogle上发现了Rational,取消了比率,最后发现:
Integral a => Fractional (Ratio a)
Run Code Online (Sandbox Code Playgroud)
有更简单的方法吗?就像是:
:listypeclasses Rational
Run Code Online (Sandbox Code Playgroud)
要么
:listinstances Fractional
Run Code Online (Sandbox Code Playgroud) 我正在使用出色的 Haskell 库Miso,它推荐使用 Nix。自述文件引导我们完成一个简单的项目,该项目可以使用nix-build. 味噌的文档提示我可以做:
nix-shell -A env
cabal configure --ghcjs
cabal build
Run Code Online (Sandbox Code Playgroud)
这也构建了项目,尽管它将结果放在了不同的地方。
nix-build和cabal buildnix-shell 内是否保证产生相同的输出?更一般地说,给定一个.nix表达式,我将如何锻炼需要哪些步骤(例如 cabal configure)来复制它的行为?