One more console

Debugging web projects on Repl.it can be frustrating. Until today, there was no easy way to view your errors and console logs (unless you open your browsers' developer tools). But that's changing because we're introducing our new tabbed console view for environments that has graphics output (like Web and Python Turtle).

Read more...

Check out my Repl!

The label "sessions" is very near and dear to my heart. I vividly remember how Amjad came up with the name and why. After we learned that people would like to create accounts on Repl.it, we were trying to figure out what was the main value proposition for creating an account. Of course, it was saving code! But what do you call a list of code projects saved on your account?

Read more...

React Native

At Replit, we're always looking to give you new ways to learn and build cool new things, so we partnered with our friends at Expo to create a React Native environment. Expo is an amazing technology allows you to develop apps on your phone without downloading any IDEs or simulators. All you have to do is get the Expo App on your phone and use it to connect your phone to Replit.

Read more...

Model solutions

There is a special moment in learning: when a student runs their code against the unit tests and finally sees all of them turn green. This moment of enlightenment means the student has just managed to create their own working solution to a difficult problem, and has made a step towards becoming a great programmer! Wouldn't it be cool to further enhance the student's knowledge by showing the student different approaches to tackle the same problem?

Read more...

Require any npm package

Last year we introduced support for importing any Python package from PyPi and -- although we don't have perfect support for all packages -- it turned out to be a very popular feature. That's why today we're excited to continue the roll-out for the rest of our platform starting with web-based languages.

Read more...

Building Towards a Holistic Development Service

Software development is one of the first -- if not the first -- examples of what J. C. Licklider called the Man-Computer Symbiosis. A "cooperative interaction" between people and computers where the person is concerned in what may be classified as the creative aspect of the work such as setting the goals, formulating the hypothesis and evaluating the results while the computer does all the "routinizable work".

Read more...

YouTube tutorials using Repl.it

We've been seeing more and more coding video tutorials using YouTube and Twitch.tv. Today we're sharing some of our favorite YouTube videos that uses Repl.it

Read more...

Introducing Clojure

Earlier this week we introduced Haskell support. And now, as promised, we're continuing to add more functional languages. So today we're excited to introduce Clojure. A Lisp dialect that runs on top of the Java Virtual Machine with a focus on immutability.

Read more...

Introducing Haskell

We heard your requests for Haskell and today we're excited to finally announce Haskell as yet another language we support. We've decided to put our focus on adding more functional languages, starting with Haskell, so you can expect more very soon.

Read more...

Collaborate with Other Teachers in your Classrooms

Hey teachers, we've noticed that you have been teaching up a storm in your Replit classrooms, and with this feature we want to turn those storms into educational hurricanes! To do so, we implemented teacher collaboration, which allows you to add an additional teacher to your Replit classrooms. This additional teacher can do almost everything you can do, excluding a couple of small destructive things...

Read more...

Infinite Loops

At Repl.it we aim to make the full power of programming easily accessible for everyone. That's why when we designed our code execution service we decided that we would not timebox users' programs or sessions.

Read more...

Assignment Reordering

At Repl.it our mission is to make programming more accessible, and the best way we found to achieve this is to support, you, the teachers on the ground doing working with students. That's why we want to make sure you control the student experience and today we're making it possible to control the assignments order from your classroom dashboard.

Read more...

Live File Updates

Today we're excited to release a feature which shows any files your program creates directly inside the REPL. And any time that file changes it will be updated live in the editor. This can be anything from a text file to a gif.

Read more...

Python Package Search

We recently made it possible to import any package from PyPi. However, people who missed the announcement didn't know this was possible. There was also no good way to search and explore packages.

Read more...

Introducing Step Debugging for Python

Debug your Python3 programs from your browser

At Repl.it, our goal is to make programming more accessible, and as part of this we aim to provide the full power of popular programming environments with no setup time. And I don't think it's an understatement to say that debugging is the majority of what we, as programmers, do.

Read more...

Introducing Pylint Support

Today, we're excited to introduce lint support for Python3. Where previously you had to run your code, look at the console for an error, find the line number of the error and then find that line in your editor. Now, we'll show you errors and potential mistakes live as you type!

Read more...

from PyPi import *

Import any Python Package

At Repl.it, our goal is to make programming more accessible, and as part of this we aim to provide the full power of popular programming environments with no setup time. And no modern programming language is complete without third-party packages.

Read more...

Assignment Due Date

On Wednesday we announced assignment scheduling, and today we're releasing another date related feature—due dates. It's no secret that students can procrastinate, so sometimes it's useful to have deadlines for the assignments as a reminder.

Read more...

Scheduled Assignments

Today, we're introducing scheduled assignments. Teachers using Repl.it Classroom can now schedule assignments to be published in the future. You can imagine working on your assignment, schedule a publish date, go on vacation, and still have your students receive their assignments at the right time.

Read more...

Vagueness to Clarity

clarity

Simple design is not only how the product looks like, but more importantly, how the product functions; it’s about creating the easiest and simplest path for the user to accomplish their goal. Usually, simple design comes from complex requirements and a lot of ideas — in order to break it down I usually go through a process that I call Vagueness to Clarity

Read more...

Every Project Should Have Its Own REPL

It's no secret we're big fans of REPLs. We believe that immediate access to the programming environment accelerates learning and is generally more productive. REPLs cut out the middleman -- no need to build UIs or scripts for every possible action you might want to take -- just talk to the interpreter directly.

Read more...

Evalbot: a bot that speaks code

Arguments over programming language semantics, standard library behavior, or syntax can now be simply and immediately settled within the chatroom by talking to Evalbot. It is a bot that can speak over 10 programming languages and is ever-present on Messenger and can be added to your team chat on Slack.

Read more...

Classroom Overview

Before we decided to build repl.it classroom, we paid a visit to one of the schools using us in the classroom. I felt excited and anxious at the same time; I was introduced to the teacher and students in the class, and then my job started as designer observing and paying attention to every single detail.

Read more...

Distributed Websocket Rate Limiting

Rate limiting is standard practice for services offering an API. It's used for both protecting against bad actors, for example, attempting DOS attacks and to simply enforce limits on the service. There are many resources on the web on how to implement a rate limiter in your favorite language/stack. However, I couldn't find anything on how to rate limit Websocket connections (they differ in that they are persistent connections).

Read more...

API Docs

Repl.it's code execution API is an HTTP and WebSocket endpoint that you connect to and send code to execute. You can connect from any device or browser and start executing code. This guide will describe the concepts behind the service, how it can be used, and provide a step-by-step guide for signing up and trying out the service!

Read more...

Autocomplete

Autocomplete plays a big role in how we use software, imagine a world where you have to type full search terms without predictions into google search, ugh, the savagery! Many developers employ this technology when writing code in order to increase their productivity. So we decided to implement this feature to help you become the power user you want to be.

Read more...

A Swift REPL

In this age of containers it's much easier to run arbitrary code in the cloud. The harder parts are scaling the service, making it reliable, and —as in this case— creating cool and useful experiences. When we looked at existing Swift REPL implementations on the web we found that none delivered a stateful and interactive environment. Just an editor with a run button.

Read more...