You can engineer a waveguide if you understand the nonlinear theory they propose. There's no heat exchange involved, which is easy to get confused on because the writing in the article does not really understand "optical thermodynamics".
>if the routing is dynamically changeable
At this point probably not, it requires a finely engineered waveguide which has a well-defined "ground state"
>it works in reverse, eg light coming in can be routed to one of several output ports
In theory it works in reverse, as everything in this system is time-reversible (i.e., the "optical thermodynamics" is just an analogy and not real thermodynamics, which would break time reversibility). This is demonstrated via a simulation in the SI, but experimentally they did not achieve this (it may be difficult, I am not an experimentalist so cannot comment).
> Functions map members of a set A to members of a set B.
> Something that has side effects all over the place should just not be called a function
Leibniz defines functions as a quantity that depends on some geometry like a curve. Bernoulli later defined it as a quantity that results from a variable. The latin word "functio" means process, not implying a mapping but an arbitrary sequential performance. Mathematicians are prone to taking words from elsewhere, either twisting their meaning or inventing wholly new meaning out of thin air, all according to their whimsy for their own particular needs. I do not think a reasonable case can be made to assert we have to respect ZFC's narrow conception of a function when we do not live in a ZFC world.
True but one benefit of those guys is that they actually define what they mean in a formal way. "Programmers" generally don't. There is in fact some benefit in having consistent names for things, or if not at least a culture in which concepts have unambiguous definitions which are mandated.