Skip to content

Scheme Lisp on the OLPC XO

Out of the box, the OLPC XO comes loaded to the gills with Python, but sadly, no Lisp!

To remedy that situation I enlisted the help of the kind folks on the PLT discussion list to help me write a script to build the PLT DrScheme (Lisp) development environment for the XO.

This script is responsible for preparing the PLT application suite for the OLPC XO laptop computer. The script creates a typical binary, *not* a Sugar application (that is going to take a little more work!). You can download the application itself here, along with the md5 checksum, and the build log. A Flickr photoset is available here.

If you do try it out, please be sure to read the usage notes below, and let me know if anything needs to be added to them. All of the documentation is pre-installed, so once you’ve downloaded it, extracted the archive, and executed ‘drscheme’ (or ‘mzscheme’ if you want command line Lisp) in the bin dir, you should be ready to roll.

Thanks to all of the hard work by both the PLT and OLPC folks, lives will be changed.

Usage Notes

  • The apps run quickly. The slowest part is, of course, the disk I/O.
  • Slideshow works very well; it looks great and runs fast, turning the XO into a wonderful little “personal” presentation machine.
  • Out of the box, there is one setting in Edit->Preferences->Editing->General that is left unchecked: Open files in separate tabs (not separate windows). Left unchecked, opening a file will occur in a new window, and creating a new file will occur in the same editor. Check this feature. It will prevent multiple instances of DrScheme, conserving resources, and perhaps equally as important, it will make DrScheme more fun to use. “Reuse existing frames when opening new files” should not be checked!
  • Help desk works wonderfully with one caveat. When you are running Sugar and you switch between applications, more than one “unknown app circle” will show up in the “Donut”, each one corresponding to a DrScheme window. When you try to return to the help desk, you will find that you are always returned to the DrScheme IDE window. In order to get back to the help desk window, return to the DrScheme IDE window and then use alt+tab to switch to the help desk.
  • In this build of DrScheme, the IDE will resize to accomodate long file names. Although the XO screen has a very high resolution, it is very small, and large fonts are used to accomodate this. As a result, when file names longer than 16 characters are loaded, the IDE will expand off of the right side of the screen. This behavior will not be present in the newer version of DrScheme.
  • The Preferences window buttons “Revert to Defaults”, and “Cancel”, and “Ok” are not visible, appearing just below the bottom bound of the screen. The mouse cursor *can* click these, and in fact when you do click them, you can see the buttons are depressed. “Revert” is on the far left, and then “Cancel”, and finally “Ok” is on the far right, appearing in that order. This is order is different than how it appears on Windows (Revert, Ok, Cancel)!

Addendum 03/22/08:

  • Updated the build script (now tag 004) comments with note about what settings to check in DrScheme, updated the usage notes to reflect this fact
  • Someone asked “By the way, is there a reason that just typing yum install plt-scheme wouldn’t work?”. That is a good question. PLT builds against OpenGL. The XO does not have hardware acceleration. Consequently there are two ways to run PLT on the XO: install Mesa for software-based OpenGL emulation or build PLT without OpenGL support. I chose the latter, without testing the former.
  • In case you are interested in building PLT for the XO using Microsoft Virtual PC, I’ve added my setup notes.

Addendum 05/29/08:

Made a big correction in the order of the preference buttons, also updated the reference to the script which reflects the change.

4 Comments

  1. Kari Hoijarvi wrote:

    Thanks a lot for making scheme available for XO! I’m using it to teach my kids lisp.

    Are you planning to upgrade to R6RS? I like especially it’s environment a lot better.

    Yours, Kari

    Wednesday, June 24, 2009 at 09:56 | Permalink
  2. Grant wrote:

    Hi Kari:
    You are welcome! Thanks to the PLT team we get to use this great software!

    Are you writing about your experience? It sounds very interesting. I am sure that the OLPC crowd would love to hear about it; as would PLT.

    When I last tried, I found that newer versions of DrScheme often blew up on the XO. I still do not know why and did not research any further.

    However, that *may* have changed; and it may be as simple as installing it via yum? I have not tried, and can not at the moment, either.

    Wednesday, June 24, 2009 at 12:47 | Permalink
  3. Kari Hoijarvi wrote:

    We’re homescoolers and I’m using PLT scheme to teach programming. At home I prefer bigger screens, but XO is the easiest to take around and tolerates more peanut butter than others.

    The DrScheme environment seems to work well, but I have had problems with using helpdesk: slow response time or total freezing when switching applications. Feels like trashing due to low memory.

    The editor in the R6RS environment is much better, if you compile it I’ll definitely check it out.

    Thanks again, Kari

    Friday, June 26, 2009 at 11:15 | Permalink
  4. Grant wrote:

    Kari:
    Got it.

    Perhaps you might set up a swap disk on the XO.

    Saturday, June 27, 2009 at 14:56 | Permalink

2 Trackbacks/Pingbacks

  1. […] Re: NYC LOCAL: Saturday 23 February 2008 NYUFCC: OLPC Jam: Towards aPortable Lisp Machine That sounds like a lot of fun! Be sure to try out PLT Scheme on the XO! PLT builds against OpenGL. The XO does not have hardware acceleration. Consequently there are two ways to run PLT on the XO: install Mesa for software-based OpenGL emulation or build PLT without OpenGL support. I chose the latter, without testing the former, and published the binaries here: http://www.wisdomandwonder.com/artic…on-the-olpc-xo […]

  2. […] newest bits on my OLPC XO using one of the nightly builds, but ran into the same problem as I did last time: /home/olpc/apps/plt-3.99.0.25/bin/mred: error while loading shared libraries: libGL.so.1: cannot […]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*