我正在玩Haskell 计算Levenshtein距离,并对下面的性能问题感到有点沮丧.如果你为Haskell实现最"正常"的方式,就像下面(dist)一样,一切正常:
dist :: (Ord a) => [a] -> [a] -> Int
dist s1 s2 = ldist s1 s2 (L.length s1, L.length s2)
ldist :: (Ord a) => [a] -> [a] -> (Int, Int) -> Int
ldist _ _ (0, 0) = 0
ldist _ _ (i, 0) = i
ldist _ _ (0, j) = j
ldist s1 s2 (i+1, j+1) = output
where output | (s1!!(i)) == (s2!!(j)) = ldist s1 s2 (i, j)
| otherwise …Run Code Online (Sandbox Code Playgroud) 有谁知道如何配置Qt-Creator使用cygwin make来构建项目?也许这是一个简单的cygwin破坏的Windows路径问题,但我无法让Qt-Creator找到/运行cygwin make.我的make生活/usr/bin,实际上是c:\cygwin\c\usr\bin在我的系统上.无论哪种方式,Qt似乎无法使用我能想到的所有明显的构建设置找到它.
谢谢 - -
我正在尝试使用Warp构建一个简单的反向代理服务器(主要用于我自己的启发,因为有很多其他现成的选项).
到目前为止,我的代码主要取自Warp文档(将输出写入文件只是一个临时测试,再次从文档中解除):
import Network.Wai as W
import Network.Wai.Handler.Warp
import Network.HTTP.Types
import Network.HTTP.Conduit as H
import qualified Data.Conduit as C
import Data.Conduit.Binary (sinkFile)
import Blaze.ByteString.Builder.ByteString
import Control.Monad.Trans.Resource
import Control.Monad.IO.Class
proxApp req = do
let hd = headerAccept "Some header"
{-liftIO $ logReq req-}
pRequest <- parseUrl "http://some_website.com"
H.withManager $ \manager -> do
Response _ _ _ src <- http pRequest manager
src C.$$ sinkFile "test.html"
return $ ResponseBuilder status200 [hd] $ fromByteString "OK\n"
main = do
putStrLn "Setting up reverse proxy …Run Code Online (Sandbox Code Playgroud) 我有两台Arch(64)机器,我试图安装yesod.首先,一个简单的'cabal安装yesod'进行得非常好.第二,我在构建aesod-native依赖时遇到以下错误:
配置aeson-native-0.3.3 ...
预处理库aeson-native-0.3.3 ...
构建aeson-native-0.3.3 ...
[1 of 6]编译Data.Aeson.Functions(Data/Aeson/Functions.hs,dist/build/Data/Aeson/Functions.o)
[2 of 6]编译Data.Aeson.Types(Data/Aeson/Types.hs,dist/build/Data/Aeson/Types.o)
数据/ Aeson/Types.hs:196:22: 由于使用rnf 而
没有(NFData Object)
的rnf'<br> Possible fix: add an instance declaration for (NFData Object)<br> In the expression: rnf o<br> In an equation for实例':rnf(Object o)= rnf o
在`NFData Value'cutal的实例声明中
:错误:某些包未能安装:
aeson-native-0.3.3在构建阶段失败.例外是:
ExitFailure 1
在上面的失败之后,我做了一个新的ghc安装,并删除了ghc-pkg和.cabal目录.同样,同样的错误.aeson-native似乎没有任何问题,因为它在其他地方工作得很好,所以我的环境必须以某种方式归咎于我.在失败的机器上,我过去曾经尝试使用pacman来管理hackage库(主要用于xmonad).不确定它是否重要,但我从未确定如何/如果cabal和pacman知道彼此在做什么.
GHC是7.0.3.我在所有安装之前都进行了cabal更新.任何想法这个环境可能有什么问题?
谢谢/ O
haskell ×3
build ×1
cabal ×1
cygwin ×1
haskell-warp ×1
makefile ×1
path ×1
qt-creator ×1
recursion ×1
sequencing ×1
tail ×1
yesod ×1