Re: Question about try.scheme.org
Jakub T. Jankiewicz 26 Nov 2020 15:59 UTC
> try.scheme.org would be a great idea! But if we have such a domain, it
> should eventually offer a choice of all the Scheme implementations that
> can be run in the browser. In addition to Lips there's at least
> BiwaScheme (JS from the ground up), Gambit Scheme (got a JS backend this
> year), and Chibi-Scheme can be compiled into WebAssembly using Emscripten.
Maybe I can create something simpler then, I've created few Scheme Web REPLs
already the one on biwascheme.org is also created by me. The one at LIPS
site[1] is most up to date with all fixes and features.
Creating nice looking REPL for both BiwaScheme and LIPS should be no problems
with a way to change the interpreter. With other implementations I'm not
sure, especially problematic is Emscripten and its Input/Output that is
limited to JavaScript alert/console.log and prompt. But there is a way to make
it interact with my browser Terminal library (jQuery Terminal) I even created
issue to Emscripten repo[2] and a POC of async execution (it's a hack but it
works), but it may be troublesome to make it work 100% correctly. Other
implementation also may have problems with Input/Output.
So I can make two implementations with nice looking REPL maybe something
similar to my Python REPL[3], we can even show one one side of the page
docs.scheme.org inside iframe and terminal on the other side so new folks
that will open the page will be able to read tutorial and have REPL on the
other side.
I can also make it easier for other implementers to hook up to the REPL,
came up with interface that others will be able to implement.
Also another idea, check Haskell Home page[4] it have very small REPL that
is visible just when you land on the page. I can also create something like
this, but it will be one implementation it don't have to be my LIPS.
Python.org have more complex one[5] it runs real C python I think.
> If you want to start working on try.scheme.org, you'd have to obtain a
> web server (just as you suggest) and then we'd add a DNS record pointing
> to it into the file
> <https://github.com/schemeorg/schemeorg/blob/90e4883d8cb4fd24bec75e7c7716d0f00ea329c6/projects.scm#L20>.
> That's all it takes from the schemeorg end. However, as you say, setting
> up the server itself will be complicated :)
Ok so it's like js.org then, it should be easy to have domain point to app
created in qovery.
[1] https://lips.js.org/beta.html
[2] https://github.com/emscripten-core/emscripten/issues/6115
[3] https://trypython.jcubic.pl/
[4] https://www.haskell.org/
[5] https://www.python.org/