About

Clojerl is an experimental implementation of Clojure on the Erlang VM.

This site lets you interact with a Clojerl console called a REPL, which stands for Read-Eval-Print-Loop. This is because by using this console you can write a Clojerl expression that will get Read, Evaluated and its result Printed. Then it Loops back to the beginning where you will be asked for another expression.

The Try Clojerl site was built using Clojerl itself. You can check the source on GitHub by following the link on the ribbon in the top-right corner.

Enjoy!

Some Technical Comments

This is currently being hosted on a Linode VM and running on a docker container. The user inside the docker container which runs the Erlang VM process can't do much since it's not root or a sudoer.

If the REPL is idle for 10 minutes the connection times out and a new connection is established.

There's currently no sandboxing, so you can do almost anything that you would be able to do in a local REPL. Be nice.

If the Erlang VM gets killed somehow (e.g. by calling (erlang/halt)) the docker container will restart on its own. All connected clients will see their connections closed and each will try to open a new connection.

It would be pretty nice testing the limit of how many clients this setup can handle at the same.

Fork me on GitHub