replit-archive / jsrepl

Multilingual sandboxed REPL engine in JavaScript.
http://replit.github.com/jsrepl/
405 stars 100 forks source link

Implement 5 engines for classic languages #29

Open max99x opened 13 years ago

max99x commented 13 years ago

These are languages in which no one would write serious code today. People will come to the site, play around with them for 5 minutes and maybe paste some of their old programs to check if they work. Then they will go on their way and never return. These are nice to have, but they won't be of real, practical use to anyone and won't attract consistent traffic in the long term. A consideration about these is that even though they are not very important, people might dismiss the application if they fail to run their favourite pet project.

So far we have 1/5, QBasic, implemented incompletely, based on qb.js. That leaves 4/5.

Applesoft BASIC seems like a fairly decent contender for one of those slots. It's featureful and the JS interpreter for it is under active development.

Forth is another good choice. It's simple and there's a JS interpreter. Still need to check whether it has any standard libraries supported.

Smalltalk might be viable, but I'm so clueless about it that it'll need a fair bit of research. The default environment is very rich, including UI and various browsers, so it may or may not be usable in a REPL. A quick search returns some successful attempts to use it in a REPL, but it's not enough for a final judgement. There are several JS interpreters:

Finally we have the various assemblers, like the 6502. They have the advantage of being simple to implement, but writing assembly in a REPL is masochistic. I propose adding one of these only as a last resort. They might be a better option for later, when we include a rich text editor.

max99x commented 13 years ago

630e55c1d6ab00e12e83 brings this to 2/5 with the addition of Forth.

amasad commented 13 years ago

a48a2ef6166ecd5a1293 brings this to 3/5 with the addition of Smalltalk. Notes and Todos:

max99x commented 13 years ago

Back to 2/5 with the ditching of Smalltalk.

max99x commented 13 years ago

Removed from launch milestone. Looks like we'll be launching with 2/5.