From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 4Hw0CtBRumLzoAAAbAwnHQ (envelope-from ) for ; Tue, 28 Jun 2022 02:56:48 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id ULMgCdBRumI80wAAG6o9tA (envelope-from ) for ; Tue, 28 Jun 2022 02:56:48 +0200 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 B357B5925 for ; Tue, 28 Jun 2022 02:56:47 +0200 (CEST) Received: from localhost ([::1]:60736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o5zX4-00065U-Th for larch@yhetil.org; Mon, 27 Jun 2022 20:56:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36194) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o5zWc-00065L-2u for emacs-orgmode@gnu.org; Mon, 27 Jun 2022 20:56:18 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]:42638) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o5zWa-0000mn-9c for emacs-orgmode@gnu.org; Mon, 27 Jun 2022 20:56:17 -0400 Received: by mail-pl1-x629.google.com with SMTP id jb13so9653234plb.9 for ; Mon, 27 Jun 2022 17:56:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:user-agent:from:to:subject:date:in-reply-to:message-id :mime-version; bh=M5N3rLgkPRkJx1GiKN44QRniPF43B5lZZrdRAc+lzwQ=; b=QIaINhyDOTxsPUpvBpFikl4V0PCILrfmGH2gTSt1KxS11S0ceEgiUh4yjl3gZkTSUI Yzi5j6q5N2A+SiS0McXVXUIDA6DXScFZrdjjQK4DpoUDXuXSiV4TU8D7onIWnEivrFVi MuZWTha7uqM4J6s7QSfvRKLWv3DdEo/DfkgIgirp8DYDZrK5dY5iRa9vXtlMfkkI7goH RNkzrR41LTOsCFCEIRQP0NT/y1KDFwMR0yDmohPSG5n63L0TJm0sL/+VVG5mp0bhHKXW bQKtGV4L/W/aGUfOyo+xwmx/qZ7JXgSPy1iyfnhCvXWuphBmK63gmZ/8anWLP/8/xROm ONXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:references:user-agent:from:to:subject:date :in-reply-to:message-id:mime-version; bh=M5N3rLgkPRkJx1GiKN44QRniPF43B5lZZrdRAc+lzwQ=; b=a9uwowCGGG8LDJUPauRaP7iNrBIAYTowyWbSYDx0hiqRlksmKrpXYlX4fv1EcGFab3 OzrlHUm6eO32bD8gS9VQOdu2IF2pntwNhQ4K+3seRorVihytgP1SrZqUu4SaumTPT1nn QhpIn+0lSEDsTxt66QfcWFlXXCUGLl1CXxZViAza9IZRgrKn9F7VE+9MIWPOJLLJW/85 BQBwFWYAHh+XFwFdCEC6vVLqC04cdnZIgPDQq6fIFZ3NWzAmJQjRUMxAPXfUx6YkRAaQ 5B/Zojm9+VXZPJ96tw0I8//QvHJJa6bdT53hcgyHbjlXB/neHgF/dothQjgS5jZs+mdr VL1w== X-Gm-Message-State: AJIora/jvMSN6FSJLYS6e5LADomRM/b7JTv2or7bbUvav8aWa7s8u1t/ eIneAhH3CFMtufqjdiOUMOsH3nfhr515xg== X-Google-Smtp-Source: AGRyM1ufT3x5cx7ATRtonp0gkwrDOd1ScsCjn7ktnRk2eUdC9knHXZIShl6xi5vpYeCHCqmQslhGPg== X-Received: by 2002:a17:902:ec89:b0:16a:2a7d:5efa with SMTP id x9-20020a170902ec8900b0016a2a7d5efamr2270935plg.114.1656377774465; Mon, 27 Jun 2022 17:56:14 -0700 (PDT) Received: from dingbat (2001-44b8-31f2-bb00-5eaf-18f8-7c3d-c1e4.static.ipv6.internode.on.net. [2001:44b8:31f2:bb00:5eaf:18f8:7c3d:c1e4]) by smtp.gmail.com with ESMTPSA id f31-20020a63511f000000b00405111cd999sm7719816pgb.36.2022.06.27.17.56.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jun 2022 17:56:14 -0700 (PDT) References: <87fsjs3xws.fsf@localhost> <87y1xio2cn.fsf@localhost> User-agent: mu4e 1.8.0; emacs 29.0.50 From: Tim Cross To: emacs-orgmode@gnu.org Subject: Re: We have asynchronous sessions, why have anything else? Date: Tue, 28 Jun 2022 10:41:59 +1000 In-reply-to: Message-ID: <87k091k3md.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=theophilusx@gmail.com; helo=mail-pl1-x629.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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 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 X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1656377807; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=M5N3rLgkPRkJx1GiKN44QRniPF43B5lZZrdRAc+lzwQ=; b=h0I7830YzOTxj8/+4krUK5iSNe9b8Zmdw7eO5Z/KdRy2pdf3sG67k27H2X2zzNU0yQNp/P 3PVp6VS+1U3ab/qYN0Xhn8TxoKmTBCY2e5K/a9B+w2M2Z4gVaOraUiHvFkRoQIzZ/HPejZ GWIOPEDlO9hIcAis2YSRizS81wAa8kTDCo/+W2qVn6uuMpssl3Gv73jrrDSjbSZeDuNzXa +VzHt6nvoImILAZ3NPRETdKm+Qvl6bbHI0IY7qJZiO4E/bQ4MWhlrVY3mEWJ8VZnpfWsSt lvt6WmuQYQX+xE9/TrEgCFa5pxGR6oh20cc2PAIAa6L58J0yWxHcILwf2S00Uw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1656377807; a=rsa-sha256; cv=none; b=ppnyQPwSjlvNApIUYBIy8vhZTUhFFiGUB5/9q5p1tkKvR5SZ5DRnXOBNXgt7grIgoqIR1x IrgWkM78DvyOSD/41uKzkS8RURf6Sv99q55j88FiiDj6OH8+SaTMXvn454/04y0jPnL3Yd ZiFQvQ/gTnTfFeOtMUnAGmZPuZi3mIiVEB+Tq66AZQbHG6Q6vrhTyAP/k5lEFp9DKvUGHu ZEegeL+mFQwGWzH3k9+H3myy3hWdvMYFrfAPzmfrgBvFB+2OnAg/Fg2Esizn5DGZQcnR98 LA11Uo1G3cw9wTLaF7rKYSzBOjSmXglZ4+zgMp3eh1jVamCS5Sh+AQaWfB/Tnw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=QIaINhyD; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -1.45 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=QIaINhyD; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: B357B5925 X-Spam-Score: -1.45 X-Migadu-Scanner: scn1.migadu.com X-TUID: +XavlDXLFeT2 Tom Gillespie writes: >> I am not even sure if all the babel backends support try-except. >> Think about ob-gnuplot or, say, ob-latex. > > Indeed many do not. Defining some standard "features" > for org babel language implementations is something that > is definitely of interest so that we can provide clear interfaces > for things like stdio, error handling, return values, async, > file output, remote execution, sessions, return value caching, > module discovery/tangling, execution from file vs stdin, execution > without a file system path, runtime environment specification, > and much more. However, at the moment there is only a preliminary > survey of a subset of these that was put together by Ian Martins. > > https://orgmode.org/worg/org-contrib/babel/languages/lang-compat.html > >> the two could be unified if we expand the functionality of the async filter > > While this might be possible, I would definitely hold off on this because > the changes in semantics absolutely will break many users' blocks. We > barely knew what the impact of changing the default return value for shell > blocks would be. > > I absolutely look forward to the day when this can be done safely and > with confidence, but I think we need a much stronger handle on babel > interfaces in general before such a change could even be considered. > > At the moment each ob lang impl pretty much has to be considered > to be completely unique, even if the text looks like bash for e.g. > shell, comint, and screen. Users are known to rely on undocumented > quirks of the ob lang impls that can differ wildly in their semantics. > Well said Tom. As you point out, there are numerous deficiencies with the current implementation, despite the fact it all sort of works. To get the sort of improvements and consistency users want, I suspect this needs more than just small tweaks around the edges. To some extent, I see the current babel implementation as similar to a prototype. It has worked well and we have learnt a lot about what people want to use it for and the type of functionality they are wanting and what some of the core challenges are. Now comes the next step, which is definitely non-trivial. We need to take all that knowledge and consolidate it into a single model from which we can define the interfaces and associated APIs. A big job which will take considerable time.