jjzjj

xml - Haskell 的哪个 XML 解析器?

我正在尝试编写一些应用程序,对存储在相当大的XML文件(从10到800MB)中的数据进行分析。每组数据都存储为单个标签,具体数据指定为属性。我目前是来自HaXml的saxParse,我对使用它期间的内存使用情况不满意。在解析15Mb的XML文件时,它消耗了超过1Gb的内存,尽管我试图不将数据存储在列表中,并立即处理它。我使用以下代码:importOneFilefileprocioproc=doxmlputStrLn$"Error:"++str;Nothing->forM_sxs(ioproc.proc.(extractAttrs"row"))其中'proc'-执行数据从属性到记录的转换

xml - 在 Haskell 中解析 XML

我正在尝试从定期提供带有股票市场报价(sampledata)的XML文件的网页中获取数据。XML的结构非常简单,大概是这样的:(不止于此,但这足以作为示例)。我想把它解析成一个数据结构:dataQuote=Quote{symbol::String,date::Data.Time.Calendar.Day,time::Data.Time.LocalTime.TimeOfDay,price::Float}我或多或少地了解Parsec是如何工作的(在RealWorldHaskell书的水平上),并且我尝试了一点Text.XML库,但我所能开发的只是一个有效的代码但是对于这样一个简单的任务来说

xml - Haskell RSS、邮件和 XML 库选择

我学习Haskell已经有一段时间了,对于我学习的每一种新编程语言,我都会做一个需要使用邮件服务器并发布RSS和Atom内容的小项目。唯一的问题是,我似乎找不到适合这些的软件包,或者至少找不到任何关于软件包的评论。所以我会问社区:与邮件服务器交互的任何首选软件包?(IMAP、POP3等)是否有用于发布RSS和/或Atom提要的首选软件包?如果做不到这一点,是否有任何首选的通用XML包?对于将所有这些绑定(bind)在一起的简约、低摩擦网络服务器有什么建议吗?提前致谢。 最佳答案 为了回答这个问题,feed软件包非常适合制作rss。对

xml - 使用 Haskell,我如何处理大量的 XML?

我一直在探索StackOverflowdatadumps从而利用友好的XML和使用正则表达式“解析”。我尝试使用各种HaskellXML库来查找特定用户的文档顺序中的第一篇文章,但都遇到了麻烦。TagSoupimportControl.MonadimportText.HTML.TagSoupuserid="83805"main=doposts"))postshxtimportText.XML.HXT.ArrowimportText.XML.HXT.XPathuserid="83805"main=dorunX$readDoc"posts.xml">>>posts>>>arrheadwhe

xml - 使用哪个 Haskell XML 库?

我看到Haskell中有一些XML处理库。HaXml似乎是最受欢迎的(根据dons)HXT似乎是最先进的(但由于箭头,也是最难学习的)xml这似乎只是基本的解析器HXML似乎被遗弃了tagsoup和tagchuplibXML和libXMLSAX绑定(bind)所以,如果我想要的话,选择哪个库相当强大(从XML中提取数据并修改XML)可能会在未来长期得到支持成为“社区选择”(默认选择)虽然上面的大部分似乎足以满足我当前的需求,但选择其中一个而不是其他的原因是什么?UPD20091222:关于许可证的一些注意事项:BSD或MIT:hexpat,hxt,libxml,tagsoup,xmlL

windows - cygwin 下 Windows 上 getArgs 的不正确行为

我试图将引号中的星号作为命令行参数传递到我的控制台应用程序中,当我使用System.Environment.getArgs获取它时,我实际上得到了文件列表当前目录。这是错误的,因为我将星号括在引号中,所以不应替换引号中的文本。如何在cygwin下的Windows中获取没有此类替换的命令行参数? 最佳答案 如果用单引号括起来,'*'它不会展开,但是两个引号会进入getArgs的结果(见下文),因此您稍后需要删除它们。"*"在Windows中扩展的原因是由于空格,引号作为可全局文件名的一部分是合法的。您可能希望在某个时候del"temp

windows - 如何将长参数粘贴到 Windows 中的调试器中?

我试图在文本编辑器中编写函数的参数并将它们粘贴到控制台中,但控制台不允许我这样做。(我的论点列表很长,格式开始变得疯狂。)我正在使用在cmd.exe窗口中运行的ghci。我能做什么? 最佳答案 正如评论中所指出的,在Windows控制台中,您可以右键单击标题栏并执行Edit>Paste。如果您只想在窗口中右击立即粘贴,您可以打开QuickEdit模式:右键单击窗口的标题栏,然后选择Properties。选择选项标签在编辑选项中,勾选快速编辑模式点击确定,当它询问您时,选择为以后具有相同标题的窗口保存属性。这意味着它会在您每次运行gh

windows - 无法加载 OpenGL 进程,只能从 Haskell 加载

我在将一些C++代码转换为Windows上的Haskell后遇到了问题。C++中的代码工作正常,但在Haskell中,任何OpenGL函数都无法加载,即usererror(unknownOpenGLextensionentryglGenVertexArrays,checkforOpenGL3.1)而该函数在C++中运行良好(我使用的是glLoadGen)。我已将两者都加载到depends.exe中,但没有发现它们与OpenGL32.dll的使用有任何区别。我正在使用OpenGLRaw-1.3.0.0。 最佳答案 这是由于在调用Gra

windows - 在 Windows 的 Haskell Platform 7.10.2a 上安装 GTK3

有没有人在Windows上成功安装gtk2hs?我在Windows10上使用HaskellPlatform7.10.2a,均为64位,并尝试运行“cabalinstallgtk3”,但失败了在带有错误消息的gio包上:gcc.exe:错误:无法识别的选项“-pthread”(编辑额外注释:下面错误信息的下一行)编译dist\build\System\GIO\File\FileAttribute_hsc_make.c失败(退出代码1)看来HaskellPlatform包中mingw子文件夹中的gcc有点过时了。有什么办法可以更新这个子文件夹吗?我在Internet上找到的唯一线索是下面的

linux - 反终端 : unexpected behavior on Windows

我正在试验ansi-terminal在Haskell中,与Linux相比,Windows上的行为似乎有问题。在Linux上,我得到一个蓝色的“@”,我可以用wasd键移动它(如预期的那样),并且可以通过按任何其他键退出。在Windows上,我只是得到一个不动的白色“@”,根本无法移动角色。如何在Windows中复制Linux行为?一些注意事项:在Windows下,我的意思是我在wine下编译和运行cabal1.18.0.3ghc7.6.3通过“winecabalinstall”安装了ansi-terminal如果可能,我宁愿不必使用ncurses(hscurses)更新:最小的失败代码