标签: k

APL与A对J与K对比?

数组语言环境虽然令人着迷,却令人困惑.是否有理由选择J或K或APL或A中的一个?这些选项似乎都不是开源的 - 是否有开源版本?我很想扩大我的想法,但我仍然感到困惑.

j apl k

74
推荐指数
3
解决办法
1万
查看次数

有人会推荐学习J/K/APL吗?

几个月前我遇到了J/K/APL,同时解决了一些项目的问题,并且至少可以说是好奇.对于我制作的每一个看起来优雅的20行蟒蛇解决方案,都会有十分之一的gobsmacking 20 字符 J解决方案.我一直热衷于学习一些基本的J,并且已经做了一些尝试来学习词汇,但是发现学习曲线非常陡峭.

对于那些熟悉这些语言的人,你会建议花一些时间学习一门(我特别想到J)吗?为了满足我的好奇心而不是为了职业发展或某些这样的事情,我会这么做.

如果您愿意,可以考虑一些个人情况:

  • 我喜欢数学,每天都在我的工作中使用它(作为初创公司的数学家)但说实话我并不觉得我使用的工具(比如python + NumPy)感觉有限,所以我不能用这个借口.
  • 我并不特别渴望在金融行业工作,这似乎至少是K用户的主要呼叫港口.另外,我应该将C#作为下一种语言学习,因为它是我工作的主要语言.实际上,J几乎绝对不应该是我学习的下一种语言.
  • 我对MATLAB相当熟悉,因此使用基于数组的编程语言不会构成巨大的范式转换.

熟悉这些语言的人的任何建议都将非常感激.

programming-languages j apl k

44
推荐指数
10
解决办法
1万
查看次数

是否有任何用APL编写的开源项目?

我正在努力学习APL(Kona),我正在寻找示例项目,这样我就可以了解经验丰富的APL如何组织他/她的代码.

任何开源项目都会有所帮助,但非财务或任何缺乏繁重数学的东西都会很棒.

open-source apl k

15
推荐指数
1
解决办法
1563
查看次数

用C++编写K/APL样式?

我正在用C++编写代码,但我真的很喜欢K/APL的面向数组的风格.

有没有人知道一组好的运算符重载技巧/宏/ ...允许在C++中进行一些K/APL风格的编程?

谢谢!

c++ apl k

9
推荐指数
2
解决办法
1026
查看次数

将代码保存在L1缓存中

我一直在阅读维基百科关于K编程语言的文章,这就是我所看到的:

该解释器的小尺寸和该语言的紧凑语法使K应用程序完全适合处理器的1级缓存.

我很好奇.如何将整个程序放在L1缓存中?比方说,CPU有256kb的L1缓存.假设我的程序比这少,并且它需要很少的内存(比如,仅用于调用堆栈等).比如,它不需要任何库(虽然如果程序是用于操作系统,则需要包含kernel32.dll或其他).并不是OS会自动为任何程序分配一些最小内存(好吧,对于可执行代码和堆栈和堆)?

谢谢.

cpu optimization assembly caching k

8
推荐指数
1
解决办法
1700
查看次数

学习J/K/APL

我知道所有3个都是相关的,我已经看到了用J编写的Project Euler中的问题的几个答案,以及一些写的K.我想知道的是,你建议学习哪个,你会建议去哪里关于获取材料学习它?

j apl k tacit-programming

7
推荐指数
2
解决办法
1752
查看次数

APL,J,K的核心

我试图了解APL,J,K,由于以下原因,这有点令人沮丧:

  • 多数书籍都是关于APL的,但很少有APL的实现,而且我没有奇怪的键盘。

  • K似乎已被Q取代

  • J似乎没有

我几乎感觉就像盯着Common Lisp,Guile,Gambit,Chicken,SBCL一样-我真正想要的是看方案评估员的两页内容。

因此,我的问题是:是否有简短的文档(例如,约50页)讨论了APL / J / K的核心,例如:

  • 其评价模型

  • 它的解析模型(因为左/右优先级似乎很重要)

  • 它的语法

谢谢!

j apl k

5
推荐指数
1
解决办法
1153
查看次数

迭代器协议的 K 模式

我在Project Euler 问题的上下文中使用John Earnest 的 K 实现。

许多问题涉及从无限级数(特别是素数)中获取前 n 项或所有项 <= n。它还可能涉及一次从预先存在的列表中取出项目,直到满足条件为止。

在 Python 中,一种方法是依赖迭代器协议:您可以从迭代器中取出直到它完成,或者在满足某些条件时提前中断(假设您已经取出了 n 项,或者您取出的最后一项满足了某个条件)健康)状况)。

K(或其他 APL)中用于实现类似目标的典型模式是什么 - 即,从列表或生成器中获取直到满足条件,而不评估或处理整个列表?我是否必须依赖以下技术,也许使用某种内部状态f?是否不鼓励这种方法,如果是这样,为什么?

  f/x      / fixed point
n f/x      / apply f n times
p f/x      / do or while loop, with p a predicate function (stops when 0)
Run Code Online (Sandbox Code Playgroud)

编辑 2018-10-14:此处有关 APL 中延迟迭代的一些有趣说明。

apl k

5
推荐指数
1
解决办法
167
查看次数

KDB +/Q:关于内部函数中未使用的参数

我有这个功能 f

f:{{z+x*y}[x]/[y]}
Run Code Online (Sandbox Code Playgroud)

我可以在f没有第三个参数的情况下调用,但是我得到了,但是如果{z+x*y}没有第三个参数,内部能够完成吗?

k kdb

4
推荐指数
1
解决办法
193
查看次数

KDB反向asof join(aj),即在下一个引用而不是上一个

aj[`time`sym;trade;quote] 正在使用先前的报价值加入每笔交易。

我想做同样的联接,但是引用的下一个值而不是上一个。

我该如何实现?

join k kdb

4
推荐指数
1
解决办法
564
查看次数