From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 2MDUAJJd52CeRwEAgWs5BA (envelope-from ) for ; Thu, 08 Jul 2021 22:18:26 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id +NcfOJFd52DkeQAAB5/wlQ (envelope-from ) for ; Thu, 08 Jul 2021 20:18:25 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 3DBAA145AC for ; Thu, 8 Jul 2021 22:18:25 +0200 (CEST) Received: from localhost ([::1]:51638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1aTW-0003cZ-UW for larch@yhetil.org; Thu, 08 Jul 2021 16:18:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59404) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1aAi-0007x1-3i for emacs-orgmode@gnu.org; Thu, 08 Jul 2021 15:58:56 -0400 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]:35377) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m1aAe-0002w4-Kx for emacs-orgmode@gnu.org; Thu, 08 Jul 2021 15:58:55 -0400 Received: by mail-pj1-x1029.google.com with SMTP id h1-20020a17090a3d01b0290172d33bb8bcso6796251pjc.0 for ; Thu, 08 Jul 2021 12:58:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:date:in-reply-to :message-id:mime-version; bh=/ddq4DxHm28do5847FKvJ9SDMkrVxR1evAgnf/0CUDI=; b=JFWmMTkLUf1lCE5lUxJzB0APTv0BgJRzFjlzqajWz/Nv9mS3J5uJEglcu1vlTBi33N /cRod5k9O9KfM1DBKY1gWxnPzU9Uk6WHDtL/jYtnlfftuUhtzTjJTojqqsOrXJETEGVf dtrSm6K47a4uGtxeD1wHuZcZ44g/Ibs6XQXSvip6PZHYz71sSrKHhetzw+NXOse5DAQD pGnL6Ncej7Hpc+bypiDCNJamtXaB07x/q5WG/lrebN7c5b7BMwg5gbYILn7JEsbhNNmn zdMjVRLKFtrlzU1Ze5nhPazpmPFjcPRlNRXCyoL4ff91xl28shw0Rf4yuyVPnHfqEfRu woTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject:date :in-reply-to:message-id:mime-version; bh=/ddq4DxHm28do5847FKvJ9SDMkrVxR1evAgnf/0CUDI=; b=gMGuKg07ANwHJEeLrJgQ3fs+eZ7qG8HXg334IfFEJKJ1f1lkO41ZjgntlTb6HbJnAo HK6r/93yI5AhMYfCznXQf1qp7iAnMDZx/CsIlbMEnuWBM0x60WqHFANYcI4dUjrT1AeI kzqv4u8Bw6xYeHIzdpvOjWohmf7xIlODP29ODNurlEbjEM0lj1IokVVpiNnuDnM/3O+L 9LUF/Q0eoP3HVG5zQ/L9YZDrMHknIFzM05VRjo6W4v9Rstc/T76ZCiXvNgQEvzy2RGeO Nk7Sx64jVWwTo/Y6XuuAyyJJcyyvq4lCMzWhizGyhvUeTyTm3+g40p72o/XWLWHxEBH+ 9dzQ== X-Gm-Message-State: AOAM532MIKOFtZJNKqXYJFLMD06e7vLDRl8eMwSkL4LjmYCHCsyuC2mZ pHNwtAExjbaFJdjV/YqtWl2RwNKDSRY= X-Google-Smtp-Source: ABdhPJzyXkUvVZz69Y5DXZK6xzh+6WJwW0lNfJv4C+n0OP7sgX7eg1uqJRUBkyPOqgS33B/AiIOdgA== X-Received: by 2002:a17:902:9a02:b029:118:307e:a9dd with SMTP id v2-20020a1709029a02b0290118307ea9ddmr27146068plp.47.1625774329769; Thu, 08 Jul 2021 12:58:49 -0700 (PDT) Received: from tim-desktop (106-69-78-201.dyn.iinet.net.au. [106.69.78.201]) by smtp.gmail.com with ESMTPSA id f5sm3619165pfn.134.2021.07.08.12.58.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jul 2021 12:58:49 -0700 (PDT) References: <87czrsai4w.fsf@tpad-m.i-did-not-set--mail-host-address--so-tickle-me> User-agent: mu4e 1.5.13; emacs 28.0.50 From: Tim Cross To: Marko Schuetz-Schmuck Subject: Re: A requires/provides approach to linking source code blocks Date: Fri, 09 Jul 2021 05:32:35 +1000 In-reply-to: <87czrsai4w.fsf@tpad-m.i-did-not-set--mail-host-address--so-tickle-me> Message-ID: <87k0m0tw5l.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::1029; envelope-from=theophilusx@gmail.com; helo=mail-pj1-x1029.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: emacs-orgmode@gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1625775505; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=/ddq4DxHm28do5847FKvJ9SDMkrVxR1evAgnf/0CUDI=; b=H+xG7FgWKsZNTUsm19qGArRA0wrTsQAYc0u6ryAEEPhxek3nD8lXcaV5h5ZU0GRZNoj+/x tS/yjLaH073yi9lLLmSNdmrsGdDy9tIbrxdijeKRdDljzJh0fVXWL8LMw2c35sIAstg0QQ IAhXUETzr193L5ujUVqcBRi3P7UB5q68Z4rIpnas8A9BkXZJT9Xa7koJnfabrcHAlG6y+P LcHGAPRNqWCegAzm8Q+qujUVrcndNeoAnkqkyoD0m0nZwP124nBVJz6EZZbDER5TpF+JGe FFOqoSHPzwzwpr3aiXYJlmNB2i1YMfiASJtr+BCMEBZhKjkGlEbTBCTySlbr3w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1625775505; a=rsa-sha256; cv=none; b=RYt9ee2oFzUZQLxyOvGtYkm2iGj52qZbtqQht5lUZ5nMHk9or16Z6/bEbyOJjacFrZdHv9 Wt458RkNzrCiX5bVt3d1l1rT/RfM3OS+c9a9CBQv/4edBN9PrIdxdRvXI3KvR5UFKqXrST 9mkTiyJbDAj1yWRFQBl8FNZtYl82vfCyRPb8XLSMzBfdvZomElGmuA5r6UTc+DaTRAUobI XGjCtTS+N6VO3p5ca00UVW3D0TXexqlpdpNDDgbDXrrhQbY1AcDnNUZxYKqH75pxGnUj3Y H4h7Sg31fM8tXqKy0RlK9hMMCCJOHps7r/4MRLpGp2ekeqD1puXNrMGuJVNMPw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=JFWmMTkL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Spam-Score: -3.11 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=JFWmMTkL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: 3DBAA145AC X-Spam-Score: -3.11 X-Migadu-Scanner: scn1.migadu.com X-TUID: LismgGOUE6pF Marko Schuetz-Schmuck writes: > [[PGP Signed Part:Undecided]] > Dear All, > > AFAIU in the current support for literate programming I can establish > sequence between blocks by either tangling the entire file whereby the > blocks are written to the source code file in the sequence in which they > appear in the org-mode file or I can name the blocks and use noweb > linking to explicitly state the precise sequence in which the blocks > appear in the source code file. > > I would find it useful to have a more declarative way for specifying > sequence. I imagine e.g. using "#+REQUIRES:" and "#+PROVIDES:" to > capture dependency and then have the exporter compute a sequence > satisfying these. I would think that this makes the maintenance of the > dependencies more convenient. > > I'd be interested in feedback on the idea. > > Please include my email address in the reply as I am not subscribed to > the list. > My concern here is with the additional complexity. This is already a somewhat complex aspect of org mode and the behaviour you describe can effectively be done using noweb, although as you say, not as declarative in style. I'm not sure the added complexity is worth the additional maintenance overhead and I would be concerned regarding how much confusion this could cause i.e. someone uses both noweb and declarative provide/require. These additions are also likely to hamper any efforts to improve performance - a topic which comes up on a fairly regular basis. This could just be me, but recently, I'm becoming very concerned about the growth of additional features and options in org mode. Many of the new things being requested are for relatively narrow use cases and represent functionality which can largely be achieved with existing features. At the same time, there also seems to be a growing frequency in patches which introduce regression bugs and patches to fix patches. This is all beginning to feel like we are running very close to the tipping point at which time we will have something that is so complex that only a very few people are able to maintain the code base and keep the system stable. New maintainers are discouraged because of the code complexity. We could end up in a position where really important issues cannot be addressed or addressed in a timely manner because of the overall complexity of the code base and time it takes to fix and test and dependence on a very few number of maintainers who are already swamped with work. At some point, I think we may want to consider a temporary freeze on new functionality and spend a few months just focusing on bug fixes and code base improvements or re-factoring. It might also be worthwhile providing some guidelines or criteria/procedures for assessing proposed new features to avoid a perception of new features being accepted/rejected based on personality, loudness of voice or some other real or perceived and irrelevant basis. -- Tim Cross