Why Use FORALL?
Assignments to array sections
FORALL ( i = 1:4, j = 2:4 ) a(i,j) = a(i,j-1)
FORALL ( i = 1:4 ) a(i,i) = a(i,i) * scale
FORALL ( i = 1:4 )
FORALL ( j=i:4 ) a(i,j) = a(i,j) / a(i,i)
END FORALL
FORALL ( i=1:4 )
FORALL (j=ilo(i):ihi(i)) x(j) = x(j)*y(i)
END FORALL