/esolang-box

Easy-to-run docker images for 100+ esolangs

Primary LanguageDockerfile

esolang-box 2.1.0 Build Status

Easy-to-run docker images for 130+ esolangs.

Usage

Distributed docker images are seperated for each esolangs.

For example docker image for Evil language is named as esolang/evil, which is hosted on Dockre Hub.

How to run your own esolang program

Suppose you have program in the current directory,

$ echo aeeeaeeewueuueweeueeuewwaaaweaaewaeaawueweeeaeeewaaawueeueweeaweeeueuw > program.evil

then you can run the program like the following.

$ docker run -v `pwd`:/code:ro esolang/evil evil /code/program.evil
Hello, World!

List of boxes

Notes about some languages

Bash (pure)

Simulates behavior of "Bash (builtins)" in Anarchy Golf.

Brainfuck (bfi)

Unlike Brainfuck (esotope), this execution simulates behavior of "brainfuck" in Anarchy Golf.

To achieve this, I have patched a tricky line to the original code.

--- BFI.c
+++ BFI.c
@@ -46,6 +46,7 @@
   int pc, args, xc, prog_len, l = 0;
   int x[32768];
   int p[32768];
+  int xxx[1] = {'['};

   FILE *stream, *fopen();

Blacklisted languages

Below are the list of the languages that cannot even do the minimal jobs needed for esolang-battle.

  • ArnorldC
  • Haystack
  • INTERCAL
  • LOGICODE
  • ModanShogi
  • ~English
  • Python 1
  • Seed
  • ///
  • TrumpScript
  • Velato
  • ZOMBIE

Build images

Prerequires dobi.

$ cd /path/to/esolang-box
$ ruby build.rb
$ dobi

Run spec

Tested with Ruby 2.5.0

$ bundle install
$ bundle exec rspec