hrs/blueprint

REPL should be able to handle multiple lines of input

hrs opened this issue · 1 comments

hrs commented

Right now, if we try to enter a multi-line expression on the REPL, it'll throw an error and exit. Instead, we should catch those errors (where appropriate) and let the user keep typing on the next line.

We could also try to determine if an expression is balanced and use that information instead. What do other lisps do?

hrs commented

Haskell uses :{ and :} delimiters to indicate that an expression spans multiple lines. That's a cute idea, but it's only necessary because Haskell can't rely on parenthesized expressions.