  In this paper, we propose a method for importing tensor index notation,
including Einstein summation notation, into functional programming. This method
involves introducing two types of parameters, i.e, scalar and tensor
parameters, and simplified tensor index rules that do not handle expressions
that are valid only for the Cartesian coordinate system, in which the index can
move up and down freely. An example of such an expression is "c = A_i B_i". As
an ordinary function, when a tensor parameter obtains a tensor as an argument,
the function treats the tensor argument as a whole. In contrast, when a scalar
parameter obtains a tensor as an argument, the function is applied to each
component of the tensor. In this paper, we show that introducing these two
types of parameters and our simplified index rules enables us to apply
arbitrary user-defined functions to tensor arguments using index notation
including Einstein summation notation without requiring an additional
description to enable each function to handle tensors.
