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

时间:2014-01-31 19:28:29

标签: apl

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

4 个答案:

答案 0 :(得分:5)

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

仍有一些工作需要改进,但我很乐意收到有关人们希望添加的功能的评论。

答案 1 :(得分:3)

APL是在广泛使用文件系统和文本编辑器之前发明的。因此,它提供了自己的工具来存储和编辑代码(函数)和数据,即工作空间和组件文件。今天的大多数商业APL系统仍然提供它们,以保持现有安装的连续性和开发人员的专业知识。

但这些设施的历史可以追溯到半个世纪前,其设计目的是硬件和接口(大型机和电话类型),这些都是现代硬件,手摇电话是智能手机。

如今,大多数开发人员都认为代码最好保存在(UTF-8编码)文本文件中,使用one's text editor of choice进行编辑,并使用分布式版本控制系统进行管理。我当然赞同这种观点。

一些传统的APL供应商在这方面保持了他们的“最新”报价,并提供了处理源代码文件的工具,希望这种方式与工作空间不太相似。 Dyalog APL有一个名为SALT - Simple APL Library Toolkit的库。

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

恕我直言新的APL实施(例如GNU APL和其他)将最终拒绝工作空间的概念,并与“现代”实践保持一致。但这只是我的观点,大多数APL程序员当然不会这样做。询问他们中的任何一个,你会听到以下几点:«当你用冷酷的手指撬开它们时,你可以拥有我的工作空间和组件文件。

答案 2 :(得分:3)

Dyalog 14.0具有脚本命令行选项。在类Unix的平台上,可执行脚本文件的第一行可能是

#!/path/to/dyalog -script

答案 3 :(得分:0)

不,APL工作区从来没有一种文件类型。 APL始终并且仍然依赖于供应商 - 每个供应商都有自己的内部格式和工作区文件扩展名。一些扩展名是.DWS,.W3,.WS,仅举几例。除了APL语言功能外,各个供应商使用的专有内部格式也存在很大差异,而且非常不兼容。此外,较新的APL解释器可能无法打开超过某个年份的较旧工作空间,例如,较新的Dyalog 16.0解释程序将无法打开使用Dyalog Version 8.0保存的工作空间。 APL + 2000也是如此。

另外,我可以想到来自同一供应商的工作区的唯一系统级兼容性是大型机IBM APL2中的MCOPY命令,其中APL2可以直接读取旧的VSAPL工作区。否则,有很多很好的APL迁移软件来处理这个问题。