[sapug] Erlang, the movie.

Chris Foote chris at inetd.com.au
Tue Oct 3 13:05:40 CEST 2006


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 <chris at inetd.com.au>
Inetd Pty Ltd T/A HostExpress
Web:   http://www.hostexpress.com.au
Blog:  http://www.hostexpress.com.au/drupal/chris
Phone: (08) 8410 4566


More information about the sapug mailing list