[Top][All Lists]

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

Re: Adding more to boot-9

From: Ludovic Courtès
Subject: Re: Adding more to boot-9
Date: Wed, 05 Sep 2012 23:44:52 +0200
User-agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.2 (gnu/linux)


Ian Price <address@hidden> skribis:

> I want to propose the addition of four procedures to guile's (ice-9
> boot-9) aka "core guile": fold, fold-right, shuffle, and perhaps
> shuffle!. I can provide patches myself, or one of you handsome people
> can do it for me :)

Noooo!  :-)

While I often end up importing srfi-1, srfi-26, and (ice-9 match) for
any code I write, I’m happy they live in their own modules.

I think there are too many, rather than too few, bindings in (guile).
Module separation is great: it avoids name clashes (and allows one to
use #:renamer or #:select), and follows the principle of least authority
(granting programs only what they explicitly asked for.)

> shuffle and shuffle! are two procedures that are conspicuously absent
> from anywhere guile, and that I have probably reinvented every two
> months or so. I'd suggest a traditional knuth shuffle, and copying for
> the nondestructive version, though Riastradh has a selection of
> shuffles[1] we could use. Oleg Kiselyov also suggests a purely
> functional implementation[2].

What about adding an (ice-9 shuffle) module?

> 0. Incidentally, char-set-unfold!, char-set-unfold, char-set-fold,
> string-unfold-right, string-unfold, string-fold-right, string-fold and
> hash-fold _are_ in the base, and this is supposed to be list processing
> language.</flamebait>

Yes, but that’s for Historical Reasons™.


reply via email to

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