GNU bug report logs - #27155
[PATCH 0/2] Support service extensions on the "final" service values

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Tue, 30 May 2017 22:00:02 UTC

Severity: important

Tags: patch

Full log


View this message in rfc822 format

From: ludo <at> gnu.org (Ludovic Courtès)
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27155 <at> debbugs.gnu.org
Subject: bug#27155: [PATCH 0/2] Support service extensions on the "final" service values
Date: Wed, 07 Jun 2017 01:07:41 +0200
Hi Ricardo,

Ricardo Wurmus <rekado <at> elephly.net> skribis:

> I think it is useful to have the ability to add rewriters at the end of
> service composition.  In my opinion it is always good to have an escape
> hatch, and this seems to fit the bill.  But I agree that it is not
> an elegant solution, and I wouldn’t want to advocate using it.

Right.  As discussed on IRC, one problem is ordering: if there are
several users of this features for a given service, you can’t really
tell what’s going to happen, unless the modifications happen to be
commutable.

> As to your second idea: it seems tedious for service writers to have to
> anticipate the ways in which services could be extended (here given by
> providing extension points).

Boilerplate aside, I’m not sure it would be this tedious.

> Would it make more sense to allow *extensions* to specify how they
> should be applied rather than letting services define extension points?
> This would shift the burden away from services to service extensions.
> Extensions would still need to provide a way of extending the parent
> service, but this could be optional.

What would it look like?

It seems to me there are two options: either service type specify how
they can be extended, or they expose their raw values letting any
extension alter it (the patch I sent).

Thanks for your feedback!

Ludo’.




This bug report was last modified 50 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.