[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Scheme-reports] ratification vote for R7RS-small

Full name: Per [Magnus Alfred] Bothner

Location: Cupertino, California, US.

Affiliation: None relevant.  (I'm somewhat affiliated with the
GNU project, since Kawa is under the GNU umbrella.
My unrelated day job is with Oracle.
I certainly speak for neither.)

Contact details: per@x

Statement of interest: Maintainer and primarily implementor
of Kawa, which I consider a dialect of Scheme.  I've been
working on Kawa since 1996.  Going back further I have an
interest in programming languages, their design, and implementation.

Vote: yes

Rationale: I was tempted to abstain.  I feel some distress at the
pro-R6RS/anti-R6RS schism, the incompatibilities between R7RS-small
and R6RS, and the natural disappointment of people who worked on R6RS.
I think it is unfortunate there was not more effort at unification,
but I don't blame anyone.

I think the problem with R6RS was not that it was inherently too
big though people complained about that.  The bigger problem is it
was too big a jump from R5RS.  There was (in retrospect) too much
for people to absorb, and too much to build consensus for in a
limited time.  In this sense R7RS-small strikes a better balance:
Big enough to add most of the more critical improvements people
have asked for, without being so big as to scare people off.

I just noticed one unresolvable incompatibility with R6RS:
   (bytevector-copy! bv1 i bv2 j k)
In R6RS this copies bv1[i..i+k-1] into bv2[j..j+k-1].
In the draft, it copies bv2[j..k-1] into bv1[i..i+(k-j)-1].
Ouch.  OTOH, I think R6RS got this one wrong: Mutable
operations in Scheme have the target ("left-hand") value
first, and the source ("right-hand") value last.

Likewise, I would have preferred to use the R6RS library
keywords, and just standardize a subset on the R6RS functionality,
even at the risk of some edge-case incompatibility.

Bottom line: I think R7RS-small is pretty decent, but I am
sad about the schism with R6RS.
	--Per Bothner
per@x   http://per.bothner.com/

Scheme-reports mailing list