小编Ryo*_*Ryo的帖子

在Haskell中更容易阅读科学记数法

Haskell read对浮点数有点过于严格:

$ ghci
GHCi, version 8.2.2: http://www.haskell.org/ghc/  :? for help
Prelude> read "-1E34" :: Double
-1.0e34
Prelude> read "-1.E34" :: Double
*** Exception: Prelude.read: no parse
Prelude>
Run Code Online (Sandbox Code Playgroud)

是否有接受第二种形式的读取版本?它在物理科学中很常见.例如,Fortran读取和写入此类表单.

Haskell不支持的另一个例子是"0.1"表示"0.1".这个更为常见.我只是不想转换输入ascii文件....

haskell scientific-notation

7
推荐指数
1
解决办法
135
查看次数

Makefile:防止无限模式递归

我以为这很简单

%.png: ../figs/%.png
        convert $? -resize '40%' $@
Run Code Online (Sandbox Code Playgroud)

也就是说,我想从 "../figs/" 中的相应图像生成此目录中的图像。

但是,上述导致了无限的依赖链,因为../figs/foo.png匹配%.png并因此 make 尝试检查../figs/../figs/foo.png,匹配%.png并因此 make 尝试检查。. . 最终,以“文件名太长”停止。

我肯定错过了什么。什么是干净的解决方案?

makefile gnu-make

4
推荐指数
1
解决办法
309
查看次数

查找 Haskell 模块所属的包

我是 Haskell 堆栈的新手,想知道如何找出包含特定模块的包的名称。

目前,我想使用Data.Tuple.Extra(fst3)https://hackage.haskell.org/package/extra-1.7.9/docs/Data-Tuple-Extra.html)并想知道我应该在下面写什么

    $ stack install ????
Run Code Online (Sandbox Code Playgroud)

我已经安装了该tuple软件包,但是它似乎不包含该Extra部分。

到目前为止,我发现的有关安装软件包的所有 Internet 资源都说“要使用 Blahblah.Anything.Something,您需要安装该foofoo软件包”。. . 怎么会知道呢?我搜索了 Stackage,但它只显示了 的文档,Data.Tuple.Extra我仍然找不到包的名称。

编辑:正如KABuhr在她/他的回答中指出的那样,stack install对于上述情况是错误的命令。使用stack build来代替。

haskell hackage haskell-stack

4
推荐指数
1
解决办法
72
查看次数