Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>... 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

So...

How exactly does it work to have a repl on the spacecraft?

Doesn't the system halt while it's waiting for user input?



No. We used a multi-threaded Lisp. One thread ran the REPL, and other threads ran the RAX code.


Not the author, nor an expert, but I'm guessing it could be setup so that the 'OS' throws and interrupt when it receives a transmission signal requesting the REPL process [1]. So whatever normal processes that the device needs to run would get paused by the interrupt signal, and the REPL process would start up.

[1] https://en.wikipedia.org/wiki/Operating_system#Interrupts


You can check how SLIME [1] works to get an idea of that.

[1] https://common-lisp.net/project/slime/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: