草庐IT

haskell-gi

全部标签

python - python中Haskell scanl的等价物

我想知道python中是否有等效Haskellscanl的内置函数,因为reduce相当于foldl.这样做的东西:Prelude>scanl(+)0[1..10][0,1,3,6,10,15,21,28,36,45,55]问题不在于如何实现,我已经有2个实现,如下所示(但是,如果您有更优雅的实现,请随时在此处展示)。第一次实现:#Inefficient,usesreducemultipletimesdefscanl(f,base,l):ls=[l[0:i]foriinrange(1,len(l)+1)]return[base]+[reduce(f,x,base)forxinls]pr

python - Haskell 的惰性是 Python 生成器的优雅替代品吗?

在编程练习中,首先要求对阶乘函数进行编程,然后计算总和:1!+2!+3!+...n!在O(n)乘法中(所以我们不能直接使用阶乘)。我不是在寻找这个特定(微不足道的)问题的解决方案,而是在尝试探索Haskell的能力,而这个问题是我想玩的玩具。我认为Python的生成器可以很好地解决这个问题。例如:fromitertoolsimportislicedefifact():i,f=1,1yield1whileTrue:f*=ii+=1yieldfdefsum_fact(n):returnsum(islice(ifact(),5))然后我试图弄清楚Haskell中是否存在与此生成器类似的行为,

python - Haskell 的惰性是 Python 生成器的优雅替代品吗?

在编程练习中,首先要求对阶乘函数进行编程,然后计算总和:1!+2!+3!+...n!在O(n)乘法中(所以我们不能直接使用阶乘)。我不是在寻找这个特定(微不足道的)问题的解决方案,而是在尝试探索Haskell的能力,而这个问题是我想玩的玩具。我认为Python的生成器可以很好地解决这个问题。例如:fromitertoolsimportislicedefifact():i,f=1,1yield1whileTrue:f*=ii+=1yieldfdefsum_fact(n):returnsum(islice(ifact(),5))然后我试图弄清楚Haskell中是否存在与此生成器类似的行为,

python - python 是否有 gi.repository 文档?

我正在寻找gi.repository模块文档,但我在互联网上找不到任何东西。我找到的只是C的新Gtk3库或旧的PyGtk2.0ReferenceManual的文档。我正在寻找类似PyGtk2.0ReferenceManual的内容但对于Gtk3。Python有类似的东西吗?(我不是在Python控制台中寻找dir(Gtk)或help(Gtk)。) 最佳答案 是的,我找到了一个站点,其中包含可能由pythongi.repository模块或PythonGObjectIntrospection模块支持的所有GNOME项目的所有pytho

python - python 是否有 gi.repository 文档?

我正在寻找gi.repository模块文档,但我在互联网上找不到任何东西。我找到的只是C的新Gtk3库或旧的PyGtk2.0ReferenceManual的文档。我正在寻找类似PyGtk2.0ReferenceManual的内容但对于Gtk3。Python有类似的东西吗?(我不是在Python控制台中寻找dir(Gtk)或help(Gtk)。) 最佳答案 是的,我找到了一个站点,其中包含可能由pythongi.repository模块或PythonGObjectIntrospection模块支持的所有GNOME项目的所有pytho

Python 比已编译的 Haskell 更快?

我有一个用Python和Haskell编写的简单脚本。它读取包含1,000,000个换行符分隔的整数的文件,将该文件解析为整数列表,对其进行快速排序,然后将其写入已排序的不同文件。该文件与未排序的文件具有相同的格式。很简单。这是Haskell:quicksort::Orda=>[a]->[a]quicksort[]=[]quicksort(p:xs)=(quicksortlesser)++[p]++(quicksortgreater)wherelesser=filter(=p)xsmain=dofilereadx::Int)unletdone=quicksortfwriteFile"s

Python 比已编译的 Haskell 更快?

我有一个用Python和Haskell编写的简单脚本。它读取包含1,000,000个换行符分隔的整数的文件,将该文件解析为整数列表,对其进行快速排序,然后将其写入已排序的不同文件。该文件与未排序的文件具有相同的格式。很简单。这是Haskell:quicksort::Orda=>[a]->[a]quicksort[]=[]quicksort(p:xs)=(quicksortlesser)++[p]++(quicksortgreater)wherelesser=filter(=p)xsmain=dofilereadx::Int)unletdone=quicksortfwriteFile"s

java - 从 Java 调用 Haskell,中间使用 C

这听起来像是一场噩梦,但我真的很想让它工作。我大部分时间都在使用这个例子:CallingCfromHaskell并试图让它在ubuntu上运行。我在java中运行这个:packagetest;publicclassJniTest{publicnativeintfib(intx);}使用javah创建.h文件后在c中的this:(test_JniTest.c)#include"test_JniTest.h"#include"Safe_stub.h"JNIEXPORTjintJNICALLJava_test_JniTest_fib(JNIEnv*e,jobjecto,jintf){retu

java - 从 Java 调用 Haskell,中间使用 C

这听起来像是一场噩梦,但我真的很想让它工作。我大部分时间都在使用这个例子:CallingCfromHaskell并试图让它在ubuntu上运行。我在java中运行这个:packagetest;publicclassJniTest{publicnativeintfib(intx);}使用javah创建.h文件后在c中的this:(test_JniTest.c)#include"test_JniTest.h"#include"Safe_stub.h"JNIEXPORTjintJNICALLJava_test_JniTest_fib(JNIEnv*e,jobjecto,jintf){retu

java - Java 和 Haskell 之间的通信

我用谷歌搜索并得到一些答案,Java和Haskell之间的通信可以通过GCJNI(现在站点已关闭)和LambdaVM来完成。要使用LambdaVM/GCJNI,我是否需要下载任何构建工具?我在哪里可以了解更多关于它们的信息,因为我在网上找不到太多资源?我想开发一个在Java和Haskell之间进行通信的应用程序(我将从Java获取输入并将其传递给Haskell并在那里处理并将结果返回给Java)。这就是我想要做的。请帮帮我... 最佳答案 CallingHaskellfromC看起来很简单,因此也可以使用JavaCPP从Java轻松