是否有APL程序的文件类型?

Gan*_*ite 3 apl

有没有办法打开文本编辑器,键入一些APL代码,将其保存为文件,然后在Dyalog或MicroAPLX中打开它来执行代码?或者那是什么工作空间?

Eli*_*son 5

@Tobia已经就APL提供了一个很好的答案,但我想补充一些细节,说明你可以用GNU APLEmacs做些什么.使用Emacs 的GNU APL模式(我是此模式的作者),您可以将APL代码保存在源文件(带.apl扩展名)中,并直接从文件中执行代码.还有一些基本的代码导航功能(M-.移动到定义功能的位置).

仍然有一些工作要做,以改善事情,但我很想得到关于人们希望看到添加的功能的评论.


Tob*_*bia 4

APL 的发明早于文件系统和文本编辑器的广泛使用。因此,它提供了自己的设施来存储和编辑代码(函数)和数据,即工作区和组件文件。当今大多数商业 APL 系统仍然提供它们,以实现现有安装和开发人员专业知识的连续性。

\n\n

但这些设施可以追溯到半个世纪前,是为当时的硬件和接口(大型机和电传打字机)设计的,它们对于现代硬件就像手摇电话对于智能手机一样。

\n\n

如今,大多数开发人员认为代码最好保存在(UTF-8 编码)文本文件中,使用自己选择的文本编辑器进行编辑,并使用分布式版本控制系统进行管理。我当然同意这个观点。

\n\n

一些经典的 APL 供应商在这方面保持其产品“最新”,并提供处理源代码文件的设施,希望不会与工作空间太脱节。Dyalog APL 有一个这样的库,称为SALT - Simple APL Library Toolkit

\n\n

但事实是,大多数 APL 系统没有简单的命令或函数来加载源文件,因为它根本没有在实践中使用。APL 开发人员将他们的 APL 系统视为一个 IDE,几乎是一个操作系统。他们将所有内容保留在工作区中,只使用系统提供的编辑窗口。

\n\n

恕我直言,较新的 APL 实现(例如GNU APL等)最终将拒绝工作空间的概念,并与“现代”实践保持一致。但这只是我的观点,大多数 APL 程序员肯定不认同。询问他们中的任何一个,你会听到类似这样的内容:\xe2\x89\xaa,当你从我冰冷、死气沉沉的手指上撬开它们时,你就可以拥有我的工作区和组件文件。\xe2\x89\xab

\n