Arc Forumnew | comments | leaders | submitlogin
6 points by croach 5897 days ago | link | parent

I would say the first implementation is in MzScheme for two reasons, both related to the design of scheme and the stated goals of Arc.

First, Scheme was designed to be a very pure dialect of Lisp. In other words, it is trying to be a minimalist language with only what is absolutely needed in the language itself. Until only recently (i.e., before the ratification of R6RS) the language specification for Scheme was around 30+ pages whereas the spec for CL numbered several hundred pages (I believe over 500 pages at least). One of PG's stated goals was to create a language built on axioms, thus he wants a very simple language very akin to the ideas behind Scheme.

The second reason, as I see it, is that Scheme supports continuations natively which makes certain types of applications (i.e., web applications) very easy to write--its no wonder that the main examples given to date have been web based applications all using continuations to share state between rendered pages.

Finally, as for why MzScheme, well, its well supported, very portable, speedy, has plenty of available libraries (using a CPAN-esque system), and overall its probably the best Scheme dialect available. (Please, no flaming here, I know others may be better in certain areas, but overall, MzScheme probably has the greatest combination of advantages and the lowest barrier to entry of all the Scheme implementations out there.)