是否有可能在Windows中构建Haskell的Yi编辑器?
更新:我通过安装cabal-dev修复了上一个错误,但现在我得到的下一个是:
C:\Data\yi> cabal-dev install -f-vty -fpango
...
Loading package cairo-0.12.4 ... cabal.exe: Error: some packages failed to insta
ll:
yi-0.6.6.1 failed during the building phase. The exception was:
ExitFailure 1
Run Code Online (Sandbox Code Playgroud)
所以我徘徊甚至与Windows兼容?
我的系统规格:
cabal-dev,从github repo 安装:
runhaskell -isrc admin/bootstrap
Run Code Online (Sandbox Code Playgroud)我正在尝试解析haskell中的JSON数据.经历了大量的网站,这是我能够达到的最远的.
data Address = Address { house :: Integer, street :: String, city :: String, state :: String, zip :: Integer } deriving (Show)
data Person = Person { name :: String, age :: Integer, address :: Address } deriving (Show)
getName :: Person -> String
getName (Person n _ _) = n
getAddress :: Person -> Address
getAddress (Person _ _ a) = a
getState :: Address -> String
getState (Address _ _ _ s _) = s
Run Code Online (Sandbox Code Playgroud)
我在ex.hs文件中写入并将其加载到ghci …
命令中的"配置"一词涵盖哪些操作cabal configure?
我已阅读文档,但我能找到的所有内容基本上都是"配置配置",或者也安装"配置".
谢谢.
我可以cabal install hoogle在Windows上安装hoogle ,但是,当我hoogle data从MinGW shell 运行时,我遇到以下错误:
$ hoogle data
Extracting tarball...
gzip: ..\hackage-cabal.tar.gz: No such file or directory
hoogle.exe: System command failed: gzip --decompress --force ..\hackage-cabal.ta
r.gz
Run Code Online (Sandbox Code Playgroud)
如何在Windows上轻松安装hoogle?
最初我以为我会使用apt-get使用几个命令安装Haskell,但它似乎有点复杂.
当我看到haskell org下载页面时,我下载了 haskell-platform-2013.2.0.0.tar.gz.然后下一步就是混乱.它要求GHC在安装平台之前安装,但同时如果打开GHC下载页面,它会显示一些警告,例如Stop ! ..... we recommend installing the Haskell Platform instead of GHC.
请指导我如何在Debian Wheezy上安装Haskell.我们可以.deb从这个包中构建一个安装包吗?
我在Haskell中需要一个String tokenizer,但在Prelude或其他模块中显然没有定义任何内容.Data.Text中有splitOn,但这很难用,因为你需要将String包装到Text.
令牌器不是很难做到这一点我写了一个(它不处理多个相邻的分隔符,但它适用于我需要它).我觉得这样的事情应该已经在模块中了.
这是我的版本
tokenizer :: Char -> String -> [String]
tokenizer delim str = tokHelper delim str []
tokHelper :: Char -> String -> [String] -> [String]
tokHelper d s acc
| null pos = reverse (pre:acc)
| otherwise = tokenizer d (tail pos) (pre:acc)
where (pre, pos) = span (/=d) s
Run Code Online (Sandbox Code Playgroud)
我在互联网上搜索了更多解决方案并找到了一些讨论,比如这篇博文.
最后一条评论(由Mahee于2011年6月10日发布)特别有趣.为什么不使一个版本的单词功能更通用来处理这个?我试着搜索这样的功能但没找到..
有没有更简单的方法,或者'标记'字符串不是一个非常反复出现的问题?:)
有关Haskell的优秀图形和网络库的任何建议吗?
我正在寻找类似于networkx 库为Python提供的功能.
我需要通过Cabal安装Yesod和dependancies,不幸的是我无法更新cabal.壳牌产量:
...$ sudo cabal install cabal-install
Resolving dependencies...
Configuring cabal-install-1.18.0.2...
/tmp/24453.c:1:12:
warning: control reaches end of non-void function [-Wreturn-type]
int foo() {}
^
1 warning generated.
Building cabal-install-1.18.0.2...
Preprocessing executable 'cabal' for cabal-install-1.18.0.2...
<command line>: cannot satisfy -package-id HTTP-4000.2.8-cdf033f9d7051824f52cd5101df67509
(use -v for more information)
Failed to install cabal-install-1.18.0.2
cabal: Error: some packages failed to install:
cabal-install-1.18.0.2 failed during the building phase. The exception was:
ExitFailure 1
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何解决它?对我来说没有任何意义.
我已经学习 Haskell 大约 4 个月了,我不得不说,学习曲线绝对是艰难的(也很可怕:p)。
在解决了大约 15 个简单问题后,今天我转向 HackerRank 上的第一个中等难度问题https://www.hackerrank.com/challenges/climbing-the-leaderboard/problem。
这是 10 个测试用例,我能够通过其中的 6 个,但其余的都因超时而失败,现在有趣的部分是,我已经可以看到一些具有性能提升潜力的部分,例如,我正在使用nub删除复制自 a [Int],但我仍然无法构建算法性能的心理模型,不确定 Haskell 编译器的主要原因将改变我的代码以及懒惰在这里如何发挥作用。
import Data.List (nub)
getInputs :: [String] -> [String]
getInputs (_:r:_:p:[]) = [r, p]
findRating :: Int -> Int -> [Int] -> Int
findRating step _ [] = step
findRating step point (x:xs) = if point >= x then step else findRating (step + 1) point xs
solution :: [[Int]] -> [Int]
solution [rankings, points] = map …Run Code Online (Sandbox Code Playgroud) 我在Win7上使用HaskellPlatform-2012.4.0.0.它安装为便携式.路径是通过.bat文件管理,以便ghci和ghc工作.
但是cabal会在C:\ Users \name\AppData\Roaming\cabal \中自行安装它
来绕过我的行为:
cabal update
edit config file
delete all files except config
Run Code Online (Sandbox Code Playgroud)
改变路径:
remote-repo-cache: d:\h1\cabal\packages
world-file: d:\h1\cabal\world
build-summary: d:\h1\cabal\logs\build.log
Run Code Online (Sandbox Code Playgroud)
它有效,但它远非真正便携.
Cabal配置是一个更大的问题.它似乎必须保留在C:\ Users \name\AppData\Roaming\cabal中,它根本不可移植.
第一轮cabal update说Config file path source is default config file.
问题:
1.默认配置文件在哪里?
2.远程repo-cache,world-file和其他路径可以相对吗?
3.有没有办法设置默认的cabal路径,所以它永远不会转到C:\ Users \name\AppData\Roaming\cabal