Home > Lisp, Old games, Scheme > How I’ve discovered Lisp

How I’ve discovered Lisp

ALU site has a page “Road to Lisp“, where people describe how they’ve discovered Lisp and came to use it. The story of how I’ve discovered Lisp is quite interesting.

Long time ago I had an 8-bit home computer named ZX-Spectrum. There were plenty of games available, and I was a teenager, so I was playing a lot. At that times there were games of genre almost unheard nowdays: text adventures. In those games player interacted with game environment not by pressing cursor keys or by moving mouse, but by entering textual commands from keyboard, like “open door with golden key” or “shoot alien with laser pistol”. Such games are not as impressive as “mainstream” games: they usually lack graphics and visual effects, environment is described using text. To win such game player should rely on his brains, not on reflexes. Modern genre “quest” is a descendant of early textual adventures. However, such games are not as repetive as mainstream games, they rely heavily on imagination and give to player much greater satisfaction. In “disconnected” age such games were discussed in communities organized around game magazines.

Last time I’ve played such games were 1995. It was a year of decline of ZX Spectrum in Russia, and remaining hardcore users played those games because all noteworthy “mainstream” games were already completed. I don’t remember how but about half of year ago I did found that such games are still been developed and played. Genre nowdays is called “Interactive Fiction“, and games are mostly distributed for free. I’ve downloaded game engine (Windows Frotz) and about 50 games, and started to check them.

One of those games was called “Lists and Lists“. It was made by prominent figure of IF world called Andrew Plotkin. This game is not a usual adventure, it’s a programming tutorial, with Scheme interpreter inside! Game contains small book about Scheme, a “teacher” who gives you tasks, and tests your solution by typing certain expressions and checking results of their evaluation. It means that you can create program with any structure you want, it just should return correct results! Interpreter doesn’t implement full Scheme, only small part, but is capable enough to be fun.

I should admit I was not clever enough to complete this game myself at that time. I did everything myself except last task. Game contains hints, and I used them to solve final problem. However, I was so impressed by Scheme language that I immediatelly started to look for more “serious” implementation. I’ve started from Wikipedia’s article for Scheme, discovered the existance of SICP and HtDP, and…

Lisp is often described as a language where programmer spends more time on thinking then on typing. Text adventures could also be described as games where player spends more time on thinking then on acting. So, it seems natural that text adventure is used to teach Lisp.

This article is very small. It doesn’t tell much about IF, and doesn’t tell much about Lisp. I already have something about Lisp on my site, and I’ll definetly write about IF soon.

Categories: Lisp, Old games, Scheme
  1. Carlo
    October 23, 2007 at 9:52 am

    the link for “Lists and Lists“ is broken

    is there a way to get a “copy” of the game?

  2. kmatveev
    October 23, 2007 at 3:44 pm

    It seems that whole site is down. That’s a pity, because it was a very good site. It seems that game should be available from interactive fiction archive. Unfortunatelly, that site is not easy to navigate and search

  3. kmatveev
    October 23, 2007 at 3:46 pm

    I’ve found out that “Baf’s guide” site was moved. Link is fixed.

  4. Carlo
    October 25, 2007 at 12:07 pm


  1. No trackbacks yet.

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 )

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s

%d bloggers like this: