Haskell标签中的通常问题是为什么haskell与X相比如此慢。大多数情况下,您可以将其与String而不是Text或的用法联系起来字节串。评估不严格或缺少类型签名。但是我有一个简单的斐波那契计算器,它的性能比C++高出大约2倍。这可能是因为缺乏C++知识——但我从一个friend那里得到了代码,他过去常常在这种语言。★g++-O3fib2.cc-occ-fib-lgmpxx-lgmp★time./cc-fib>/dev/null./cc-fib>/dev/null8,23suser0,00ssystem100%cpu8,234total★ghc-O3--make-ohs-fibf
由于C++元编程是函数式的:是否有任何方法可以与任何函数式编程语言(例如Haskell的)的let或where构造相媲美?我正在使用Boost::MPL,但希望为更长的元函数提供更多结构。拆分成几个函数很好,但在某些情况下我更喜欢let/where。 最佳答案 MPL本身不支持let子句,但一些构建在它之上的库支持。一个例子是metamonad.顾名思义,它还支持其他一些更高级别的功能概念(monad)。一个很大的缺点是,metamonad不是Boost发行版的官方部分。就MPL的变通方案而言,将事物拆分为函数并使用更多命名空间对它
我是一名C++/Java程序员,我在日常编程中碰巧使用的主要范例是OOP。在某些线程中,我读到一条评论,类型类在本质上比OOP更直观。有人可以用简单的语言解释类型类的概念,以便像我这样的OOP人能够理解吗? 最佳答案 首先,我总是非常怀疑这种或那种程序结构更直观的说法。编程是反直觉的,而且总是如此,因为人们自然地根据具体情况而不是一般规则来思考。改变这一点需要培训和实践,也称为“学习编程”。继续讨论问题的核心,OO类和Haskell类型类之间的主要区别在于,在OO中,类(甚至是接口(interface)类)既是类型又是新类型(后代)
我想问你是什么导致了这种差异。如果我编译以下程序并运行相同的二进制文件——在某些平台上,由C++代码生成的二进制文件比Haskell代码生成的二进制文件快得多,而在其他平台上,情况正好相反。此外,根据构建平台的不同,最终二进制文件的性能也有很大差异。(每个平台使用相同的标志和相同版本的LVM和clang)代码经过优化,应该具有相似的性能-请参阅:CanHaskelloptimizefunctioncallsthesamewayClang/GCCdoes?.我想问问你,怎么可能。C++代码:#include#includeintb(constintx){returnx+5;}intc(c
我正在尝试使用ghc6.12.1(Haskell平台)在Windows7上安装HaskellSDL-0.6.2包。我最终从cabal得到以下输出:C:\Users\Martin\dev\Rasenschach_0>cabalinstallSDLResolvingdependencies...[1of1]CompilingMain(C:\Users\FAMILI~1\AppData\Local\Temp\SDL-0.6.25076\SDL-0.6.2\Setup.lhs,C:\Users\FAMILI~1\AppData\Local\Temp\SDL-0.6.25076\SDL-0.6.
我在使用Elm的Windows中遇到错误:elm-make.exe:unknownpublickeyOID:[1,2,643,2,2,19]我对Haskell平台也有同样的看法,因为它是Data.X509.PublicKey模块的错误。如何解决?我发现1.2.643.2.2.19是GOSTR34.10-2001加密算法,安装了CryptoPRO加密软件。如何将其恢复为默认值? 最佳答案 我确认它可能CryptoPro。对我来说,使用pandoc-citeproc时发生了错误。我是这样解决的,没有重装Windows:删除CryproP
我想在WinGHCi中输出非ascii字符,但这是我得到的:Prelude>"δ""\948"Prelude>putStr"\948"***Exception::hPutChar:invalidargument(characterisnotinthecodepage)我在WindowsXP上使用WinGHCi7.0.3。我必须做什么才能使WinGHCi打印出漂亮的小增量? 最佳答案 适用于OSX!Prelude>putStrLn"\948"δ听起来这是一个与haskell无关的Windows问题...
我正在从this学习haskell教程网站。如您所见,图片中的控制台有颜色,使书写更容易,更易读。有什么办法可以让ghci在windows上变得多彩。我问这个是因为IDLE在使用Python时有颜色,这使得它更容易使用。 最佳答案 WinGHCi(包含在Windows上的Haskell平台中)以有限的形式支持彩色输出:我建议使用真正的编辑器来处理比单行代码更复杂的内容。 关于windows-Windows上Haskell的彩色外壳?,我们在StackOverflow上找到一个类似的问题:
我在Windows上使用ghci+cairo时遇到问题。当我尝试加载时,例如像这样的“ghci-packagecairo”,它失败并出现以下错误:Loadingpackagerandom-1.0.0.2...linking...done.Loadingpackagehaskell98...linking...done.Loadingpackagesyb-0.1.0.2...linking...done.Loadingpackagebase-3.0.3.2...linking...done.Loadingpackagemtl-1.1.0.2...linking...done.:C:\Us
System.Info中的“os”函数的可能值是多少?标准库中的包?另外:这些值是否可靠,它们是否可以跨许多编译器移植?Windows上的Hugs会返回与Windows上的ghc相同的值吗?是否有更好的嗅探操作系统的方法? 最佳答案 GHC的变量取自“autotools”工具套件,该工具套件生成众所周知的“configure”脚本,这些脚本几乎总是在编译某些东西时使用(./configure;make;makeinstall)。configure使用标准的“编译器标识字符串”,例如用于C编译器的x86_64-unknown-linu