From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id OMD4BJp8Wmf3fAAAe85BDQ:P1 (envelope-from ) for ; Thu, 12 Dec 2024 06:03:06 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id OMD4BJp8Wmf3fAAAe85BDQ (envelope-from ) for ; Thu, 12 Dec 2024 07:03:06 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=positron.solutions header.s=google header.b=bBxyQQGX; dmarc=none; 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" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1733983386; a=rsa-sha256; cv=none; b=XaMteEBatpCQdAfuMT+J2oCJAqndrtWbOyL7ixI/64PmATZ5G6GrvveZkBfDJxyA+bx2EP 4obgKkJblOoeN+/yUNT/mtSkr+M3u4EXTK/c5X2PiC1BRcPa66Ury4Z6TNL2vQldC11eJB QnIPTh+b538ES7wFfby0BBGisFSUc3hWUMP5H9TOu3bHAOhlnFNoMB66vDohvblU1b1fKn RFOobfrmWU9wEFmkMHO6GSTYTLRakAg2yhD9eU6daXyl5X1VuAK4JKLRhZ2DDK49bGWclC 5xFJ65PJaOHOu2e5S5Al0DZqIX5vEpUJXJuxx/92UVchvUSL9G7FLrapjb/w4w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=positron.solutions header.s=google header.b=bBxyQQGX; dmarc=none; 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" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1733983386; 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:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=JLv1jYmt47GQIkvhsoDHHfU2rJMYSVymyv5FAnSr8AM=; b=aVxXaVAGOKyREbZBrM96GavexuSzYBPhk9u+NzotOulj7/oHs1KsIbZYPZCg368yY+JqOq 07kF63Xwhk4gSBtEAqnSgFCG0GRCD+IS+sRbDlCYRjKX2hzjq7h/ixZBg2LNu/coTFhem+ pwnRCuC95SD6bSAuMeM+A6h52LdxNO2YGeeH3J66aXoChLaYojvgYhH5InSA3Lc76HUdSS Sijj1wmUdUzkWtlIGYfeU5U92ubckQHYxhuYnCk0xbSWlcSqvjqz+VSVuIloc0vgAImtRP Me7KpXKG69z+8tgU1UM0kZ88ZzJF3CAX5gxVBn8cVHOZHh+Wn5azyFtXh3drPw== 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 D7E66555F1 for ; Thu, 12 Dec 2024 07:03:05 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tLcH3-0005rd-64; Thu, 12 Dec 2024 01:02:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tLcH1-0005rP-VC for emacs-orgmode@gnu.org; Thu, 12 Dec 2024 01:02:08 -0500 Received: from mail-yw1-x1131.google.com ([2607:f8b0:4864:20::1131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tLcH0-000180-9H for emacs-orgmode@gnu.org; Thu, 12 Dec 2024 01:02:07 -0500 Received: by mail-yw1-x1131.google.com with SMTP id 00721157ae682-6f00da6232bso1961767b3.2 for ; Wed, 11 Dec 2024 22:02:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=positron.solutions; s=google; t=1733983324; x=1734588124; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=JLv1jYmt47GQIkvhsoDHHfU2rJMYSVymyv5FAnSr8AM=; b=bBxyQQGXjeImoYvWc8u879UcWwvZ4QoY8ONVTUqZ8wZklnKfFsdkXiOZyTog35Nt0w BIdUp955tt3QtAvwbW3T2o7bNFYH5BxDfgB685cxeRehvKqBw9FGzZh1NoLZrRSyT15l nWuDPv3iWS6es3XDJyMJ09+H9qd7mCvsYaWHyW35At4mzuKYcavWWTt23/kGABztaJF4 Eo1TsWyd8v7WS0e0V02WUJmXQbdpegVw0evFOw1A3QGV9iuWetEdO/VpJgwSfHwEhNa/ QKv6dyTJzQ2/IA90upa6TPpJWy9lvHi8g/HzmkwY0FXLR51ongyIcWxgD2N772tkCj+g 5BTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733983324; x=1734588124; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=JLv1jYmt47GQIkvhsoDHHfU2rJMYSVymyv5FAnSr8AM=; b=t5ZvLDXNuuTUpmseHcQjcv79hkDWN10Mb6ZYkwkDyf9A71EVAec+He7y8COHv7322o mWufgRxEuccUneTjm8x4j+zJSU8Md7UsDaZvmaQHl2WMHZBgQj4ugyNlIXeH0su+J8qx mRYv9lj5O/HRN14f1QPY38bKoGFCSL37oxSHOimFFL2m7i3/p4HM2fR7THuja9rzrYkF nL4b91OLjaSp2oAVylK3QdhMpxMW4Z4+DKOAG4qO6aHWjNlb0k3saSn5vzo4I1z2bY++ 19+a/labNjG8GonGG4TMv+9PN7Em1jf0Mm/ZvftkKY86aQ/AaTArFZ1omp7sBNEQ6OT2 zQxw== X-Gm-Message-State: AOJu0Ywyc84mzrPsmzniGVbjMQcXNoSXhgfT4frZuoJfuYtAdUBW1JGJ AVQv2Yo5NPh3UbhPNz94AcrYPGik35HOcbgqU16rR3Vsy9HZ0mqfTyuDY/1RGhAYr28WKUQ1iJA FspxBUgOimM5kL+i1IxSwRyCGLLNfmPWx++LqUiS56H9JcejH X-Gm-Gg: ASbGnctM/BeCmiRJ/agdTZ0MkGjcU5AhL0MnkPZNB4Ng2WzZ7HnCBQ86LSb2UXH52oH J7muKW0T5FbV+t/DhqENRlAkGKwLSj6+BFJeA4scv X-Google-Smtp-Source: AGHT+IGkFYQCRhdwbsDtThRce8nv1XSWDuBBbYzra2u7t4XfLvkYXyq6IFNQ3ZpUXuXw+TyITySGJL6/7G3tM+Ba0qo= X-Received: by 2002:a05:690c:3686:b0:6ee:7012:d72 with SMTP id 00721157ae682-6f19e86e06fmr20351447b3.38.1733983324663; Wed, 11 Dec 2024 22:02:04 -0800 (PST) MIME-Version: 1.0 From: Psionic K Date: Thu, 12 Dec 2024 15:01:53 +0900 Message-ID: Subject: Binary Table & Babel Data Passing To: emacs-orgmode@gnu.org Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::1131; envelope-from=exec@positron.solutions; helo=mail-yw1-x1131.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, 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.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-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Queue-Id: D7E66555F1 X-Migadu-Scanner: mx13.migadu.com X-Migadu-Spam-Score: -5.33 X-Spam-Score: -5.33 X-TUID: +3JXx/VPI87W Buffer text is not a good data transfer protocol for moving return values from babel block to block. It is also not a good storage medium for table data. I propose we implement more binary data passing strategies. Elisp memory is it's own source of problems, so what would likely work better is a dynamic module to store values, like a binary cache for data. Don't quote me. I didn't do a three year design analysis on this. Within the org document, such a cache would be implemented by returning truncated results to Elisp for display in an overlay. Table display can be handled much the same way. The user sees some data. Everything runs basically the same and with a similar user experience, but wildly faster. In fact, going the dynamic module route paves the way for displaying tables outside of Emacs display, getting around the limitations that make multi-line cells etc problematic. Such a table viewer could operate its own frames, support tabs etc, and bring Org much, much closer to a traditional spreadsheet application in terms of capability. But first things first, binary data passing between babel blocks and avoiding serialization for languages where the runtime can be convinced to do it should have been done two decades ago on POSIX. Next best time is now, using 2025 tools.