It's surprisingly fiddly to parse unfinished multiline expressions in a REPL. In Garden, my toy language, the parser distinguishes 'incomplete' from other others, so I can keep appending text and re-parsing until something useful comes out.