I'm having trouble understanding this example of matrix multiplication in Scheme from Rosetta Code:
(define multiplyMatrices
(lambda (matrix1 matrix2)
(map (lambda (row)
(apply map (lambda column
(apply + (map * row column)))
matrix2))
matrix1)))
where matrix1 and matrix2 are each a list of lists. My question is this: Why is column on the fourth line not wrapped in parentheses?
As I understand it, a lambda expression is of the form (lambda (<id1 id2 ...>) <exp>). From testing the code I know that it works and I know that wrapping column in parentheses does break the program, but I don't understand how the line is even syntactical and every explanation for lambda expressions I find online always describes them as I did above.