Skip to the content

Community

The shared Lisp's scoreboard

How long the Lisp on the front page has stayed up, and the longest run so far.

Asking the scorekeeper…

The contest

The Lisp on the front page is one Lisp that everybody shares. Anyone may type into it, so anyone may end it: a (quit), a loop that eats the memory, a crash. Then it comes back clean, with nothing of what people had built in it. The contest is to keep one Lisp alive, and worth keeping, for as long as the community can.

  • A run is one life of the Lisp: from the moment it starts to the moment it ends.
  • A run ends when the Lisp dies, when the admins turn it (put up another Lisp, or the same one afresh), or when the machine restarts under it. Every run counts for the record, however it ended, and the board says how.
  • The record is kept for all the Lisps together, and for each implementation: the REPL has been SBCL, Clozure CL and ECL by turns.

Keeping it up

  • Leave (quit) alone, and the like of it.
  • If the prompt does not come back, something is looping. Interrupt it with Control-C in the terminal, or with C-c C-c in the full console.
  • Mind the memory: the Lisp has half a gigabyte, and dies when it wants more.

How the score is kept

The score is not kept in the Lisp, or anywhere the Lisp can reach. The Lisp runs in a container with no network and no way to the files of the machine around it. A scorekeeper outside it, on that machine, asks Docker every few seconds when the container started, and writes down each run as it ends. So nothing typed into the REPL can change the score, other than by ending the run.

Something wrong or missing here? Edit this page on GitLab.