Re: New proposal for a set of links on the front page
Marc Feeley 28 Dec 2020 22:05 UTC
For the “Try Scheme” link, may I suggest one of the following:
https://feeley.github.io/gambit-in-the-browser/
https://feeley.github.io/gambit-in-emacs-in-the-browser/
https://udem-dlteam.github.io/webapp-tutorial
These links run in the browser the Gambit system compiled to JS (either directly in the last link or via C+emscripten for the first two). Proper tail calls and first class continuations are of course supported, and a large part of the Gambit library is included so many features are available, including a feature-full REPL, single-stepper, pretty-printer, JavaScript FFI, R7RS conformance, and more.
The webapp-tutorial could easily be adapted to have a more traditional “console” based UI similar to the first link.
Marc
> On Dec 28, 2020, at 2:19 PM, Jakub T. Jankiewicz <xxxxxx@onet.pl> wrote:
>
>
>> - Try Scheme and Scheme Guide are topmost to attract new users.
>>
>> Jakub mentioned on this list that he could be interested in making a
>> playground site (try.scheme.org).
>>
>
> Yes I can make something quite quickly.
>
> I can implement simple terminal website like there is on
> https://trypython.jcubic.pl/
>
> It would look more like on https://www.biwascheme.org/ (with Scheme syntax
> highlighting and auto indent) I'm the author of that and mine Scheme
> implementation https://lips.js.org/ that is more advanced because it have
> auto indent and formatting of code on copy/paste.
>
> The difference between BiwaScheme and LIPS is that first one have
> continuations and TCO. Mine don't, but mine have something close to proper
> hygienic macros and I will work on continuations and TCO soon.
>
> Latest effort can be seen here https://lips.js.org/beta.html
>
> If you decide to pick different Scheme implementation I would probably need
> some help in setup this. If you know any link to article that show how to
> make Scheme working in browser that is more compatible with R7RS that I can
> check it out.
>
> Also even If I setup the Scheme with LIPS it can be changed later, if you
> prefer I can make it BiwaScheme, but I would need to use part of my code if
> you want auto indent and auto formatting (that one is important if you copy
> text from R7RS pdf that just remove all spaces before each line).
>
>
> And as side topic I would like to ask if I can grab lips.scheme.org domain
> for my implementation. I can setup on old domain redirect (it need to be like
> this) https://node.js.org/ and setup GitHub pages with scheme.org domain. I
> can setup CNAME on GitHub pages (right now it say lips.js.org) I'm not sure
> what need to be done in order to make this proper mapping. I would prefer
> proper name and not redirect like with other implementations.
>
> I wanted to show you one more thing, I've created on my website:
>
> https://lips.js.org/#bookmark
>
> it's a bookmark that can be run on any website that add Scheme REPL, in
> Google Chrome it even work on PDF files, so you can run it on R7RS spec.
> One good thing about my implementation is feature I've added recently it
> throw exception when someone uses ’ for quotation. with this message:
>
> Error: You're using invalid quote character run: (set-special! "’" 'quote) to
> allow running this type of quote
>
> (They are parser extensions maybe something that qualify as SRFI).
>
> and when you evaluate that you can copy paste code from R7RS spec, I didn't
> wanted this to be default so people don't write this type of quotes.
>
> Jakub
>
> --
> Jakub T. Jankiewicz, Web Developer
> https://jcubic.pl/me
>