kernel - 为没有 ZeroMQ 绑定(bind)的语言创建 IPython 语言内核

标签 kernel ipython zeromq

some有趣的descriptions编写语言内核以允许 IPython 以前不支持的语言从 IPython 执行。

在所有情况下,内核创建步骤都涉及使用目标语言的ZeroMQ。绑定(bind)(因为 ZeroMQ 是 IPython 前端到内核通信协议(protocol)的主要架构组件)。

在我的公司,几年前创建了一种专有语言,并使用字节码编译器(使用 C++ 编写的字节码运行程序)、Flash 和 JavaScript 进行维护......它今天仍然被大量使用,但它从来没有像回复。

这种语言是一种类似于 Haskell 或 SML 的函数式语言,它没有 ZeroMQ 绑定(bind),语言维护者也没有计划添加任何绑定(bind)。

有没有办法仍然编写可以与 IPython 通信的内核?

最佳答案

如果您的语言具有 Python 绑定(bind),或者您可以使用 Pexpect 之类的东西从 Python 驱动 REPL,您可以创建一个包装内核,重用 IPython 通信机制。

这记录在这里:http://ipython.org/ipython-doc/dev/development/wrapperkernels.html

关于kernel - 为没有 ZeroMQ 绑定(bind)的语言创建 IPython 语言内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28517289/

相关文章:

linux - QEMU:/bin/sh: 无法访问 tty;作业控制关闭

linux - 获取正在换出的页面的 pid

c - UART 16550 和 Linux 内核中的中断

websocket - ZeroMQ 和 WebSockets 之间的差异

linux - 当软重启 Linux 内核卡在 "Uncompressing Linux... done, booting the kernel"

python - 如何将一个数据框中的列添加到另一个数据框中?

python, ipython运行交互脚本

python - Ipywidgets 在交互式而不是小部件上观察方法

c++ - ZeroMQ 在多线程应用程序中处理中断

c# - 最新的 NetMQ 多线程示例