草庐IT

zeromq4-haskell

全部标签

c# - Haskell 和 LINQ 之间有什么联系吗?

我使用LINQ在C#中编写了一些查询。一段时间后,我开始稍微使用Haskell,它是一种函数式编程语言(一种不太流行的语言),对我来说,它们似乎几乎是一回事。但我不确定这一点。拜托,如果有人比我用得更多,他们能告诉我它们在编程原理方面是否几乎相同吗?另外,LINQ可以被视为函数式编程吗?谢谢。 最佳答案 formeitseemsthatbothofthemarealmostthesamething.ButIamunsureaboutthis.Please,ifsomeonehasusedthemmorethanme,couldthe

c# - 从 C# 调用 Haskell

作为我日常工作的一部分,我刚刚花了大约一周的时间弄清楚如何从C#执行C++代码。我们花了很长时间才弄明白,但最终的解决方案相当简单。现在我很好奇...从C#调用Haskell有多难?(请注意:这是从C#调用Haskell,而不是相反。所以主要的可执行文件是C#。)如果真的很难,我不会打扰。但如果它相当简单,我可能不得不尝试一下......基本上,我们编写了一些C++代码。在Windows上它被编译成一个DLL,在Linux上它被编译成一个共享对象(*.so)。然后在C#端执行DllImport并编写一些手动内存管理代码(如果您试图传递任何重要内容)。(例如,数组、字符串等)我知道GHC

javascript - 什么是最生产级的 Haskell 到 JavaScript 编译器,编写在浏览器中运行的代码?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我不是在寻找具有10年跟踪记录的必然super稳健的解决方案,而是在寻找可以在实际应用程序中使用的东西,而不仅仅是能够运行HelloWorld示例。我更喜欢在服务器上运行编译器,这样我就可以提前编译Haskell代码。当然,解决方案需要的不仅仅是编译器,还需要使Haskell代码能够访问浏览器上可用的API(DOM、XHR……)。脚注:到目前为止,我看到的项目似乎没有

go - ZeroMQ 在断开连接的对等点上进行循环故障转移

我正在使用ZeroMQ的多重连接功能,将一个DEALER连接到2个ROUTERS:+---->.Connect()-->ROUTER1/DEALER---+------>.Connect()-->ROUTER2在我的测试中,我通过DEALER发送了10条消息。我将5条消息均匀分布到每个ROUTER-s。我的问题是,如果ROUTER1由于某种原因消失了,DEALER仍会继续为它排队消息,我认为假设ROUTER1最终会回来。我最终在ROUTER2上只有5条消息。我需要做的是让DEALER忽略断开连接或失败的对等点。这可能吗?我试过设置ZMQ_SNDHWM和许多其他设置,但似乎没有任何效果。

go - ZeroMQ中的PUB/SUB模式不起作用

我正在尝试使用ZeroMQ实现非常基本的PUB/SUB模式。我希望有一台服务器(始终处于Activity状态)向所有客户端广播消息(发布者),并且不关心已连接的客户端。如果客户端以订户身份连接到此服务器,则它应收到该消息。但是,我无法使用PUB/SUB发送消息。在Python中将是:#publisher(server.py)importzmqctx=zmq.Context()publisher=ctx.socket(zmq.PUB)publisher.bind('tcp://127.0.0.1:9091')whileTrue:publisher.send_string("test")和

go - 使用 ZeroMQ 在 Go 中处理中断的惯用方式

我目前正在学习Go和ZeroMQ,本着这种精神,我正在尝试为Zguide贡献Go示例。.我在interruptexample上有点挣扎.我不确定处理问题的惯用方式是什么。我目前的解决方案如下:我创建一个接收SIGINT信号的channel。当它发生时,我在另一个channel上写了一个bool值,用于在主循环中中断。问题是,Recv是阻塞的,循环永远不会检查循环条件。我通过将NOBLOCK常量传递给Recv来规避这个问题。但我觉得有更好的方法,因为Recv应该在被中断时返回一个EINTR(据我所知它并没有)。你们读者比我更有能力回答这个问题,你们怎么看?为方便起见,我目前拥有的代码:p

asynchronous - 戈朗 ZeroMQ : REQ/REP senseless non-blocking

在Python上,ZeroMQ.recv()/.send()操作是阻塞的,这对于REQ/REP.在Golang中,我必须将zmq.DONTWAIT传递给.recv()并且.send()操作以使其工作。但问题是,流程需要锁步,所以:server.recv()client.send()client.recv()server.send()在3到4之间,奇怪的事情开始了,因为它们是异步的。当客户端发送了一条消息,而服务器还没有收到消息,但客户端试图接收响应时,锁步就不再是锁步了。是否有某种zmq.DOBLOCK与zmq.DONTWAIT不同?还是我弄错了什么?编辑:我在C中为zeromq使用这

tcp - 不同 Goroutine 中的 ZeroMQ 上下文如何通信?

我正在使用thisasboilerplate,除了在同一个程序中我还有一些goroutines作为工作人员并连接到后端端点tcp://127.0.0.1:5560。我想做的是让它通过更有效的方式连接,例如ipc://、inproc://,甚至是unix套接字。我试过那些,但没有用。Channels是ZeroMQ的禁忌,对吗?那么如何在没有tcp的情况下将不同的goroutines连接到ZeroMQ上下文?有更好的选择吗?更新:代码://Simplemessagequeuingbroker//Sameasrequest-replybrokerbutusingQUEUEdevice////

linux - GHCi - Haskell 编译器错误 -/home/user/.ghci 归其他人所有,忽略

在尝试将~/.ghci文件更改为我的配置时,当我打开GHCi时出现此错误。GHCi,version7.6.3:http://www.haskell.org/ghc/:?forhelpLoadingpackageghc-prim...linking...done.Loadingpackageinteger-gmp...linking...done.Loadingpackagebase...linking...done.***WARNING:/home/useriswritablebysomeoneelse,IGNORING!WARNING:/home/user/.ghciisownedb

linux - 如何在linux下更改haskell进程的名称

我正在尝试更改linux下正在运行的进程的名称。在C语言中,我只是就地修改argv[0],但我如何从haskell中做到这一点?我注意到ghc有一个名为getProgArgv的原语:foreignimportccallunsafe"getProgArgv"getProgArgv::PtrCInt->Ptr(PtrCString)->IO()但我试过了,但没有用。此外,我知道prctl(PR_SET_NAME,"...")但这只会更改当前线程的名称,以及大多数工具(例如ps和htop)不要使用那个名字。 最佳答案 好吧,所以我想出了一