草庐IT

haskell-tagsoup

全部标签

multithreading - 在 Haskell 中使用共享套接字的多线程

在Haskell中,同一个套接字可以在两个线程之间共享吗?本质上,我想做的是创建一个线程来写入套接字,另一个线程从套接字读取。读取线程将是一个不断等待、监视和获取套接字生成的任何消息的循环。另一个线程(写入线程)将代码发送到套接字。请指教。 最佳答案 是的,这是允许的。 关于multithreading-在Haskell中使用共享套接字的多线程,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

sockets - Haskell tcp 服务器,fd 错误太大

我一直在尝试为Go客户端编写一个Haskell服务器。对于HaskellTCP服务器,我只是使用Network.Socket。每当我尝试运行hWaitForInput时,我都会收到此错误:fdReady:fdistoobig.这是服务器代码-connHandler::(Socket,SockAddr)->IO()connHandler(sock,_)=doputStrLn"StartingHandler"handleGo客户端正在接收并打印服务器的消息(“HelloClient!”)但是haskell服务器在打印“等待输入”后立即抛出错误 最佳答案

haskell - 使用网络管道时如何刷新网络流?

我正在尝试使用network-conduit作为(修补的)HaskellNet的后端IMAP.如何强制管道冲洗水流?这是requiredoperation,但在network-conduit中似乎没有这样的东西。 最佳答案 network-conduit应该在您每次向它发送ByteString时刷新流,特别是不包括缓冲,因为它会被blaze-之类的东西处理builder-conduit正交。您是否看到了与之相矛盾的行为? 关于haskell-使用网络管道时如何刷新网络流?,我们在Stac

macos - 异常 : connect: does not exist (Connection refused) when trying to connect to TCP socket in Haskell

上下文我正在关注tutorialonwritingaTCPserverlastweekinRealWorldHaskell.一切顺利,我的最终版本可以正常工作,并且能够在TCP客户端和服务器之间发送消息。然后,我想为我编写的一个小型TicTacToe游戏编写自己的TCP服务器。我开始编写服务器和客户端并进行了一些尝试,到目前为止它工作正常,服务器能够接受连接,但还没有真正的交互。现在有点尴尬了,因为在我关闭我的Mac并尝试重新启动它之后,它再也无法启动了。我整个星期五都在忙于从单用户模式进行备份并重新安装Mac操作系统。重新安装成功后,我所有的数据都还在,所以我根本不需要备份。无论如何

haskell - 在同一个端口上监听 TCP 和 UDP

如何让Haskell在同一个端口上监听UDP和TCP?这是我目前的代码(基于acme-http):listenOnportm=doprotoTCPdosetSocketOptionsockReuseAddr1setSocketOptionsockNoDelay1bindSocketsock(SockAddrInet(fromIntegralportm)iNADDR_ANY)listensock(max1024maxListenQueue)returnsock)protoUDPdosetSocketOptionsockReuseAddr1bindSocketsock(SockAddrIn

haskell - 在 Haskell 中,如何在 Web 客户端断开连接时中止计算

我有一个基于Haskell的网络服务,它执行的计算对于某些输入可能需要很长时间才能完成。(这里的“真长”是指超过一分钟)因为执行该计算会占用服务器上所有可用的CPU,所以当传入请求到达时,我将它们放入队列中(好吧,实际上是一个堆栈,原因与典型客户端有关,但这不是重点)在当前运行的计算完成时为它们提供服务。我的问题是客户端并不总是等待足够长的时间,有时会在他们端超时、断开连接并尝试使用不同的服务器(好吧,他们再次尝试并遇到了elb,通常会得到不同的实例).此外,有时Web客户端要求的计算会由于外部因素而变得过时,并且Web客户端将被终止。在那些情况下,我真的希望能够在我从堆栈中拉出下一个

swift - Swift 中类似 Haskell 的模式?

Swift有没有类似于Haskell的as-patterns的东西?用于模式匹配?我试图通过使用嵌套模式摆脱以下代码段中的第二个switch语句:indirectenumType:CustomStringConvertible{caseIntcaseFun(Type,Type)vardescription:String{switchself{case.Int:return"int"case.Fun(letp,letr):switchp{case.Fun(_):return"(\(p))->\(r)"case_:return"\(p)->\(r)"}}}}Type.Int//"int"T

java - Java 8's Optional, Scala' s Option 和 Haskell 的 Maybe 之间的主要区别是什么?

我已经阅读了一些关于Java8即将推出的Optional类型的帖子,并且我试图理解为什么人们一直认为它不如Scala的Option强大。据我所知,它有:使用Java8lambda的map和filter等高阶函数。MonadicflatMap通过getOrElse类型函数短路。我错过了什么? 最佳答案 我想到了一些可能性(OTOH,我还没有看到人们真的这么说,所以他们可能有其他意思):没有模式匹配。不等同于Scala的fold或Haskell的fromMaybe:你必须做optional.map(...).orElseGet(...)

python - 在 python 和 haskell 进程之间进行通信的 ipc 库是什么?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我正在考虑下一个项目的总体架构。对于后端,haskell看起来非常适合,但对于前端则不然,Python会更好并且可能更容易编码。繁重的计算将在haskell中完成,结果显示在用python构建的gui中。因此,我需要选择正确的管道和正确的格式来在这两个进程之间进行通信。从python发送到haskell进程的消息将非常简单,就像一个包含少量但不同值的文档。(json可

python - Python 和 Haskell 上的 Murmurhash 2 结果

Haskell和Python似乎不同意Murmurhash2结果。Python、Java和PHP返回相同的结果,但Haskell没有。关于Haskell上的Murmurhash2,我做错了什么吗?这是我的HaskellMurmurhash2代码:importData.Digest.Murmur32main=doprint$asWord32$hash32WithSeed1"woohoo"这是用Python编写的代码:importmurmurif__name__=="__main__":printmurmur.string_hash("woohoo",1)Python返回365085267