guile-devel
[Top][All Lists]
Advanced

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

Re: The Guile junk drawer and a C plea


From: Thompson, David
Subject: Re: The Guile junk drawer and a C plea
Date: Sat, 29 Jun 2024 19:51:48 -0400

Hi Richard,

On Sat, Jun 29, 2024 at 3:02 PM Richard Sent
<richard@freakingpenguin.com> wrote:
>
> I see my little patch has ignited a comparatively oversized firestorm.
> Oops. ;)

I wasn't sure if my email would get 0 replies or a lot of replies...
but the latter happened. I just want to be clear that this is *not* a
judgement of your patch or saying that you made a mistake! A big
reason why I changed the subject line is because I wanted to separate
this discussion from the review of your patch. Thank you for sending a
patch to improve Guile!! And thank you for bringing some important
issues back to the front of my mind. :)

> The current discussion is above my paygrade so I'll largely stay out of
> it. (Although it's quite fascinating!)
>
> In the specific context of this patch I feel like the risks of namespace
> pollution and C maintenance burden are low since both are near identical
> to what already exists. But of course, someone else may argue that this
> is a death by a thousand cuts situation.

I agree that the risks are low in this case. It doesn't make sense to
have destructive list operations without nondestructive equivalents,
especially since mutation of pairs is strongly discouraged amongst
seasoned Schemers.  If it were my call (and it's not, to be clear),
I'd say that they should just be implemented in Scheme, at least.
There really is no good reason to implement Scheme procedures in C
anymore.

> I will suggest that if a consensus is reached on what new code must
> adhere to (e.g. no (guile) namespace pollution, no new procedures
> written in C), it should be documented in the reference manual. There
> are traces of this but nothing concrete [1]. What little documentation
> exists is secreted away into the darkest corners of Texinfo. I believe a
> top-level "Contributing" section in a similar vein to GNU Guix would be
> a valuable addition.

Right, there is no consensus about this right now. It's been talked
about vaguely on IRC and in person over the years (maybe the mailing
list, too, but I don't feel like checking). I'm just prodding the
issue again (uh oh, did I prod a hornet's nest?) to see if it creates
some positive momentum.

> It's quite possible as a first-time contributor I am missing something
> that already exists. If so, oops again!

Nope! Not missing a thing. There's literally no way for you to know
that there's a desire amongst some Guilers to discourage implementing
new standard library procedures in C and expanding the default
namespace.

I really hope I haven't discouraged you from future contributions by
using your patch as a case study. Thank you again for hacking on
Guile!

- Dave



reply via email to

[Prev in Thread] Current Thread [Next in Thread]