jorendorff / cell-gc

A very small GC in Rust, with a safe API
MIT License
61 stars 4 forks source link

lisp: (try) is causing an error when you exit by typing EOF #32

Closed jorendorff closed 7 years ago

jorendorff commented 7 years ago

The call (exit (if #f #f)) near the end of repl.scm is a correct call, and Scheme dutifully calls all the dynamic-wind exit thunks, but then control returns to the Rust function try and from there to try's continuation instead of exiting the program entirely.

Nesting the interpreter is the first bug. try is a bad primitive.