Journal: Jan 21, 2009
Bryan Newbold, bnewbold@mit.edu
http://web.mit.edu/bnewbold/thesis/
Aha! Found the hook needed to disable error interrupt REPLs in mit-scheme:
(set! standard-error-hook (lambda (x) (begin (warn x) (cmdl-interrupt/abort-top-level))))
For example:
1 ]=> (set! standard-error-hook (lambda (x) (begin (warn x) (cmdl-interrupt/abort-top-level))))
;Value: #f
1 ]=> (car 3)
;Warning: The object 3, passed as the first argument to car, is not the correct type.
;Quit!
1 ]=>
This makes it much easier for sage to do subprocess interactions. I have a
half-working scm scheme interface and now a half-working mit-scheme interface;
files for both are in the other folder. I should have
a demo server running on SIPB's XVM service
tomorrow, maybe if I polish these interfaces I can package them up as optional
sage .spkgs. Most importantly, for now only put one S-expression in a scheme
notebook cell at a time.
Of course removing the error REPL loop of course takes away excellent
functionality from the interactive session... to me a vertically split edwin
session with a file *scheme* buffer on the top and REPL output on the bottom is
the best way to "do" scheme.
In other news I just learned the vim command I was missing: gq}
will rewrap the current paragraph to ~70 columns width; gq
will do
the same to the current selection in visual mode. FINALLY.
(previous entry)