Re: Functional programming with GLib
- Date: Thu, 27 Apr 2017 15:29:10 +0100
- From: Emmanuele Bassi <ebassi@xxxxxxxxx>
- Subject: Re: Functional programming with GLib
For command line parsing I'd actually favour a slightly bolder
approach of deprecating GOptionContext, and having something slightly
more modern — in terms of being bindable in other languages, and
well-integrated with API like GApplication.
For instance, something similar to [clap.rs].
On 27 April 2017 at 15:15, Philip Withnall <philip@xxxxxxxxxxxxxxx> wrote:
> The general policy for GLib is that utility functions which are useful
> (and used in) several projects are considered for being added to GLib.
> To me, a functional programming approach using GLists is not something
> which every project is going to use. Is there any harm in keeping it as
> a separate library? There’s nothing stopping projects from linking to
> GLib *and* GXLib. :-)
> The command line parsing stuff you have looks a bit more widely
> applicable. Were you considering merging those into GLib?
> Anyway, nice work on GXLib. It looks well documented.
> On Sun, 2017-04-23 at 21:46 +0300, Dirk-Jan C. Binnema wrote:
>> Hi All,
>> A while back, I wrote some functions for functional-flavored
>> with GLib. It's fully documented, has tests, etc.
>> It would (for me at least) be useful to have some of these functions
>> GLib-proper, but I suspect the GLib-maintainers are not /too/ eager
>> accept contributions to GList... anyway, perhaps its useful for
>> As a simple example, suppose we want to calculate the sum of primes
>> to 100 (a common task after all):
>> > int sum;
>> > GList *nums, *primes;
>> > nums = gx_list_iota (100, 1, 1);
>> > primes = gx_list_filter (nums, (GXPred)gx_is_prime, NULL);
>> > sum = gx_list_sum (primes); /* => 1060 */
>> > g_list_free (nums);
>> > g_list_free (primes);
>> There's also folding, mapping etc. See a short article about this:
>> (2015?! time does fly). Am still developing it though.
>> Repo: https://github.com/djcb/gxlib
>> Docs: http://www.djcbsoftware.nl/code/gxlib/
>> Best wishes,
> gtk-devel-list mailing list
[@] ebassi [@gmail.com]
gtk-devel-list mailing list