草庐IT

zeromq4-haskell

全部标签

java - 为什么 Haskell 中的阶乘计算比 Java 中的快得多

我遇到的一个编程问题涉及计算大数(最多10^5的数)的阶乘。我见过一个简单的Haskell代码,它是这样的factorial::(Eqx,Numx)=>x->xfactorial0=1factoriala=a*factorial(a-1)它隐式地处理大量数字,并且即使在代码中不涉及任何缓存的情况下也能以某种方式运行得更快。当我尝试使用Java解决问题时,我不得不使用BigInteger来保存巨大的数字并使用迭代版本的阶乘publicstaticBigIntegerfactorialIterative(intn){if(n==0||n==1)returnBigInteger.valueO

java - 为什么 Haskell 中的阶乘计算比 Java 中的快得多

我遇到的一个编程问题涉及计算大数(最多10^5的数)的阶乘。我见过一个简单的Haskell代码,它是这样的factorial::(Eqx,Numx)=>x->xfactorial0=1factoriala=a*factorial(a-1)它隐式地处理大量数字,并且即使在代码中不涉及任何缓存的情况下也能以某种方式运行得更快。当我尝试使用Java解决问题时,我不得不使用BigInteger来保存巨大的数字并使用迭代版本的阶乘publicstaticBigIntegerfactorialIterative(intn){if(n==0||n==1)returnBigInteger.valueO

java - 为什么 Haskell 可以轻松处理非常大的数字?

Hugs>94535^445137632088232137705069605388766151562110489016400528215306972642477399980184684190324482770294348798270745496600945601673504187800060414350090853288746492038060516493211268703905952667210981892423492084444823161253257071865716023417728537773383010483404104907660991248823721960844599

java - 为什么 Haskell 可以轻松处理非常大的数字?

Hugs>94535^445137632088232137705069605388766151562110489016400528215306972642477399980184684190324482770294348798270745496600945601673504187800060414350090853288746492038060516493211268703905952667210981892423492084444823161253257071865716023417728537773383010483404104907660991248823721960844599

java - 如何在 Java 中模拟 Haskell 的 "Either a b"

如何编写一个类型安全的Java方法来返回a类或b类的东西?例如:public...either(booleanb){if(b){returnnewInteger(1);}else{returnnewString("hi");}}最干净的方法是什么?(我唯一想到的是使用异常,这显然很糟糕,因为它滥用了通用语言功能的错误处理机制......publicStringeither(booleanb)throwsIntException{if(b){returnnewString("test");}else{thrownewIntException(newInteger(1));}})

java - 如何在 Java 中模拟 Haskell 的 "Either a b"

如何编写一个类型安全的Java方法来返回a类或b类的东西?例如:public...either(booleanb){if(b){returnnewInteger(1);}else{returnnewString("hi");}}最干净的方法是什么?(我唯一想到的是使用异常,这显然很糟糕,因为它滥用了通用语言功能的错误处理机制......publicStringeither(booleanb)throwsIntException{if(b){returnnewString("test");}else{thrownewIntException(newInteger(1));}})

java - Haskell 中的 undefined 和 Java 中的 null 有什么区别?

两者都是类型是所有类型(无人居住)的交集的术语。两者都可以在代码中传递而不会失败,直到尝试评估它们。我能看到的唯一区别是,在Java中,有一个漏洞允许null仅针对一个操作进行评估,即引用相等比较(==)--而在Haskellundefined中,根本无法在不引发异常的情况下进行评估。这是唯一的区别吗?编辑我真正想解决的问题是,为什么在Java中包含null是一个如此糟糕的决定,以及Haskell如何逃避它?在我看来,真正的问题是你可以用null做一些有用的事情,即你可以检查它的nullness。因为您可以这样做,所以在代码中传递空值并让它们指示“无结果”而不是“此程序中存在逻辑错误”

java - Haskell 中的 undefined 和 Java 中的 null 有什么区别?

两者都是类型是所有类型(无人居住)的交集的术语。两者都可以在代码中传递而不会失败,直到尝试评估它们。我能看到的唯一区别是,在Java中,有一个漏洞允许null仅针对一个操作进行评估,即引用相等比较(==)--而在Haskellundefined中,根本无法在不引发异常的情况下进行评估。这是唯一的区别吗?编辑我真正想解决的问题是,为什么在Java中包含null是一个如此糟糕的决定,以及Haskell如何逃避它?在我看来,真正的问题是你可以用null做一些有用的事情,即你可以检查它的nullness。因为您可以这样做,所以在代码中传递空值并让它们指示“无结果”而不是“此程序中存在逻辑错误”

xml - 如何使用 Haskell 的 xml 管道解析 GPX 文件?

我想使用xml-conduit来解析GPX文件。到目前为止,我有以下内容:{-#LANGUAGEOverloadedStrings#-}importControl.ApplicativeimportData.TextasTimportText.XMLimportText.XML.CursordataTrkpt=Trkpt{trkptLat::Text,trkptLon::Text,trkptEle::Text,trkptTime::Text}deriving(Show)trkptsFromFilepath=gpxTrkpts.fromDocumentText.XML.readFiled

java - 使用 Maven 安装 Java ZeroMQ 绑定(bind) (jzmq),缺少 native 代码库

我正在尝试从Maven存储库(http://search.maven.org/#search|ga|1|a%3A%22jzmq%22)安装jzmq,即JavaZeroMQ绑定(bind)。当作为依赖项添加到我的pom.xml[1]时,Maven会下载主jar,它会按预期提供Java库。除了主库之外,jzmq还需要一个Maven似乎没有下载的native代码库。在运行时,由于缺少native代码库,Java库会引发异常。native库在存储库中提供,jzmq的pom.xml[2]文件似乎指定应下载native库(libjzmq.so)。如果我下载该库并手动设置native库位置,一切正常