Contribution Guide

Contribution to this website is welcomed. However, please read this guide before you contribute.

One Unbreakable Rule

Any contribution to this website must be EXPLICITLY PUBLIC DOMAIN (e.g.: Explicitly licensed under Unlicense or CC0-1.0), stuff that does not have license is copyrighted by default and is not allowed.

How You Can Contribute

I found a bug/typo

Post an issue at GitHub or talk in the talk page at esolangs.org. You can send a pull request if you already know how to fix the bug.

I want a new esolang/feature

It's like the above but you can give me a public domain interpreter (preferably client-side JS) as well. If you want to send a pull request to add an esolang, here is how to do that:
  • Add a JavaScript file for the language, it contains a function that takes the program and the input and returns the output, like this:
  •             function yourlang(program,input){
                    //code here...
                    return output;
                }
            
    If the interpreter is in other languages but can be called from JavaScript (like C by using Emscripten), the JavaScript file should call the interpreter. The function name should not be the same with function names for existing esolangs.
  • Add an option tag inside the select tag in the index.html file, the text should be the language name, like this:
  •             <option>YourLang</option>
            
    The option tags should then be sorted by text, lexicographically.
  • Add a script tag in the index.html file, the source is the JavaScript file you created in the first step, like this:
  •             <script defer src="yourlang.js"></script>
            
    script tags should be sorted by their sources, in lexicographical order, just like the option tags.
  • Finally, add the link to the language in the README.md file and add a row for this language in the about.html file, and update the number of languages and the version number.