Functional programming with GLib
- Date: Sun, 23 Apr 2017 21:46:44 +0300
- From: "Dirk-Jan C. Binnema" <djcb.bulk@xxxxxxxxx>
- Subject: Functional programming with GLib
A while back, I wrote some functions for functional-flavored programming
with GLib. It's fully documented, has tests, etc.
It would (for me at least) be useful to have some of these functions in
GLib-proper, but I suspect the GLib-maintainers are not /too/ eager to
accept contributions to GList... anyway, perhaps its useful for others.
As a simple example, suppose we want to calculate the sum of primes up
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.
Dirk-Jan C. Binnema Helsinki, Finland
pgp: D09C E664 897D 7D39 5047 A178 E96A C7A1 017D DA3C
gtk-devel-list mailing list