[HN Gopher] Lisping at JPL (2002)
___________________________________________________________________
Lisping at JPL (2002)
Author : adityaathalye
Score : 90 points
Date : 2025-05-22 08:31 UTC (3 days ago)
(HTM) web link (flownet.com)
(TXT) w3m dump (flownet.com)
| adityaathalye wrote:
| Tells one of my all-time favourite stories.
|
| > 1994-1999 - Remote Agent
|
| > _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._
| tonyarkles wrote:
| Not quite the same scale but one of my personal favourite
| stories involved hardware buried under a highway. The Ethernet
| stopped working, but the PoE was still ok. We had the foresight
| to install a serial line to the console on the equipment too.
| This meant that I could power cycle the hardware at will
| (through the managed PoE switch) and talk to the boot loader
| (U-boot) over serial. While not exactly a REPL in the
| conventional sense, it had enough functionality to be able to
| talk directly to the MAC and PHY to determine what was going
| on.
|
| Sadly we couldn't convince it to work, even at 10 Mbit. My
| suspicion is salt water ingress into the vault. What we did
| manage to do, though... There were just enough tools installed
| on it that I could cross-compile zmodem at home, convert it to
| a hex file, upload the hex file by essentially just running cat
| > on the target, convert it back into a binary using... Perl I
| think? Or xxd? And then doing the daily data offload over
| zmodem every night instead of over TCP as was originally
| planned. It was a crazy weekend...
| anthk wrote:
| Uboot compared to Forth it's very odd to use.
| markus_zhang wrote:
| Can you please elaborate? Thanks.
| jazzyjackson wrote:
| Neat. I'm curious about long run serial as someone who's only
| done arduino stuff at 5V, what does industrial serial talking
| over a miles long connection look like? Higher voltage?
| Repeaters?
| potholereseller wrote:
| Unfortunately, the relevant link in the TFA is dead, but IA has
| it: <https://web.archive.org/web/20111019054900/http://ti.arc.n
| as...>.
|
| Here's some interesting quotes:
|
| > during a task's release of a lock, but before its actual
| release, the task may get interrupted by the daemon if the
| property gets broken. This means that the task terminates
| without releasing the lock. The error is particularly nasty in
| the sense that all code, except the lock releasing itself, had
| been protected against this situation: in case of an interrupt
| the lock releasing would be executed.
|
| > The modeling effort, i.e. obtaining a PROMELA model from the
| LISP program, took about 12 man weeks during 6 calendar weeks,
| while the verification effort took about one week. ... The
| translation phase was non-trivial and time consuming due to the
| relative expressive power of LISP when compared with PROMELA.
|
| > Java PathFinder (JPF) is a translator from a non-trivial
| subset of Java to PROMELA.
|
| > The translator is written in 6000 lines of LISP, and was
| developed over a period of 8 months. JPF has been applied to a
| number of case studies, amongst them a 1500 line game server, a
| NASA file transfer protocol for satellites, and a NASA data
| transmission protocol for the space shuttle ground control.
| anthk wrote:
| Forth would be a good choice too. No GC, use 'forget'.
| adityaathalye wrote:
| Forth, in fact, is. https://www.forth.com/resources/space-
| applications/
| ssrc wrote:
| 'Was' is more likely. The list is from 2003, and if FORTH
| Inc, the (only? biggest?) remaining forth company hasn't
| updated it...
| anthk wrote:
| Forth is used in firmware and tons of places. There's ANS
| Forth and no need to 'update' anything, as there are tons
| of implementations.
|
| As with Lisp, you can bootstrap themselves with very few
| primitives.
| lisper wrote:
| We used Forth back in the day as well, running on 6811
| microcontrollers. Forth was also used on the Galileo
| Magnetometer, and we used Lisp to develop a patch for it in
| flight.
|
| https://github.com/rongarret/gll-mag-patch/
| anthk wrote:
| Also, as a very tiny and minimal Lisp:
|
| http://t3x.org/zsp/index.html
|
| Easier than SICP for Scheme and Intro to Symbolic Computation for
| Common Lisp.
| jmclnx wrote:
| > The demise of Lisp at JPL is a tragedy. The language is
| particularly well suited for the kind of software development
| that is often done here
|
| That is a shame, but this can be said about many languages of
| time past. Do schools even teach lisp these days ?
|
| IMO, another casualty of our WEB only environment :(
| Lyngbakr wrote:
| > Do schools even teach lisp these days ?
|
| IIRC, grads that I interviewed from the University of Waterloo
| tended to have experience in Racket.
| adamgordonbell wrote:
| Version with some pictures here:
|
| https://corecursive.com/lisp-in-space-with-ron-garret/
|
| It's an interview I did with Ron Garrett about the history of
| Lisp at the JPL.
| anthk wrote:
| Very tiny Lisp, Forths and some Pascal like at http://t3x.org
|
| One of them whole numbers as lists. I saw no floats, but there
| are fractional numbers. (- '#2 '#3) =>
| '#-1
|
| If you want to know what is truly Lisp about:
|
| Easy mode:
|
| http://t3x.org/zsp/index.html
|
| You are Alonzo Church reincarnated:
|
| http://t3x.org/clc/code.html
| hatmatrix wrote:
| > At the time it was more or less taken for granted that AI work
| was done in Lisp. C++ barely existed. Perl was brand new. Java
| was years away. Spacecraft were mostly programmed in assembler,
| or, if you were really being radical, Ada.
|
| Given the choices, Lisp made a lot of sense when they started.
| After 2001-2004, there were other options - not to say they were
| necessarily better, but a mainstream language that enables a
| large number of people working together (interchangeably) has its
| value. Lisp is indeed "one-of-a-kind, highly dynamic applications
| that must be developed on extremely tight budgets and schedules"
| - but has a reputation for fostering lone geniuses and bad for
| large teams working together and maintaining legacy codebases.
|
| (I write this as a big fan of Lisp.)
| anthk wrote:
| >enginner >can't do anything with 128MB. In 2002.
|
| In my country an Engineer with a Bachelor would implement a Forth
| in KB's in days by just reading the specs or books related to
| building one.
|
| A Microlisp maybe in weeks.
| lisper wrote:
| Author here. This pops up on HN regularly, which I'm happy to
| see, but it's pretty dated at this point. Here is a more recent
| update:
|
| https://blog.rongarret.info/2023/01/lisping-at-jpl-revisited...
|
| And, as always, AMA.
___________________________________________________________________
(page generated 2025-05-25 23:00 UTC)