Write, Execute, Assess: Program Synthesis with a REPL