Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
216 lines (199 sloc) 12.1 KB
<!DOCTYPE html>
<html itemscope itemtype="">
<!-- Session Fallback Redirect -->
(function () {
var loc = window.location,
session_path = loc.hash.split(':')[0].slice(1);
if (session_path) {
window.location.href = loc.protocol + '//' + + '/' + session_path;
<!-- Icons -->
<link rel="shortcut icon" href="/images/favicon.ico" type="image/" />
<link rel="apple-touch-icon" href="/images/apple-touch-icon.png" type="image/png" />
<!-- Scripts -->
<link type="text/css" rel="stylesheet" href="/css/style.css" />
<!-- Application -->
<script src=""></script>
<script src="/jsrepl/jsrepl.js" id="jsrepl_loader"></script>
<script src="/"></script>
<!-- jsREPL -->
<script src="/jsrepl/loader.js" id="jsrepl_loader"></script>
<script src="/jsrepl/repl.js"></script>
<script src="/jsrepl/languages.js"></script>
<!-- -->
<script src="/lib/jqconsole.js"></script>
<script src="/base.js"></script>
<script src="/browser-check.js"></script>
<script src="/hash.js"></script>
<script src="/dom.js"></script>
<script src="/repl.js"></script>
<script src="/pager.js"></script>
<script src="/session.js"></script>
<script src="/languages.js"></script>
<script src="/analytics.js"></script>
<script src="/lib/ace/ace.js"></script>
<script src="/lib/ace/theme-textmate.js"></script>
<!-- Session -->
<script>try{ {{SESSION_PLACEHOLDER}} } catch(e) {}</script>
<!-- Facebook -->
<meta property="og:title" content="" />
<meta property="og:description" content="Run code in a variety of languages from your browser!" />
<meta property="og:type" content="article" />
<meta property="og:url" content="" />
<meta property="og:image" content="" />
<meta property="og:site_name" content="" />
<meta property="fb:app_id" content="111098168994577" />
<!-- G+ -->
<meta itemprop="name" content="" />
<meta itemprop="description" content="Run code in a variety of languages from your browser!" />
<meta itemprop="image" content="" />
<!-- Mobiles -->
<meta name="viewport" content="width=device-width, maximum-scale=1, minimum-scale=1">
<div id="header">
<a id="logo" href="/"><img src="/images/logo-small.png" width="173" height="60" /></a>
<div id="buttons">
<div id="button-languages" class="button left"></div><div id="button-examples" class="button middle"></div><div id="button-save" class="button middle"></div><div id="button-help" class="button right"></div>
<div id="title"></div>
<div id="main">
<div id="resize-left"></div>
<!-- Main wokspace area with editor and console. -->
<div id="content-workspace" class="page">
<div id="editor">
<div id="editor-run" class="button"></div>
<div id="editor-widget"></div>
<div id="unhide-left"></div>
<div id="resize-center"></div>
<div id="console">
<div id="replay-button" class="button">Run Session</div>
<div id="progress"><div id="progress-fill"></div></div>
<div id="unhide-right"></div>
<!-- Language selector. -->
<!-- NOTE: tabindex needed for it to receive focus. -->
<div id="content-languages" class="page" tabindex="0">
<div id="languages-back" class="page-close"></div>
<!-- Examples page. -->
<div id="content-examples" class="page">
<div id="examples-editor"></div>
<div id="examples-separator"></div>
<div id="examples-console"></div>
<div id="examples-back" class="page-close"></div>
<!-- Help page. -->
<div id="content-help" class="page">
<div id="help-faq">
<div id="help-header">Frequently Asked Questions</div>
<div class="faq-question">What is</div>
<div class="faq-answer">It is an online environment for interactively exploring programming languages. The name comes from the <a href="">read-eval-print loop</a>, the interactive toplevel used by languages like Lisp and Python.</div>
<div class="faq-question">How do I start?</div>
<div class="faq-answer">Once you have selected a language, start by typing an expression into the console on the right side of the screen and pressing Enter. Your expression will be evaluated in the selected language and its result will be printed. Repeat until satisfied. You can also try some ready-to-run examples by clicking on the button labeled "eg".</div>
<div class="faq-question">Can I use variables or other state?</div>
<div class="faq-answer">Yes! The interpreters fully support variables, state and side effects in all the supported languages.</div>
<div class="faq-question">Can I save my session?</div>
<div class="faq-answer">Yes! You can save your session and share it with others by clicking on the chain link icon in the top right corner. Both the editor's content and the REPL session will be preserved and can be executed once again using the created link to continue from where you left off.</div>
<div class="faq-question">Is open source?</div>
<div class="faq-answer">Yes! You can explore the code and contribute to various parts of through <a href="">our GitHub repositories</a>.</div>
<div class="faq-question">Can I use on my phone or tablet?</div>
<div class="faq-answer">Yes! As a web application, can be used on any device that has a modern web browser. Currently, we have full support for Android devices, and partial support for iOS (Ruby and Python are still not supported on iOS).</div>
<div class="faq-question">How does work?</div>
<div class="faq-answer">All code processed by runs entirely on your computer, with no server-side evaluation. It uses language interpreters written in JavaScript to execute your code and keep track of state. Some of the interpreters (like BiwaScheme) are originally implemented in JavaScript, while others (like Python) were compiled from their original lower-level implementations using <a href="">Emscripten</a>.</div>
<div id="help-shortcuts">
<div id="help-header">Console Shortcuts</div>
<div id="help-shortcuts-content">
<div class="shortcut"><kbd>Enter</kbd></div> Evaluate the entered command.<br />
<div class="shortcut"><kbd>Shift<em>+</em>Enter</kbd></div> Continue to the next line.<br />
<div class="shortcut"><kbd>Tab</kbd></div> Indent.<br />
<div class="shortcut"><kbd>Shift<em>+</em>Tab</kbd></div> Unindent.<br />
<div class="shortcut"><kbd>Up</kbd></div> Previous history item.<br />
<div class="shortcut"><kbd>Down</kbd></div> Next history item.<br />
<div class="shortcut"><kbd>Ctrl<em>+</em>Up</kbd></div> Move to the line above the cursor.<br />
<div class="shortcut"><kbd>Ctrl<em>+</em>Down</kbd></div> Move to the line below the cursor.<br />
<div class="shortcut"><kbd>Ctrl<em>+</em>Z</kbd></div> Cancel current prompt.<br />
<div class="shortcut"><kbd>Ctrl<em>+</em>L</kbd></div> Open languages selector.<br />
<div class="shortcut"><kbd>Ctrl<em>+</em>E</kbd></div> Open examples preview.<br />
<div class="shortcut"><kbd>Ctrl<em>+</em>H</kbd></div> Open this help page.<br />
<div class="shortcut"><kbd>Ctrl<em>+</em>S</kbd></div> Save session (new revision).<br />
<div class="shortcut"><kbd>Escape</kbd></div> Close current view.<br />
<div id="help-back" class="page-close"></div>
<!-- About page. -->
<div id="content-about" class="page">
<p>The project is an attempt to create an online environment for interactively exploring programming languages. It provides a fully-featured terminal emulator and code editor, powered by interpreter engines for more than 15 languages.</p>
<p>All our interpreters are written in (or compiled to) JavaScript, and run completely on the user's device, regardless or whether it's a desktop, laptop or phone.</p>
<p>The code is open source and is available on <a href="">GitHub</a>.</p>
<p><a href=""><img src="/images/amjad.jpg" /></a><a href="">Amjad Masad</a> is a web developer at Yahoo! Jordan and a JavaScript fanatic. He usually does frontend development, but is also known to dabble in server stuff. He drives fast cars and likes good food.</p>
<p><a href=""><img src="/images/max.jpg" /></a><a href="">Max Shawabkeh</a> is a software engineer at Google and a Python enthusiast. He fancies himself a jack of many programming trades but a master of none. He reads fantasy books and likes good food.</p>
<p>This application is a result of their sushi-powered collaboration.</p>
<div id="about-back" class="page-close"></div>
<div id="resize-right"></div>
<!-- Browser fallback page. -->
<div id="content-fallback">
<div id="fallback-header">Browser Version Not Supported</div>
<div id="fallback-content">
Due to's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
<br />
<a href="" id="browser-chrome">Chrome 13+</a>
<a href="" id="browser-firefox">Firefox 3.6+</a>
<a href="" id="browser-opera">Opera 11.51+</a>
<br />
<a href="" id="browser-ie">IE 9+</a>
<a href="" id="browser-safari">Safari 5+</a>
<div id="fallback-ignore">Let me try anyway!</div>
<!-- Session save box. -->
<div id="save-box">
<div id="save-box-handle"></div>
<label for="save-box-link">Share on:</label>
<li class="share-social facebook"><a href="#"></a></li>
<li class="share-social twitter"><a href="#"></a></li>
<li class="share-social gplus"><a href="#"></a></li>
<input id="save-box-link" type="text" value="" />
<div id="footer">
<div id="social">
<div id="social-buttons-container">
<div class="social_button" type="facebook">
<div id="fb-root"></div><fb:like href="" send="false" layout="button_count" width="100" show_faces="false" font="verdana"></fb:like>
<div class="social_button" type="twitter">
<a href="" data-via="replit" data-text="Run code in a variety of languages from your browser!" data-url="" class="twitter-share-button">Tweet</a>
<div class="social_button" type="gplus">
<g:plusone size="medium"></g:plusone>
<div id="links">
<a href="#" id="link-about">about us</a>
<a href="" id="link-source-code" target="_blank">source code</a>
<a href="/" id="language-about-link" target="_blank"> </a>
<a href="/" id="language-engine-link" target="_blank"> </a>