[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Scheme-reports] ratification vote for R7RS-small
- To: scheme-reports <scheme-reports@x>
- Subject: [Scheme-reports] ratification vote for R7RS-small
- From: Per Bothner <per@x>
- Date: Thu, 02 May 2013 15:41:28 -0700
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
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports