x*(y.^2)
To the Python equivalent:
np.matmul(x, map(lambda x : x^2, y))
Note also that the first will be much faster because it can fuse the matrix multiplication with the exponentiation. That’s because Julia is a single language, and the whole thing is compiled at the same time. Python can’t fix the above code because NumPy is written in C, not Python.
Julia is just Python but fast.
Yet a polyglot project is bad design, and tends to become an abomination in time. This is one reason many Go programmers rewrote libraries rather than saturate their code with cgo/C and SWIG/C++ wrappers. Similarly, people are writing scalable versions of libraries in Julia to improve transparent parallel performance for problems too big for a single machine to feasibly handle.
Things are still undergoing change, but of course the commercial nvidia binary blobs will haunt everyone for awhile. =)