我可以创建一个与2
乘以2&\*
的函数,实际上20 = (2&\*)10
我想要做的是创建一个工厂功能,使其按顺序排列。
所以,我想要一个monad f s.t. ( f y ) x == (y * x )
虽然(\*& 2) 3
工作((\*&) 2) 3
没有,所以明确尝试:
(3 : 'y&*') 2
会产生语法错误。
我哪里错了?
答案 0 :(得分:4)
创建动词的动词实际上是J中的副词 1 :
f =: 1 : 'm&*'
2 f
2&*
(2 f) 5
10
(i.10)f 5
0 5 10 15 20 25 30 35 40 45
或默许:
f =: &*
2 f
2&*
h =: 3 :'...'
无效,因为它产生动词,然后h y
想要成为名词。
g =: 4 :'x&* y'
很好,相当于f
。
[1]:或结合