From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id IIN2GJ2+vWLvfwAAbAwnHQ (envelope-from ) for ; Thu, 30 Jun 2022 17:17:49 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id oOZbGJ2+vWLNRAEAauVa8A (envelope-from ) for ; Thu, 30 Jun 2022 17:17:49 +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 04EC517816 for ; Thu, 30 Jun 2022 17:17:49 +0200 (CEST) Received: from localhost ([::1]:60966 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o6vvP-0002Ny-Hx for larch@yhetil.org; Thu, 30 Jun 2022 11:17:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50750) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o6vub-0002Nb-W3 for emacs-orgmode@gnu.org; Thu, 30 Jun 2022 11:16:58 -0400 Received: from mail-oo1-xc31.google.com ([2607:f8b0:4864:20::c31]:45641) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o6vuW-0004se-Bq for emacs-orgmode@gnu.org; Thu, 30 Jun 2022 11:16:57 -0400 Received: by mail-oo1-xc31.google.com with SMTP id w3-20020a4ab6c3000000b0041c1e737283so3813695ooo.12 for ; Thu, 30 Jun 2022 08:16:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=56o2wMMDSEoPKD0+6vP6o72TqCvZ6vSqzLedu7dbZXQ=; b=kazZpIKo7vjdZhr/d9qP3zV0+WxAxCfokwU22npkMrCz6oPESMQFzxeCgwzMlYKHtU F6HAWRJOlf03s9uYk7r2yhY0hgwUU+9FSEK3NZrx0O8p5WvRjQRfCcBwLnekLPVdIOFh OPZ6Tu63J7pU+S759/GpeE8HqkDQ9IwcbJfdnutpOszgvN4waAd+BxGG19LRCEONlipL 7dqsl5XQ9OTwbCZsjP1+gfgG8//tOKHrj9mo53pKBJwiIy+H2b/NhbdQE9dCT77i8SUT E64/cnKtM5oWtItEeh/j1gGkkp+tYzm/YKj6Sp1ksfUk5YR69GNcD/CebEOaEhRgc0pT jlUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=56o2wMMDSEoPKD0+6vP6o72TqCvZ6vSqzLedu7dbZXQ=; b=35scUZumd6Wwi4TqVjjPWsIpQjXfei/YgKFz8SfRLwIQciqCY+pYd6hNIACB3cFngL JcZ+1xBpvN/limY2dN7D0bG3Fzz91PpizlG2ZDuN/ikqGgEdC7LRnVBr9FB5EoN2NZ9q 3DBUFltLwMIGpMJhE+ol5VcCAAYlr6gAbycGTfC0gnw4BBO3gCfig1yusBR5O+KA/y/s dAvg7fz/Rn1zJznlIHt7Yf1BZYIoN5iqmlW9sb/3aX4k2dElVWUA8alWt8E8jbTwCp6r 7P0CGfl37+PIpTjMMvCFA6v/Am+HLc99P1NT1YTW43qTOHp+Om4ZkDNzEQsEvimIYcFN NzIw== X-Gm-Message-State: AJIora9mv4wXO1r2nw8unDWCtIio0K5AduO4vNqAoroRdppICIvSOK/t Je9iznHh/FZMjlE6Ey3W2mRQa2r32E4Hzg== X-Google-Smtp-Source: AGRyM1tKqkkiFHsxVT0s7Axi+EWySRj/MxBBjsjiZPFQyocHVCZVQzHsVd/BNa5tijI2tp7PxhmG4w== X-Received: by 2002:a4a:2a0e:0:b0:425:8739:7a7b with SMTP id k14-20020a4a2a0e000000b0042587397a7bmr4019147oof.81.1656602210921; Thu, 30 Jun 2022 08:16:50 -0700 (PDT) Received: from localhost ([207.126.88.10]) by smtp.gmail.com with ESMTPSA id a28-20020a0568301ddc00b00616b06d520dsm10104864otj.5.2022.06.30.08.16.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jun 2022 08:16:50 -0700 (PDT) From: Ihor Radchenko To: Juan Manuel =?utf-8?Q?Mac=C3=ADas?= Cc: orgmode Subject: Re: Convert a Lisp expression to a tree diagram In-Reply-To: <87edz6utcm.fsf@posteo.net> References: <87edz6utcm.fsf@posteo.net> Date: Thu, 30 Jun 2022 23:17:54 +0800 Message-ID: <878rpekwnx.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::c31; envelope-from=yantar92@gmail.com; helo=mail-oo1-xc31.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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_ENVFROM_END_DIGIT=0.25, 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=1656602269; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=56o2wMMDSEoPKD0+6vP6o72TqCvZ6vSqzLedu7dbZXQ=; b=HsdaxJ//kn4M0Ca8TD/rGHzYnhoCyxWwq44TJOsUUlwiiIJaD6nYwrFt7gXFSYS+cnWbEK ExBZEPf7Lka86pEh50XexbKiJKMsaqLqRgMUKLZtwWTgS32Pqs13TFPlcMv8ZtZysOnM69 8huhFlW3m/0F7LecoZ8PuhPHZFfhzHyRwnIhG17AQv4qAGQgiiNPrmqQnX9HIBY5xI2s4K xXSZEdCM7vmjk+y+h7psW6Su7LF3gecS8+XzMkwF+c0Zt/pU64z6SOw2DttnFdZRIzN2RH d/jmW86XBpPskAhrblTtEjWohJOMpz/jszFCNLWUOXB0PLyzb0Bw+SJGAY8gkA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1656602269; a=rsa-sha256; cv=none; b=fcbNMymJRjY9ZxDdCUSvKu1fnnCAQJvFhOEY52avMXnh9QMH1V6KqwIPiQf/Fmppv8PyCi jAu71xjpQtf1ZH3RJMCivnAu9luYXZhEoXN47eSaTzI1VtvlX4Dnr2PHC4OT85LRNcSm64 krUKt8y/ahp4J3Y0kaR1d1z+HeCFD2h47gwlPY8iu61DhC557YImFHK3BkEjNmqoro0Yf6 wgWktd84mR2tR68Ivqb2/s/2ISi60Nws0uFWUuwlvPHdQsHNv27VFK/atn7075kJjaPX9M OK9NAeGKWv9BhQ8Xg/cLn+T4n/czCvaG7pArXZNKcvKNvnmGnfD8kITe6ha4Ig== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=kazZpIKo; 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: -0.95 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=kazZpIKo; 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: 04EC517816 X-Spam-Score: -0.95 X-Migadu-Scanner: scn1.migadu.com X-TUID: b3rrAQPcfIbi Juan Manuel Mac=C3=ADas writes: > Sorry for the slight offtopic. I'd like to be able to graphically > convert (from a src block) a Lisp expression to a tree diagram, similar > to trees used in (human) syntax and grammar, especially generative > grammar (this is a web app for generating such trees: > http://www.ironcreek.net/syntaxtree/). I think I can try some LaTeX hack > using the 'forest' package (here's a related thread with pros and cons: > https://tex.stackexchange.com/questions/140812/drawing-a-lisp-expression-= as-a-tree), > but I was wondering if anyone knows of any more emacs/elisp/org friendly > packages/solutions. Some time ago I saw an Emacs package that could > convert a Elisp expression into an ascii text tree diagram, but I can't > remember its name and I can't find it anywhere... Invoking search across my notes and archives (all stored in Org, of course) yielded the following: https://reddit.com/r/emacs/comments/u2ca5c/drawtreeel/ https://reddit.com/r/emacs/comments/kzeyun/pairtree_a_learning_tool_for_vis= ualizing_elisp/ linking to https://github.com/amno1/draw-cons-tree https://github.com/zainab-ali/pair-tree.el (example: https://teddit.namazso= .eu/pics/w:2172_vetc0martyb61.png) Hope it helps. Best, Ihor ---- actual notes below: ***** CANCELLED /u/zainab-ali [Reddit:emacs] (2021) M-x emacs-reddit: pair-= tree: a learning tool for visualizing Elisp lists :BOOKMARK:misc:CANCELLED: SCHEDULED: <2021-03-28 Sun> :PROPERTIES: :ID: 1443107e70e8b4e1d6d17499e546a8603b98d03e :CREATED: [2021-01-19 Tue 10:09] :Source: [[https://www.reddit.com/r/emacs/comments/kzeyun/pairtree_a_learni= ng_tool_for_visualizing_elisp/]] :ARCHIVE_TIME: 2021-04-02 Fri 16:15 :ARCHIVE_FILE: ~/Org/notes.org :ARCHIVE_OLPATH: Topics/Software/Emacs \ org-mode/No deadline :ARCHIVE_CATEGORY: Emacs[D] :ARCHIVE_TODO: CANCELLED :ARCHIVE_ITAGS: COMMON NOREFILE NODEADLINE SKIP :END: :LOGBOOK: - State "CANCELLED" from "NEXT" [2021-03-28 Sun 23:59] CLOCK: [2021-03-28 Sun 23:57]--[2021-03-28 Sun 23:59] =3D> 0:02 - Refiled on [2021-02-27 Sat 20:47] - Refiled on [2021-01-19 Tue 10:20] :END: :BIBTEX: #+begin_src bibtex @misc{1443107e70e8b4e1d6d17499e546a8603b98d03e, author =3D {/u/zainab-ali}, howpublished =3D {Reddit:emacs}, keywords =3D {emacs}, note =3D {Online; accessed 19 January 2021}, title =3D {M-x emacs-reddit: pair-tree: a learning tool for visualizing Elisp lists}, url =3D {https://www.reddit.com/r/emacs/comments/kzeyun/pairtree_= a_learning_tool_for_visualizing_elisp/}, year =3D 2021, } #+end_src :END: ***** CANCELLED /u/__g_p__ [Reddit:emacs] (2022) draw-tree.el :BOOKMARK:mis= c:CANCELLED: :PROPERTIES: :TITLE: draw-tree.el :BTYPE: misc :ID: Reddit-emacs-/u/__g_p__2022-draw-tree-el-78e :AUTHOR: /u/__g_p__ :CREATED: [2022-04-13 Wed 22:50] :HOWPUBLISHED: Reddit:emacs :KEYWORDS: emacs :NOTE: Online; accessed 13 April 2022 :RSS: https://www.reddit.com/r/emacs/comments/u2ca5c/drawtreeel/.rss :URL: https://www.reddit.com/r/emacs/comments/u2ca5c/drawtreeel/ :YEAR: 2022 :ARCHIVE_TIME: 2022-04-29 Fri 17:33 :ARCHIVE_FILE: ~/Org/notes.org :ARCHIVE_OLPATH: Topics/Software/Emacs \ org-mode/No deadline :ARCHIVE_CATEGORY: Emacs[D] :ARCHIVE_TODO: CANCELLED :ARCHIVE_ITAGS: COMMON NOREFILE NODEADLINE SKIP :END: :LOGBOOK: - State "CANCELLED" from "TODO" [2022-04-28 Thu 22:56] - Refiled on [2022-04-14 Thu 08:00] :END: