草庐IT

haskell-tagsoup

全部标签

python - 从 Python 调用 Haskell 函数

我想使用Python中的一些Haskell库(例如Darcs、Pandoc),但Python中似乎没有直接的外部函数接口(interface)到Haskell。有什么办法吗? 最佳答案 如果你可以让你的Python代码调用C,你就可以调用已经通过FFI导出的Haskell函数。另一种方法是编写标准IPC接口(interface),在darcs和pandoc的情况下,只是将它们称为普通可执行文件并解析它们的输出可能是可行的方法。关于在Haskell端自动生成无聊、重复、FFI和编码代码,我建议c2hs,它允许您基于现有的C接口(int

java - TagSoup vs. Jsoup vs. HTML Parser vs. HotSax vs

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。可供选择(并坚持使用)的大量HTML解析器令人难以置信:http://java-source.net/open-source/html-parsers如何选择最符合以下要求的:成熟(bug比其他人少)生活和呼吸(即维护)快速且节省资源(旨在在Android上运行)根据您的经验,您会推荐哪种HTML解析器(以满足上述要求)以及为什么?

java - Haskell 与 JVM 性能对比

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前。我想为一个网站编写一个后端系统(它将是一个自定义的搜索式服务)。它需要高度并发和快速。考虑到我对并发的期望,我计划使用Haskell或Scala等函数式语言。不过,速度也是重中之重。http://benchmarksgame.alioth.debian.org结果似乎表明Java几乎与C/C++一样快,Scala通常相当不错,但对于大多数任务,Has

c++ - Haskell 风格 "Maybe"类型和 C++11 中的 *chaining*

在我的工作项目中,我反复发现自己需要Haskell风格的Maybe(尤其是Maybe链接)。例如。来自客户的提款请求,我们得到客户ID...在缓存中查找客户...如果找到客户...查找她的储蓄账户...如果有账户...提款...随时在这个链中,如果查找失败,什么都不做,返回一个失败。我的链很大...有时长达6...所以这是我在C++0x中对Haskell.Data.Maybe的滑动...(注意...这个如果我停止使用可变参数模板,应该在C++中工作)。我已经为带一个参数的自由函数或不带参数的成员函数制定了链接,我对接口(interface)很满意。但是,对于采用多个参数的函数.....

c++ - c++ 概念与 Haskell 类型类有何不同?

ConceptsTS中的C++概念最近已合并到GCC主干中。概念允许人们通过要求类型满足概念条件(例如“可比较”)来约束通用代码。Haskell有类型类。我对Haskell不是很熟悉。概念和类型类有什么关系? 最佳答案 概念(由概念TS定义)和类型类仅在它们限制可用于泛型函数的类型集的意义上相关。除此之外,我只能想到这两个功能的不同之处。我应该注意我不是Haskell专家。离得很远。但是,我是ConceptsTS方面的专家(我编写了它,并为GCC实现了它)。概念(和约束)是确定类型是否是集合成员的谓词。您不需要显式声明一个类型是否是

c++ - Haskell Thrift 库在性能测试中比 C++ 慢 300 倍

我正在构建一个包含两个组件的应用程序-用Haskell编写的服务器和用Qt(C++)编写的客户端。我正在使用Thrift与他们交流,我想知道它为什么工作这么慢。我做了一个性能测试,这是我机器上的结果结果C++serverandC++client:Sending100pings-13.37msTransfering1000000sizevector-433.58msRecieved:3906.25kBTransfering100000itemsfromserver-1090.19msTransfering100000itemstoserver-631.98msHaskellservera

haskell - 垃圾收集器如何找出堆栈中的对象引用?

在Haskell或Go等具有自动垃圾收集功能的语言中,垃圾收集器如何找出堆栈中存储的哪些值是指向内存的指针,哪些只是数字?如果垃圾收集器只是扫描堆栈并假定所有地址都是对对象的引用,那么很多对象可能会被错误地标记为可达。显然,可以在每个堆栈帧的顶部添加一个值,以描述有多少下一个值是指针,但这不会花费很多性能吗?现实中是怎么做到的? 最佳答案 一些收集器假设堆栈上的所有内容都是潜在指针(如BoehmGC)。事实证明,这并不像人们想象的那么糟糕,但显然不是最理想的。在托管语言中更常见的是,一些额外的标记信息留在堆栈中,以帮助收集器找出指针

haskell - 如何使用 Haskell 模拟 Go 的 channel ?

我最近开始阅读Go编程语言,发现channel变量是一个非常吸引人的概念。是否可以在Haskell中模拟相同的概念?也许有一个数据类型Channela和一个monad结构来启用可变状态和像关键字go一样工作的函数。我不太擅长并发编程,像Haskell中这样的简单channel传递机制真的会让我的生活更轻松。编辑人们要求我澄清我有兴趣将哪种Go模式转换为Haskell。所以Go有一流的channel变量,可以通过函数传递和返回。我可以读取和写入这些channel,因此可以在可以同时运行的例程之间轻松通信。Go还有一个go关键字,根据语言规范,它作为一个独立的线程同时启动一个函数的执行,并

programming-languages - Haskell 的类型类和 Go 的接口(interface)

Haskell的TypeClasses和Go的Interfaces有什么异同?两种方法的相对优缺点是什么? 最佳答案 看起来像onlyinsuperficialways是Go接口(interface),类似于Haskell中的单参数类型类(构造函数类)。方法与接口(interface)类型相关联对象(特定类型)可能具有该接口(interface)的实现我不清楚Go是否以任何方式通过接口(interface)支持有界多态性,这是类型类的主要目的。也就是说,在Haskell中,接口(interface)方法可以用在不同的类型上,clas

json - JSON 的哪个 Haskell 包

HackageforHaskell上有大约十几个JSON包。我怎么知道我应该使用哪个包?如何获得大众意见?是否有关于哪个包使用最多、下载最多等的统计数据? 最佳答案 我认为其他答案已经过时,今天它被广泛接受,我认为最好的JSON库和Haskell中的事实标准是Aeson:http://hackage.haskell.org/package/aeson维护者是BrianO'Sullivan,他以对Haskell的深入了解和以性能为导向的工作而闻名;毫无疑问,这是正确的选择。此外,Aeson提供了一个非常好的API,checkthise