Skip to content
This repository has been archived by the owner on Jun 23, 2018. It is now read-only.

Implement 5 engines for serious languages #31

Open
max99x opened this issue Jun 21, 2011 · 6 comments
Open

Implement 5 engines for serious languages #31

max99x opened this issue Jun 21, 2011 · 6 comments

Comments

@max99x
Copy link
Contributor

max99x commented Jun 21, 2011

These are languages that people use for real projects, today. These require the most work but also give the biggest payoff, since people will use them in their daily work.

So far we're 1/5 here, with BiwaScheme. I don't think we should count Javathcript (or any non-standard Lisp variant) as separate from Scheme here.

Interesting options include Python, Lua, Ruby, Haskell and Prolog.

Python and Lua may be doable through Emscripten, but that still leaves implementing or compiling their standard libraries, which is no small task. Python also has Skulpt.

Ruby has JSRuby and HotRuby, though at this point it is unclear whether they are usable.

Haskell has jshakell, which appears to be a library port rather than a compiler/interpreter, and haskellinjavascript, which seems incomplete and abandoned. Emscripten might be an option.

Prolog is fairly usable without a standard library and even without I/O and is very REPL-friendly. If the IOCTL implementation is decent, this might be easy to add. All we would need is to add a way to differentiate fact and query modes. I think simply prefacing all queries with a question mark or something similar might be good enough. One disadvantage is that it might be more appropriate in the nostalgia category.

Common Lisp is yet another possibility, if JCLS ends up being useful. There are quite a few JS compilers/interpreters for various dialects of Lisp, but they may be superfluous given BiwaScheme:

@max99x
Copy link
Contributor Author

max99x commented Jul 11, 2011

Some more Lisp resources

@amasad
Copy link
Contributor

amasad commented Jul 13, 2011

I have narrowed down the lisp resources into what could be usable, this leaves us with:
EdgeLisp: A bit complicated.
Dmitry Nizhegorodov's Lisp System: lacks hygiene macros.

Since both of them compiles down to JS, input will be an issue.
If we went with EdgeLisp, I wouldn't want to miss with the library since its under constant enhancement.

@max99x
Copy link
Contributor Author

max99x commented Aug 23, 2011

Up to 2/5 with the addition of Lua.

@max99x
Copy link
Contributor Author

max99x commented Sep 1, 2011

Up to 3/5 with Python.

@max99x
Copy link
Contributor Author

max99x commented Sep 7, 2011

Removed from launch milestone. The consensus is that given Python, we are Ok with 3 practical languages for launch.

@max99x
Copy link
Contributor Author

max99x commented Sep 12, 2011

Up to 4/5 with Ruby (quite a few things are still broken there though).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants