Re: Making SRFI go faster
Wolfgang Corcoran-Mathe 26 Apr 2021 02:45 UTC
On 2021-04-25 23:29 +0300, Lassi Kortela wrote:
> > Also, when it comes to development style: will this library be made up
> > of /specifications/ that each Scheme implements differently (like
> > SRFIs), or of a single /implementation/ that tries to be compatible with
> > as many Schemes as possible (a la Schemepunk)?
> >
> The starting point should be that it's implementation first (or
> implementation and discussion), and once the implementation stabilizes, a
> stable specification is the end product.
>
> In other words, the opposite direction than what SRFI is currently using.
> (Classically, I guess a SRFI specification is intended to be the end product
> of implementation work that has first been done elsewhere, so in that
> respect the library collection would be one central place to do this
> groundwork for SRFI. Of course, people could still submit SRFIs prepared
> elsewhere.)
I'm concerned that this dramatically underrates the importance of
having some kind of specification for a library (or any software).
A project that emerges through gung-ho programming alone is likely
to be incomprehensible to other programmers who may want to
contribute (and probably to the author, a few months later).
Maybe this is my own preference showing (I always try to work out a
spec and a formal semantics first), but I think that even an informal
and protean specification is beter than no specification at all. To
paraphrase Conal Elliott, I'd like these libraries to be precise about
'what', not just 'how'.
Related to comprehensibility is the issue of the monorepo. What's
the advantage of this approach? I second John's point about the
difficulty of cleanly extracting subtrees; this is especially a
problem if any (sub)library were to become a SRFI. Committing and
testing a monorepo seem likely to become very time-expensive, as well.
Why not multiple repos, perhaps with Git submodules?
In summary, I'd like a Scheme Live library collection to be clear,
well-defined, and easy to work with. A large monorepo of unspecified
in-progress libraries sounds like the opposite.
--
Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz>
"In the presence of the unknown all have an equal right to
think." --Robert G. Ingersoll