Slashdot Mirror


Client-side Web REPL For 15+ Languages

In his first accepted submission, MaxShaw writes "repl.it is an online REPL that supports running code in 15+ languages, from Ruby to Scheme to QBasic, in the browser. It is intended as a tool for learning new languages and experimenting with code on the go. All the code is open sourced under the MIT license and available from GitHub." A few of the languages are supported by reusing existing "Foolang in Javascript" interpreters, but a number of them are built using Emscripten (previously used to build Doom for the browser). All evaluation occurs client side, but saved sessions are stored on their server.

4 of 38 comments (clear)

  1. RELP by JonySuede · · Score: 4, Informative

    for those who don't remember their lisp class : (define REPL 'Read-Eval-Print Loop')

    --
    Jehovah be praised, Oracle was not selected
  2. I don't really like REPL by moonbender · · Score: 2

    Seems like REPLs have gotten more popular recently. I guess I don't really get it, I found a good interactive debugger more useful as a learning tool. Particularly with rich abilities to inspect variables and variable hierarchies. A REPL-like tool as one feature of such an environment is nice to have, sure. But just the REPL on its own seems really limiting.

    --
    Switch back to Slashdot's D1 system.
  3. Re:Why not C by fusiongyro · · Score: 2

    Emulate a low-level machine in your high level language, and use that emulated low-level language to implement another high level language. That's going to be a real performer.

  4. Re:Why not C by MaxShaw · · Score: 2

    A few notes on this. We're using Emscripten to compile interpreters written in C to LLVM bytecode then to JavaScript. Emscripten supports both static and dynamic library loading by compiling the libraries to JavaScript. The Python standard library on repl.it, for example, loads dynamic libraries, so it's definitely doable. Performance is of course not amazing, but for a REPL, it's certainly good enough.