How to Get a List of All Repl.it Langauges
AmazingMech2418 (994)

Intro

As you may have seen, there is such thing as a Perl6 repl. Also, the famous polygott repls as well. So, how do you get a list of all repl types? Go through this tutorial to find out.

Retrieving the Variable

When I found this, I was looking at the Repl.it website's source code trying to find the favicon file to use in a website I'm creating that uses Repl.it Auth. Then, I stumbled upon this:

Then, I went into my JS console and saw that the KNOWN_LANGUAGES variable is there. And, it contains all languages in Repl.it!

Filtering Through the Data

To get an actual list, of course, you need to loop through the object. You can do that with this in JavaScript:

let array = [];
for(let key in KNOWN_LANGUAGES) {
    array.push(key);
}
// Of course, your "array" array will contain the list.

Displaying the Data

Now, you want to convert it to a list. You can either use JSON.stringify or array.join. array.join is the best of these two options. However, you also want to copy it to your clipboard so you can view it outside of the JS console. To do this, just use this code:

copy(array.join(", "));

This will create a readable list using the array.join function and will copy it to your clipboard with the copy function.

The List

So, you may just want the list itself. So, here it is:

clojure, haskell, kotlin, qbasic, forth, lolcode, brainf***, emoticon, bloop, react_native, unlambda, javascript, babel, coffeescript, scheme, apl, lua, python, ruby, roy, php, python3, nodejs, enzyme, go, java, cpp, cpp11, c, csharp, fsharp, web_project, html, rust, swift, python_turtle, basic, jest, django, express, sinatra, rails, rlang, nextjs, gatsbyjs, reactjs, reactts, reactre, flow, bash, quil, polygott, crystal, julia, perl6, elixir, nim, dart, gatsbyjsv2, reason_nodejs, tcl, erlang, typescript, ocaml, pygame, love2d, reason, Tkinter, tkinter, java_swing, php_server, nodejs_prybar, elisp, php7, sqlite, java10, php_cli, nodejs_beta, pyxel, static, go_beta, nodejs_static, python3_beta, raku, testj, wasm, java10_beta, python_beta, html_beta, testj_beta, scala, riddlejs, java_maven

With this list, you can just go to https://repl.it/languages/<item>, of course, replacing <item> with the item from the list, in order to create a repl of that type.

Note: In the above list, one of the languages has been modified to eliminate the usage of profanity in this post since this specific language is an esolang and uses profanity in its name. If you would like to use that language, I'd recommend going through Repl.it's main language selection UI or just simply typing out the full name of the language which has been removed in this post.

Extra Information

Failed Attempts

Directory Brute-Forcing

At first, I tried directory brute-forcing to get a list of all Repl.it language URLs and managed to find some well-known languages before an error occurred due to request rate limits. I, along with @Highwayman and @CodingCactus tried to figure out how to get around this but it never worked.

You are viewing a single comment. View All