小编cod*_*hot的帖子

执行swi-prolog和其他列表元素的操作

如何按顺序对列表中的每个元素执行操作?

基于这两个资源:

  1. http://www.swi-prolog.org/pldoc/doc/swi/library/lists.pl
  2. http://www.swi-prolog.org/pldoc/doc_for?object=foreach/2

我想我总是可以依靠:

  • foreach(member(X, [1,2]), write(X)).

这是确定性的,我可以在我自己的谓词中包装成员/ 2谓词,并且仍然按顺序迭代吗?

prolog

12
推荐指数
1
解决办法
2万
查看次数

漂亮打印一个序言

如何在SWI-Prolog中打印一个术语列表.

我试过了:

portray_clause([term1, term2]).

但是这只是在一个长流中写出来,一个字符串甚至作为一个ascii字符代码列表出现 - 我想要打印"abc".

pretty-print prolog

5
推荐指数
0
解决办法
1248
查看次数

为什么每种haskell类型都被取消(即被_ | _占据)?

为什么每个非基本的haskell数据类型都被提升(即被占据_|_)?

我听说过一个原因是的存在和语义,seq但是我从未见过完整的解释,为什么这使它们全都被占据_|_-即为什么它们都不可能被占据_|_

除此之外,还有哪些其他原因?

haskell

3
推荐指数
1
解决办法
203
查看次数

如何使用 boost::gil 加载任何典型的 png 文件

我已经配置了我的环境,以便我可以将适当制作的 .png 文件加载到定义如下的图像中:

        boost::gil::rgb8_image_t input;
Run Code Online (Sandbox Code Playgroud)

但如何加载任何典型类型的 png 文件(例如由 GIMP 或 MS Paint 生成的文件)。我认为它需要 boost::gil::any_image 但我不知道我需要配置它的类型。

我试过了:

        typedef boost::mpl::vector<
            boost::mpl::rgba8_planar_image_t,
            boost::mpl::rgba8_image_t,
            boost::mpl::rgb8_planar_image_t,
            boost::mpl::rgb8_image_t,
            boost::mpl::gray8_image_t
        > my_img_types;
        boost::mpl::any_image<my_img_types> input;
        boost::gil::png_read_image(ipath, input);
Run Code Online (Sandbox Code Playgroud)

但这不会加载由 MS Paint 或 GIMP 创建的文件。

boost-gil

2
推荐指数
1
解决办法
2432
查看次数

为什么这个简单的Haskell程序这么慢?

在这个琐碎的程序中,可以打印从1到10000000的所有数字(一个Haskell版本和一个C版本),为什么Haskell这么慢呢?什么命令可以帮助您学习如何提高Haskell程序的性能

以下是一份报告,其中包含重现我激动人心的事件所必需的所有详细信息,制作报告时将打印出源,包括Makefile的源:

$ make -B report
cat Foo.hs
import Data.Foldable
main = traverse_ print [1..10000000]
cat Fooc.c
#include <stdio.h>

int main()
{
    for (int n = 0; n < 10000000; ++n)
    {
        printf("%d\n", n+1);
    }
}
ghc -O3 Foo.hs -o Foo
time ./Foo | tail -n1
3.45user 0.03system 0:03.49elapsed 99%CPU (0avgtext+0avgdata 4092maxresident)k
0inputs+0outputs (0major+290minor)pagefaults 0swaps
10000000
cc -O3    Fooc.c   -o Fooc
time ./Fooc | tail -n1
0.63user 0.02system 0:00.66elapsed 99%CPU (0avgtext+0avgdata 1468maxresident)k
0inputs+0outputs (0major+63minor)pagefaults 0swaps
10000000
cat Makefile …
Run Code Online (Sandbox Code Playgroud)

performance haskell

2
推荐指数
1
解决办法
219
查看次数

标签 统计

haskell ×2

prolog ×2

boost-gil ×1

performance ×1

pretty-print ×1