From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id eE9EJnxR6GAIfAAAgWs5BA (envelope-from ) for ; Fri, 09 Jul 2021 15:39:08 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id WF/5IXxR6GANLAAA1q6Kng (envelope-from ) for ; Fri, 09 Jul 2021 13:39:08 +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 181A225795 for ; Fri, 9 Jul 2021 15:39:08 +0200 (CEST) Received: from localhost ([::1]:54312 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1qih-00080y-57 for larch@yhetil.org; Fri, 09 Jul 2021 09:39:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38888) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1qi3-00080d-T4 for emacs-orgmode@gnu.org; Fri, 09 Jul 2021 09:38:27 -0400 Received: from ciao.gmane.io ([116.202.254.214]:35284) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1qi2-0006Uo-FM for emacs-orgmode@gnu.org; Fri, 09 Jul 2021 09:38:27 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1m1qi0-0005iF-5q for emacs-orgmode@gnu.org; Fri, 09 Jul 2021 15:38:24 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: emacs-orgmode@gnu.org From: Maxim Nikulin Subject: Re: A requires/provides approach to linking source code blocks Date: Fri, 9 Jul 2021 20:38:14 +0700 Message-ID: <5ca6384f-de49-7080-a9e5-4ab8833f10cb@gmail.com> References: <87czrsai4w.fsf@tpad-m.i-did-not-set--mail-host-address--so-tickle-me> <87k0m0tw5l.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <87k0m0tw5l.fsf@gmail.com> Content-Language: en-US Received-SPF: pass client-ip=116.202.254.214; envelope-from=geo-emacs-orgmode@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 3 X-Spam_score: 0.3 X-Spam_bar: / X-Spam_report: (0.3 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, NICE_REPLY_A=-0.001, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , 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=1625837948; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=7FHaZpttlnQUtzJESbtn+b1ufxrr5dMuIC5qMbvCyQc=; b=aBG6Z5wQI8IvfzlhHqjEHAXrJLJSJmpKlcAS/x+PKRScFEt+IQqgOOllw24B2fP3N7/zXX jk8qvGUpGpYFkqDfigQQsvCpvHgFL29vkdBIbDsFLebP+kCL8qaAwnZR6FJ7wax9gKmAEm cqk2NDUdMOWy2cMioVTLYPPOGHApHHh7OFm13K5svHYvFKkmbktsZSTFl/urI/tXtkja3q 4aMctcNqqbZmQ2Bdq6BnhdQ0J46Vkl8+tHiNt8miXD8mhJ3sIqrqHgVkwAmQ6hqJwzY2dE I/L58janziswcISynh1EiI6O7ibz6mXBPpe5i7wbVPR66uh9Pjwd3MvuH3XaWQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1625837948; a=rsa-sha256; cv=none; b=ZU4jv5zZrcrvYlRzX9b9HD+ruUKBJOc8iIz80OyGvAj5u5xw0jDMUbYk9/oAVPR2Z2ZwrT O+W2w2nV2jtxEHND+59MplzGmNt6GplaUX5fTu8J+J0RYEj6ECkmyMwblzLplnh26z2iTL POY0zFKKu1qtsyuUutlbKGpbS/f2HdCVXsodfTpKF1oU4+2dW7OXIv7YJRj15CmTBEHG+U AhCp6LEcN2r73NzqoOxeluE/fzDMCaidtiq0tXbVV1pNhcmWRntbtyhxmwJIb8kYla/TgZ bL+flfjGW0WkIns09H3nzvELJ0OSTEH1f16qgGlXLak1HaY96sK53vY5v0c5Mw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); 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: -1.80 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); 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: 181A225795 X-Spam-Score: -1.80 X-Migadu-Scanner: scn0.migadu.com X-TUID: 7OfOOQhuT5zv On 09/07/2021 02:32, Tim Cross wrote: > Marko Schuetz-Schmuck writes: > >> 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. > > 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. There was a feature request for dependencies between code blocks to run them in proper order a half of a year ago. I think, it is better to try such feature as an extension of org, as a separate package. I suspect that some non-obvious issue may arise. Likely, to be convenient, it will be desired to autofill requires/provides attributes using some tools related to particular language. The question is whether org code is organized in such way, so extensions of this kind are possible without code duplication. Maybe API could be adjusted. On the other hand, even maintaining of stable semi-internal API sometimes is significant burden. P.S. I am reading the mail list through NNTP news.gmain.io. I have noticed that personal copies sometimes arrives without mail list address. Sorry if you will have to manually add it to reply.