From reasoning to acting: A program synthesis approach to reinforcement learning | Synapse