
R7RS-large kickoff, list membership, and voter registration process - groovy2shoes
https://groups.google.com/forum/#!topic/scheme-reports-wg2/N2g2zn0lb_U
======
krutulis
In case you are a casual observer or are new to Scheme and are wondering why
this might be particularly important to the language, wikipedia explains:

"The R6RS standard has caused controversy because it is seen to have departed
from the minimalist philosophy [of scheme]. In August 2009, the Scheme
Steering Committee ... announced its intention to recommend splitting Scheme
into two languages: a large modern programming language for programmers, and a
subset of the large version retaining the minimalism praised by educators and
casual implementors;"[1]

Perhaps the history of Scheme standardization itself has something to teach us
about the challenges and rewards of openly balancing a wide range of interests
and agendas over the long term?

[1]
[https://en.wikipedia.org/wiki/Scheme_(programming_language)#...](https://en.wikipedia.org/wiki/Scheme_\(programming_language\)#R7RS)

~~~
jabl
To some extent I think the R7RS-large effort is a bit misguided. I believe
successful "large languages" (as in, comes with a big "standard library") need
a large team of professional programmers to implement it all (professional, in
this sense as directed by some organization so that they work on what the
organization prioritizes rather than on whatever they fancy), and preferably a
single implementation so that all the implementation effort can be
concentrated on that one implementation. Successful examples of this approach:
Java, .NET.

Scheme is not anything like the above: Plenty of implementations, mostly by
pretty small teams.

With ubiquitous internet access, and the rise of open source, I think the
better approach for R7RS-large would be to instead standardize a package
manager, and then let a thousand flowers bloom. This approach has proved
successful, e.g. npm (for node.js), Cargo (Rust), elpa (emacs-lisp), quicklisp
(Common LISP).

Then again, I'm not a Scheme "insider", so what do I know. YMMV.

~~~
dleslie
I maintain a number of Chicken packages and am a contributor to Geiser.

With standardized libraries in R7RS-small the opportunity has existed for
sometime for a community-created package manager to come into existence. There
are several in existence, mostly targeting particular schemes, but Snow2 is
the closest to what you desire.

Why it hasn't caught on is unquestionably, IMHO, because of the limitations
upon the R7RS-small language. Library writers often cannot write for standard
R7RS and must ship implementation-specific code. For instance, the R7RS opted
not to define a standard FFI of any sort.

Even if your library is internally R7RS compliant it is often the case that it
may rely on packages which are not, so deploying to the likes of Snow2 is a
matter of porting code you didn't write to every scheme that Snow2 supports.

The best reason I have been given for the decision not to define an FFI is
because it would force writers of toy schemes to conform their data structures
to the standard. And so in an effort to remain a toy language it has
restricted itself to being only a toy language.

Use Chicken, Chez, Gambit, Chibi or Racket. Forget about RnRS.

~~~
shiro
IMHO, Scheme has two, somewhat conflicting, goals. There's the desire to make
it a practical language, with rich libraries (the central package repository
is ok, but it'll require quite an infrastructure to implement portable package
manager client.)

On the other hand, Scheme has been a toolkit to test out ideas of programming
languages since its origin. We still keep call/cc not because we use it for
daily application development, but rather because it is invaluable to
implement new idea of control abstraction portably. With this goal, we don't
want to restrict implementation too much (hence the loose definition of
"error"), nor want to raise the hurdle of standard conformance by requiring
too many libs.

R7RS small/large split reflects this view, and I think it's a good thing. I
also think SRFI process is working. If there ever is a common package manager
thing, R7RS-large is a step to it. I've been using Scheme at work for last 20
years; let's see what we have in the next 20 years.

------
tluyben2
Maybe it is me, but as the discussions here[0] about the relevance of Lisp etc
which I blame largely on PR/Marketing unfold, I cringe when any announcements
are on Google groups. It feels like projects who do their communications (even
between devs) in Google Groups are not too much into current affairs and
therefor ignored by people who do not know about the project beforehand.

Again, maybe that's way off, but I find the interface horrible and dated and
only ancient projects seem to use it...

[0]
[https://news.ycombinator.com/item?id=11698414](https://news.ycombinator.com/item?id=11698414)

~~~
davexunit
The big problem with Google groups is that it requires proprietary JavaScript
in order to read the archive. I wish the Scheme standards community would care
more about free software, but in my experience they just don't understand.

~~~
coldtea
Who said Scheme is all about free software? Or I missed the /s mark?

~~~
johncowan
In practice, proprietary Schemes have not survived unless they have become
free software.

