Open lassik opened 2 years ago
I don't think that is the best approach. If multiple implementations are accessible then the page on try.scheme.org
should just point to each implementation hosted somewhere else, like try.gambitscheme.org
for Gambit (because this makes it easier to maintain by the Scheme implementer). When creating the current try.scheme.org
implementation I removed the Gambit branding so that it would provide a generic and featureful implementation to try out Scheme without having to chose which Scheme system to run.
Good point. You may be right. What does everyone else think? @jcubic @arthurgleckler
I think it will be really hard to create versions for different implementations. You would need to delete what we have and write something with docker. Since I don't think that other implementation will have something similar to what Gamit has that allows it to run in the browser. So you will need to run on the server and write everything from scratch.
I would just stick with Gambit, it works in the browser and it's probably the closest to the R7RS standard.
One additional thing that I would add is some kind of documentation (intro to Scheme) that can be displayed in a window next to the interpreter, so people can try scheme and learn it at the same time. But this is something for a different issue.
Yes an "intro to Scheme" would be a great addition to try.scheme.org . It could contain progressively more complex examples to show off various Scheme features, with next/prev buttons to navigate (and maybe a menu for quickly jumping to a section), and each example should have an "execute me" button to send the example to the REPL. The method for doing this on the REPL side is already implemented for the "automatic demo" (which would become obsolete). One idea would be to reuse the editor area on the right side to contain the intro to Scheme as a plain text document and people could just scroll down the document to advance in the material (sort of like the emacs tutorial).
https://go.dev/tour/ is just like that.
In preparation for having multiple implementations on try.scheme.org, we should put each in its own subdirectory. I.e.
try.scheme.org/gambit
,try.scheme.org/chibi
, etc.We can make
try.scheme.org
redirect to the Gambit directory for now, but it'd be good to lay the groundwork early.