至少有一种单字母语言(当然q)具有进程间通信的功能,这是一种在多台计算机上并行执行长时间运行的进程的方法。这些会话可以位于同一台计算机上,也可以位于不同大陆的服务器上。
使用 q,我只需启动一个服务器来侦听特定端口(例如 )q -p 8510,然后从另一个 q 会话或其他软件访问它。令人印象深刻的简单。
我记得,在很遥远的过去,我使用大型机 APL 系统,Shared Variables可以与其他用户共享变量。这可能是IBM APL.SV。当时我并没有想太多,但几十年后的今天,这Shared Variables听起来像是并行会议的基础。与另一台计算机共享变量。
我今天如何能够或将使用 Dyalog APL 或任何其他 APL 来做到这一点,我可以
在另一台物理计算机上调用 APL 会话
向其发送命令或表达式
收到结果
可能会在许多其他计算机上并行执行此操作
事实上,Microsoft Windows 下的 Dyalog APL 中仍然通过 DDE 协议支持“老式”共享变量,但它们已被视为已弃用。
Dyalog APL 的最新版本支持通过isolates并行或异步执行,isolates 是作为活动工作区的扩展出现的单独进程。在isolate 中执行的任何表达式都会立即返回future。Future 可以作为参数传递给函数,并且可以通过结构原语进行操作而不会阻塞;如果它们被传递给需要知道值的原始函数,它们将自动阻塞,直到结果计算完成。
futures 和isolates 的文档是在线的,并且有许多在线视频 - 例如,这里有在Dyalog'14上介绍它们的演讲:

YouTube 上使用 Dyalog 14.0 进行并行编程
在 17.0 版本中,我们将包括对 APLSSH 类的支持,这将使在远程计算机上启动隔离变得简单。
最后,如果您想在已经运行的 APL 进程之间进行通信,TCP 库“Conga”(也包含在标准 Dyalog 安装中)允许您使用 TCP/IP 在进程之间传递 APL 数组,即使进程是运行在不同的机器架构上。Conga 的文档也在线。