From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id C3D147FCCB for ; Mon, 27 Apr 2015 14:16:39 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of francois.bobot@cea.fr) identity=pra; client-ip=132.168.224.8; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="francois.bobot@cea.fr"; x-sender="francois.bobot@cea.fr"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of francois.bobot@cea.fr) identity=mailfrom; client-ip=132.168.224.8; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="francois.bobot@cea.fr"; x-sender="francois.bobot@cea.fr"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@oxalide-out.extra.cea.fr) identity=helo; client-ip=132.168.224.8; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="francois.bobot@cea.fr"; x-sender="postmaster@oxalide-out.extra.cea.fr"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0A2AQCnJz5VnAjgqIRch1XDJAmEeYJdAoEwOBQBAQEBAQEBEQEBAQEBCAsJCSEuhCEBAQQjDwEFQRALGAICBQwVAgIPAkYGAQwBBwKIJ7IVk1gBAQEBAQEBAwEBAQEBAQEBARmBIYoXhQUHCoJegUUBBJ0whheKWINQhBmDMQEBAQ X-IPAS-Result: A0A2AQCnJz5VnAjgqIRch1XDJAmEeYJdAoEwOBQBAQEBAQEBEQEBAQEBCAsJCSEuhCEBAQQjDwEFQRALGAICBQwVAgIPAkYGAQwBBwKIJ7IVk1gBAQEBAQEBAwEBAQEBAQEBARmBIYoXhQUHCoJegUUBBJ0whheKWINQhBmDMQEBAQ X-IronPort-AV: E=Sophos;i="5.11,656,1422918000"; d="scan'208";a="113665459" Received: from oxalide-out.extra.cea.fr ([132.168.224.8]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 27 Apr 2015 14:16:39 +0200 Received: from pisaure.intra.cea.fr (pisaure.intra.cea.fr [132.166.88.21]) by oxalide.extra.cea.fr (8.14.2/8.14.2/CEAnet-Internet-out-2.3) with ESMTP id t3RBGb0Z009322; Mon, 27 Apr 2015 13:16:37 +0200 Received: from pisaure.intra.cea.fr (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 90C19204BC2; Mon, 27 Apr 2015 14:18:07 +0200 (CEST) Received: from muguet1.intra.cea.fr (muguet1.intra.cea.fr [132.166.192.6]) by pisaure.intra.cea.fr (Postfix) with ESMTP id 8F07B2044DA; Mon, 27 Apr 2015 14:17:58 +0200 (CEST) Received: from [10.8.32.80] (is222783.intra.cea.fr [10.8.32.80]) by muguet1.intra.cea.fr (8.13.8/8.13.8/CEAnet-Intranet-out-1.2) with ESMTP id t3RCGQq9019422; Mon, 27 Apr 2015 14:16:26 +0200 Message-ID: <553E289A.40905@cea.fr> Date: Mon, 27 Apr 2015 14:16:26 +0200 From: =?UTF-8?B?RnJhbsOnb2lzIEJvYm90?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.6.0 MIME-Version: 1.0 To: Gabriel Scherer , Gerd Stolpmann CC: =?UTF-8?B?U3TDqXBoYW5lIEdsb25kdQ==?= , OCaml Mailing List References: <54F5B3F7.3030705@cea.fr> <1425394551.4056.1.camel@thinkpad.lan.sumadev.de> <54F6D731.3090004@cea.fr> <1428953391.22412.40.camel@e130.lan.sumadev.de> <552CD705.9000508@cea.fr> <552CE242.9050307@glondu.net> <552D0BFE.7000904@cea.fr> <1430128317.3427.70.camel@zotac> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Caml-list] Dependencies between plugins On 27/04/2015 12:16, Gabriel Scherer wrote: > Another (more general, less ad-hoc) way to have this semantics would be to introduce a "default > value" for predicates that do not explictly appear in rules. Under the set of default values D, then > a rule depending on predicates P would be true if the boolean assignment (D,P=true) holds, with the > rightmost boolean assignment shadowing all others. I mean that the rule > > foo(x1,x2,x3) = ... > > would be applied whenever x1=true, x2=true, x3=true with an empty default environment, but with the > default (y1=true, x1=false, y2=false) it would only be applied whenever (y1=true, x1=true, y2=false, > x2=true, x3=true). > > Then setting "plugin=false" in the default environment (equivalently, -plugin) would give the > expected semantics, I believe. In particular (thanks to François for his clear re-explanation on > April 9) then the rule archive(native) would not be matched by the query archive(native,plugin). > I'm not sure it is usable because "archive" is not the only variable we use. For example "requires" is also a variable. So in an environment with `plugin=false`, `requires = "foo"` is not taken into account when looking for the dependencies with predicate `native=true,plugin=true`. Perhaps your idea can be refined by making the default environment linked to specific variables. `plugin=false` is used only for `archive`. -- François