An anonymous BBS (textboard) written in R5RS Scheme

Demo Boards


bbs.scm is a 2ch clone with the following features:


One newline is a line break (<BR>), two or more newlines will start a new paragraph.

link to post >>7link to post >>7
>quoted text

quoted text

;;;This is a block of code
(lambda (h)
  ((lambda (f) (f f))
   (lambda (f) (h (lambda (x) ((f f) x))))))
;;;This is a block of code
(lambda (h)
  ((lambda (f) (f f))
   (lambda (f) (h (lambda (x) ((f f) x))))))

Alternate Access

If you'd like to, you can also visit this website anonymously via i2p: textboard.i2p

Source Code

Check the first draft of this program at gitlab. It was written in the hurry of a lone hackathon, therefore some refactoring is needed before the release of a tarball.

A Bit of History

/prog/ was a textboard about ``programming'', hosted at and later It was an odd and fascinating place that went mostly unmoderated for years. Unfortunately the owners were made to remember its existence thanks to imbecilic spammers; and without consideration for the small community that inhabited the place, the formers decided to pull the plug on a sad day of July 2014.

If you weren't lucky enough to have been a part of it, an archive of all the posts is available at There's a search engine for this archive which has also been entirely restored as web pages at

Back then, a somewhat recurrent joke was that the BBS script, shiichan, should be rewritten in Scheme. I'm not aware this task was ever completed. Well, it is now. For the sake of it. Another motivation was to write some real world software in Scheme: beside implementations you won't find a lot of Scheme code in the wild. This is especially true for MIT Scheme. So, however trivial this program is, its merits are its mere existence and the fact it's been deployed.

More History

If you're interested in the history of textboards as a whole, here are a few interesting reads:

Other Textboard Scripts

Here's a more comprehensive list.

Software Stack

SchemeBBS is written in MIT/GNU Scheme, Nginx is used as a reverse proxy and the whole system runs on FreeBSD. There's no database, messages are stored as Scheme objects in plain files. This stack is lovely. Nice icons too.

MIT Scheme logoGNU logoNginx logoFreeBSD logo

Bonus Track

Listening to this tune will make you enjoy writing Scheme code.

The SICP snake

Valid ISO/IEC 15445:2000 This site doesn't use cookies This site doesn't use Javascript