我正在尝试学习 APL (Kona),并且正在寻找示例项目,以便了解有经验的 APL 程序员如何组织代码。
任何开源项目都会有所帮助,但是非金融或缺乏重度数学的项目将是最好的选择。
我正在尝试学习 APL (Kona),并且正在寻找示例项目,以便了解有经验的 APL 程序员如何组织代码。
任何开源项目都会有所帮助,但是非金融或缺乏重度数学的项目将是最好的选择。
我也一直在寻找,但还没有找到。APL是一种非常古老的语言;它完全先于整个开源运动。与同样古老的Lisp不同(其历史包括许多AI实验室研究和开放协作精神),APL的文化历史上与IBM、商业分时系统和金融相关联。不过,Kevin和我正在努力改变这一点,我们用Kona来实现。
no stinking loops有相当多的k代码。其中一些是为Kona所针对的不同版本的k编写的。Hakan Kjellerstrand也有一个非常好的K页面。
此外还有几本很棒的APL/J/K/Q书籍。我特别推荐Kenneth Iverson的A Programming Language,Henry Rich的J for C Programmers,Jeffry Borror的Q for Mortals(Q是Kx公司的最新版本K),以及Gilman & Rose的APL: An Interactive Approach。除了最后一本书之外,其他书籍都可以轻松在线获取。
请记住,许多人使用APL作为数学工具(如R、Mathematica、gnuplot等),而不是作为编程语言本身。(在我看来,J最适合这个。)K旨在成为更通用的程序设计语言,感觉像是APL、Lisp和C的综合体。尽管它属于这种语言家族中的异类。
如果你阅读this,你会发现Kona是“K编程语言(K3.2)的开源实现”。不幸的是,如果你访问K编程语言的创始人主页并查看产品,你会发现K似乎不受支持。
此外,从维基百科上看APL和K的文章,语法似乎相当复杂(例如x@>#:'x用于按字符串长度对字符串列表进行排序)!我建议学习汇编语言(通过nasm;最流行的汇编器之一)、C++、C,以及可能是Python,而不是APL或K(两者似乎都不受支持且未被使用)。
(~R∊R∘.×R)/R←1↓⍳R
。 - sarnold