New chair of Working Group 2

319 views
Skip to first unread message

Daphne Preston-Kendal

unread,
Sep 10, 2023, 6:05:43 AM9/10/23
to scheme-re...@googlegroups.com
At the Scheme Workshop yesterday, Arthur Gleckler made the following announcement on behalf of the Scheme Steering Committee:

> The Scheme Language Steering Committee, whose members are
>
> - Will Clinger
> - Marc Feeley
> - Chris Hanson
> - Jonathan Rees
> - Olin Shivers
>
> would like to make the following announcement following the recent letter of resignation of John Cowan as chair of R7RS WG2.
>
> We have accepted John Cowan's resignation with our deep thanks for his exceptional service. His leadership, devotion to the task, and many contributions have been extremely valuable for the evolution of Scheme. We look forward to the continued contribution of his expertise and input as the R7RS process continues.
>
> The Steering Committee has appointed Daphne Preston-Kendal as the new chair of R7RS WG2. In moving forward the Steering Committee intends to have more frequent interactions with WG2, with an overall goal of bringing the Scheme community together and finalizing the R7RS-large standard in the not too distant future.
>
> Marc Feeley, for the Scheme Language Steering Committee

<https://youtu.be/V23D1DzqXGw?t=21553>

Daphne Preston-Kendal

unread,
Sep 10, 2023, 6:50:13 AM9/10/23
to scheme-re...@googlegroups.com
Dear Schemers,

First, I would like to thank the Scheme Steering Committee for
appointing me. It is a great honour and I hope I can do this great
responsibility justice, and successfully lead the working group to
produce the next version of the Scheme language. I also want to thank
John Cowan as previous chair; Marc Nieper-Wißkirchen and Vincent
Manis, who took on the positions of subcommittee chairs under John
Cowan; and Arthur Gleckler as SRFI editor (and emissary of the
Steering Committee to ICFP!). I look forward to working with all of
you in your respective roles in the future.

For anyone reading this who may not know me (considering that the
previous thread was shared and read far outside of the Scheme
community), here are some words of introduction, explaining my
interest in Lisp and Scheme, and where I want to take the Scheme
language under my chairship.

I found Lisp after the revival of interest in it in the late 2000s:
probably it was 2010 or 2011 when I first stumbled upon Paul Graham’s
Arc tutorial, which was what gave me that spark which most Lisp
programmers probably recognize: ‘wow, I never knew a programming
language could be like *this*!’. Of course, I quickly found out that
interest in Arc had petered out, so the question was: where next?
Among all existing Lisps, it was the elegance of Scheme – the way a
whole language could be built up from such a simple core – that won me
over.

Since I stopped working professionally in the technology industry in
2016, hacking in Scheme for my own projects has continued to inspire
the delight I find in programming. I have long wished for a Scheme
language which is practical for real, large projects in the same way
other functional languages like Haskell, ML, and Common Lisp are. I
know many others share this wish: it is of course the main goal of
R7RS Large.

Besides this, I hope to end the division in our community over R6RS. I
hope the Large language can be a tool in which the vast majority of
Schemers, no matter their current opinion on R6RS, can recognize the
fundamental qualities of Scheme, as they appreciate them.

I also recognize the importance of re-engaging with Scheme
implementers. I am still discussing with the Steering Committee about
the best way we can make procedural changes to try to consider their
voices and concerns more, but I foresee a big part of my work will be
talking to implementers directly to hear their positions and concerns
about the Large language and to encourage them to adopt it.

Now to practical concerns. The plan to divide R7RS Large into three
parts was made last year, and I intend to stick to it. These three
parts of R7RS Large form three volumes of a specification which
together define one programming language.

My first priority is the Foundations volume, which details the core
semantics of the language. My plan is to deliver the Foundations in a
series of partial reports called fascicles, beginning with a fascicle
on the subject of the macro system. I hope to have a first internal
draft ready for initial discussion in the next few weeks; it will be
finished and released for public comment by the end of this year. Most
other features of the Foundations are yet to be decided on, but among
those which seem likely (to me) to be accepted by the working group
include delimited control operators. I hope to have the Foundations
report as a whole finished in time for Scheme’s 50th birthday at the
end of 2025, but this schedule might slip: I don’t want to rush to
meet a deadline and thereby impair the quality of the finished report.

The other two parts of the R7RS Large report will be on Environments
and on Batteries.

Environments will provide the other non-portable part of the language,
dealing mainly with operating system interfaces for the filesystem,
networking, user interfaces, etc. The Environments will probably be
mostly or entirely optional for implementations to support. This is to
make consideration for implementations targetting unusual platforms,
such as the bare metal, or Web browsers, or similar. This part of the
report is fairly important, but this is the least-developed part of
the spec so far.

The Batteries will provide a large standard library of useful
utilities including data structures, fundamental algorithms, macros,
and similar. The plan is that any implementation which supports the
Foundations will get support for the Batteries for free through a set
of conformant, performant, and well-tested sample implementations
which work on any Scheme which supports the Foundations. Of course,
everyone is free to write their own versions if they want. The outline
of the Batteries is fairly clear; the previous chair of WG2 as a
whole, John Cowan, will continue to take an important role in their
further development, especially while I remain focussed on the
Foundations. By parallelizing work on the report, I hope we can have
it finished sooner rather than later.

The SRFI process will continue to be an important part of the
development of the R7RS Large language. I still expect major proposals
to have gone through the full SRFI process to finalization before we
accept them.

I have posted an agenda for the contents of each of the fascicles of
the Foundations, an outline of the Batteries (containing pretty much
all proposals so far, but I have made an attempt to reduce their
scope), and a very rough outline of the Environments in the Codeberg
repository:

- <https://codeberg.org/scheme/r7rs/src/branch/main/FOUNDATIONS.txt>
- <https://codeberg.org/scheme/r7rs/src/branch/main/BATTERIES.txt>
- <https://codeberg.org/scheme/r7rs/src/branch/main/ENVIRONMENTS.txt>

(Those who prefer a rich text rendering might like these versions, but
they might fall out of date in future – the versions directly in the
repository are canonical:

- <http://dpk.io/temp/FOUNDATIONS>
- <http://dpk.io/temp/BATTERIES>
- <http://dpk.io/temp/ENVIRONMENTS>)

The Working Group still welcomes new members. Our issue tracker,
where most discussion (apart from announcements such as these) takes
place, is at <https://codeberg.org/scheme/r7rs/issues>.

--
dpk (Daphne Preston-Kendal) ·· 12103 Berlin, Germany ·· http://dpk.io/
In the beginning, God created the EVAL and the APPLY. And God said,
LET-SYNTAX there be LAMBDA! And there was LAMBDA.

Reply all
Reply to author
Forward
0 new messages