我理解J的最佳方式是模仿翻译。由于语言紧凑且规则很少,因此很容易......除了排名影响功能评估之外。
我希望能够一步一步地看到一个表达式并知道J在做什么来获得结果。
是否有文档,或者有人可以给我一个算法,以便我可以自己计算a f " n m b
的评估方式?
提前致谢。
答案 0 :(得分:4)
要了解Rank,最易访问的文本可能是chapter 6 of J for C Programmers。 Eric Iverson Primer以Atom开头并经过Checkpoint E的部分更简洁地介绍了该主题。 Chapter 7 of Learning J是Rank所涵盖的另一个地方。一切都很有价值。
对Rank的最深入的考察是Roger Hui的文章Rank and Uniformity。在你研究了关于这个主题的其他文本之后,Hui的论文将会更好地阅读。如果归结为想要实施的细节,你可以深入研究the interpreter source code。就个人而言,我不会那样做。如果我想查看实现算法,我会构建一个小模型,并根据J解释器的结果进行检查,以确保我对Rank的理解匹配。
在我看来,排名是J中最重要的概念。它非常抽象,因为它适用于名词可以采用的所有形状。相关概念对于学习很重要。这些包括形状,框架,单元格和协议。这些在Primer中单独解释,但每次深入处理主题时都会以某种方式对它们进行解释。你对Rank连词的理解越好,名词Rank和动词Rank的更广泛的世界,你会发现处理这种连词的词汇表的三个部分越有用。 (这些部分是m"n,u"n和m"v u"v。)
如果您确实编写任何可帮助您逐步检查事物的算法,其他J程序员将会喜欢看到它们,我敢肯定。除了实际的解释器源代码之外,我不知道这些行。