NB. Argument definitions x =: 'x' y =: 'y' NB. Ilustrating Composition Rules (Mathematical Notation) NB. f =: 3 : 0 NB. 'f(',y.,')' NB. : NB. 'f(',x.,',',y.,')' NB. ) math_pat =: 3 : 0 '''',y.,'('',y.,'')''',LF,':',LF,'''',y.,'('',x.,'','',y.,'')''' ) f =: (3 : (math_pat 'f')) :. (3 : (math_pat 'f_inv')) g =: (3 : (math_pat 'g')) :. (3 : (math_pat 'g_inv')) h =: (3 : (math_pat 'h')) :. (3 : (math_pat 'h_inv')) i =: (3 : (math_pat 'i')) :. (3 : (math_pat 'i_inv')) f g y (f g) y x f g y x (f g) y f g h y (f g h) y x f g h y x (f g h) y f g h i y (f g h i) y x f g h i y x (f g h i) y f@g y x f@g y f&g y x f&g y f&.g y (h &. (f&g)) y x f&.g y f&:g y x f&:g y (f&g) 'ab' (f&(g"0)) 'ab' (f&:(g"0)) 'ab' f^:3 y f^:_2 y f^:0 y f 'abcd' f/'abcd' f\'abcd' f/ 2 3$'abcdef' (f/"0) 2 3$'abcdef' (f/"1) 2 3$'abcdef' (f/"2) 2 3$'abcdef' 'abc' f/ 'de' 'abc' (f"0)/ 'de' 'abc' (f"1)/ 'de' NB. Ilustrating Composition Rules (J Notation) NB. f =: 3 : 0 NB. 'f ',y. NB. : NB. '(',x. ,') f ',y. NB. ) j_pat =: 3 : 0 '''',y.,' '',y.',LF,':',LF,'''('',x.,'') ',y.,' '',y.' ) f =: (3 : (j_pat 'f')) :. (3 : (j_pat 'f_inv')) g =: (3 : (j_pat 'g')) :. (3 : (j_pat 'g_inv')) h =: (3 : (j_pat 'h')) :. (3 : (j_pat 'h_inv')) i =: (3 : (j_pat 'i')) :. (3 : (j_pat 'i_inv')) f g y (f g) y x f g y x (f g) y f g h y (f g h) y x f g h y x (f g h) y f g h i y (f g h i) y x f g h i y x (f g h i) y f@g y x f@g y f&g y x f&g y f&.g y (h &. (f&g)) y x f&.g y f&:g y x f&:g y (f&g) 'ab' (f&(g"0)) 'ab' (f&:(g"0)) 'ab' f^:3 y f^:_2 y f^:0 y f 'abcd' f/'abcd' f\'abcd' f/ 2 3$'abcdef' (f/"0) 2 3$'abcdef' (f/"1) 2 3$'abcdef' (f/"2) 2 3$'abcdef' 'abc' f/ 'de' 'abc' (f"0)/ 'de' 'abc' (f"1)/ 'de'