On Tue, 3 Oct 2006, John Steele Scott wrote:
On Mon, 02 Oct 2006 10:00:48 +0930, Daryl Tester wrote:
The second point is why I'm so keen to stick a REPL interpreter
into some of the applications I've been working on, and Python's
reference counting helps with this. Because functions and classes
are first class objects, you can do cunningness like taking a
reference to the function/class, load in the new version of module
and still be able to access the existing code.
Perhaps the most extreme example of the utility of this is Erann Gat's
story about using the Common Lisp REPL to debug a program on NASA's Deep
Space 1.
<http://www.flownet.com/gat/jpl-lisp.html>
Yes, very cool:
"The Remote Agent software, running on a custom port of
Harlequin Common Lisp, flew aboard Deep Space 1 (DS1), the
first mission of NASA's New Millennium program. Remote Agent
controlled DS1 for two days in May of 1999. During that time we
were able to debug and fix a race condition that had not shown
up during ground testing. (Debugging a program running on a
$100M piece of hardware that is 100 million miles away is an
interesting experience. Having a read-eval-print loop running
on the spacecraft proved invaluable in finding and fixing the
problem. The story of the Remote Agent bug is an interesting
one in and of itself.)"
It's a shame the formal analysis[1] didn't even hint at anything beyond
info that a standard core dump might provide on a static program:
"The Executiveâs low-level commands were used to gather a
maximum of information, and then the experiment was interrupted."
[1] http://ic.arc.nasa.gov/publications/pdf/2000-0176.pdf
--
Chris Foote <[EMAIL PROTECTED]>
Inetd Pty Ltd T/A HostExpress
Web: http://www.hostexpress.com.au
Blog: http://www.hostexpress.com.au/drupal/chris
Phone: (08) 8410 4566_______________________________________________
sapug mailing list
[email protected]
http://mail.python.org/mailman/listinfo/sapug