  From logical reasoning to mental simulation, biological and artificial neural
systems possess an incredible capacity for computation. Such neural computers
offer a fundamentally novel computing paradigm by representing data
continuously and processing information in a natively parallel and distributed
manner. To harness this computation, prior work has developed extensive
training techniques to understand existing neural networks. However, the lack
of a concrete and low-level programming language for neural networks precludes
us from taking full advantage of a neural computing framework. Here, we provide
such a programming language using reservoir computing -- a simple recurrent
neural network -- and close the gap between how we conceptualize and implement
neural computers and silicon computers. By decomposing the reservoir's internal
representation and dynamics into a symbolic basis of its inputs, we define a
low-level neural machine code that we use to program the reservoir to solve
complex equations and store chaotic dynamical systems as random access memory
(dRAM). Using this representation, we provide a fully distributed neural
implementation of software virtualization and logical circuits, and even
program a playable game of pong inside of a reservoir computer. Taken together,
we define a concrete, practical, and fully generalizable implementation of
neural computation.
