Old LISP Language Used for New Raspberry Pi OS

On the scale of awesomeness, writing an operating system ranks near the top for software hackers and ranks just below writing a whole new language. [Lukas F. Hartmann] is reaching for the epic status with the Raspberry Pi operating system dubbed Interim. In an interesting mixture of old and new, it’s written in LISP!

LISP (LISt Processing) is the second oldest high-level programming language that received wide-spread usage. The only one older is FORTRAN (FORMula TRANslation), and that is just by one year. LISP is generally associated with artificial intelligence research but it also surfaced as a utilitarian scripting language in various applications like AutoCad. You may have also heard of a more recent dialect, Clojure, which has been receiving a lot of attention.

lisp-raspberry-pi-2-thumbThe source code, an image for the Pi 2, and directions for making it all work are available. [Lukas] also describes how to get a new OS up and running on a Pi.

[Lukas] isn’t the first to create this type of system. Back in the ’70s MIT worked on a Lisp machine that led to commercially available systems. If you have an old Apple IIe around you can make it into a Lisp Machine. You can also find LISP in the Internet of Things. And then there is [kremlint] who actually scored an original LISP Machine. We’ll have to keep an eye on his progress in restoring it to working condition.

Thanks for the tip, [krs013].

30 thoughts on “Old LISP Language Used for New Raspberry Pi OS

  1. Must be COBOL’s turn to make a comeback now.

    Seriously, someone asked me if I could do some COBOL for them. They had COBOL running in a virtual machine using TCP/IP to communicate to it from the main OS.

    I said try the graveyard – plenty of COBOL programmers there!

      1. Indeed it never went away. In fact it is often stated that 80% of all the World’s financial systems are run on COBOL. The latest revision of COBOL is standardized as ISO 1989:2014. These days there is even provisions for object oriented programming.

        However, COBOL programmers are rare. Just as an example I can mention someone a close relative knew on his former job, who had previous experience working with COBOL. Out of the blue she had been contacted by a British company who, after she had said she could not take the job since she had husband and kids were here in Sweden, asked her how big salary she would want to change her decision. She still ended up not taking the job though.

        And no, I do not know COBOL, though it is an interesting subject to read about.

  2. Now this is cool beyond believe. Again, a machine to own, a hackable machine. And a lisp machine (sort-of) with a more than affordable price tag. Sorry if this is not up your alley, but I will start hacking right away.

    1. He talks of ‘the’ stack, so no. Further, under “Multitasking”: “Interim is single-tasked. Cooperative multi-tasking is emulated by round-robin executing a list of functions in the global tasks list. Tasks can be spawned by appending a function to this list.”

      Room for improvement.

    1. Right, it’s been called dead many times over the years, but that doesn’t make it so. It’s just that it’s not mainstream anymore and the industry abandoned it in the nineties. Academia seems to be diverse, but the functional programming fellows went seemingly the ML and Haskel routes, although Scheme is still taught and further developed. Intro-courses seem to favor Python these days (*shudder*).

      I think it’s important to realize that Lisp is a family of languages, rather than a single one. Creating your own is cool, but if you want to get something done, you might want to look into mature implementations (I recommend SBCL). One really nice thing about Lisp is that there’s plenty of good documentation (“Structure and Interpretation of Computer Programs” by Abelson, Sussman, Sussman is the best computer-related book I know. “Practical Common Lisp” by Seibel helped me to get a grasp on taunting Common Lisp).

      In the words of ESR: “Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.”

    2. My browser is running inside of StumpWM as I write this (a tiling window manager written in LISP). I am likely to use Emacs several times before this day is over.

      Unfortunately there is a certain culture that only recognizes that the currently most trendy stuff is still alive. Hackaday is not entirely consumed by that culture but does seem to suffer from a long term low level infection.

  3. >> Back in the ’70s MIT worked on a Lisp machine that led to commercially available systems.

    Right. Which then went out of business because, you know, nobody actually needed them. (I know, anybody who worships in the LISP church can pipe in with a lot of “if only” comments, but every business has those.)

    1. “Need” is relative and relatively useless term in this sense. From what I understand … Lisp Machines died because they were painfully slow, at the time compared to UNIX. It’s often not the best tech that wins (eye of the beholder to what “best” is (but certainly to hardcore LispM advocates, it can be assumed what is believed to be)) it’s the fastest to the market, that “gets the job done, good enough ^tm”.

    2. “… nobody actually needed them.” ???
      And why they give the code for those Symbolics-Lisp-Machines not for free then??

      No my dear! Ask in the army and in the intelligence services, into the social networks and in the big searching-machines:
      “AI-winter” never had happen!
      It was only the step from official part of develoment to the “strictly-hidden-now” part!
      Everywhere where only a very small team of programmers is needed for security- and secrecy-reasons – THERE is LISP running – since Jesus times …
      And precisely THIS is the cause of all those “LISP is dead” comments over the years: Its professional masquerading of the silent and hidden professional users of LISP – and a betray against the trustful peoples of the whole world too!
      LISP IS very quickly to develop and runs faster than all those other “sophisticated” languages (comes nearly to C – but without the bunch of traps of C!), very clear code and around only 30% less keyboard-work than all other languages.
      – quickly to write
      – testing, debugging from scratch during development
      – comments included
      – clear mathematical, theoretical base, which will never change(!!), means: stability of paradigma guaranteed over aeones
      – easy parallelizing (important in times of the visible physical border of MHz-increase!)
      – clear code

      “… nobody actually needed them.” ist only propaganda, the inverse is true.

      So you can understand now the surprisingly big successes of Google, Yahoo, intelligence- and defense-forces and so on – and the same way you will understand this loud, sharkly and never ending babbling of “lisp is dead, nobody need lisp, lisp is dead, oh nooo, dont take lisp” and so on – thats only the other side of the medal of a very successful used language: selfprotecting propaganda of the successful users. LISP is the synonyme of real (but precisely therefore careful hidden) SUCCESS.

      “The grapes are a lot tooo sour for you!” — Hmm, why in earth, I can’t find real reasons for …?? – YEAH! They are: “The grapes are a lot tooo sour for you!” — SAYS THE FOX! ;-)


  4. btw:

    googles “MapReduce”-alghorithm is based on lisp-thinking – still any questions? ;-) :

    ( “Our abstraction is inspired by the map and reduce primitives present in Lisp and many other functional languages.” -“MapReduce: Simplified Data Processing on Large Clusters”, by Jeffrey Dean and Sanjay Ghemawat; from Google Research (https://en.wikipedia.org/wiki/MapReduce))

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s