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.


Got mechanics sort of running in sage. Was able to plot and (se ...) from within the browser notebook interface which was a... strange experience.

See sage-scheme-notes.txt for installation instructions...

I should either write up a patch or submit a bug/request for a --version flag for mit-scheme, it needs one!

Todo for scmutils in sage:



(previous entry)