From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id YEk1Db8ZfmBZYgEAgWs5BA (envelope-from ) for ; Tue, 20 Apr 2021 02:01:03 +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 YHwMCL8ZfmCbQwAA1q6Kng (envelope-from ) for ; Tue, 20 Apr 2021 00:01:03 +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 96B5A1266E for ; Tue, 20 Apr 2021 02:01:02 +0200 (CEST) Received: from localhost ([::1]:55526 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lYdp6-0007QK-Ow for larch@yhetil.org; Mon, 19 Apr 2021 20:01:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48618) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lYdoa-0007Pz-GL for emacs-orgmode@gnu.org; Mon, 19 Apr 2021 20:00:28 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]:42731) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lYdoX-0007zf-2j for emacs-orgmode@gnu.org; Mon, 19 Apr 2021 20:00:28 -0400 Received: by mail-pl1-x629.google.com with SMTP id v13so5071232ple.9 for ; Mon, 19 Apr 2021 17:00:24 -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=YDlFqMxvG3sBx4oN/8U/hfeV5aDI5rc2/GS3dvLTbxo=; b=uMUA1AB7OmpFPBlSGlXbSs2Nvax3gqqpK2gwIHT99Bi5ybVYnfR9bMFfYxwXLJUsix VJd0vSTSWFN0nexCZU++vriZDq44BCSI0q8HVpDFCrwB2X7DfIQlh+zajMKvvybXx3PH Bmad+601YVeh2zegqo+kDgBBC5JzxgOMOh3SssaQ2ASFt8t5c2wTJ3imo0rSujChmg18 sVJokMcjbyBcL/ByulWt//0s77ODe0V7uEsYgneUqnbvZ6ZjMhI+bABws1NJc6lGxdTU ZLTx0aDi5oTdT27u86Wt9yXNXQyeLk55JXqGpnAVi75khfkbJAPmhaZL4ThkcI96BUHK H5Sg== 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=YDlFqMxvG3sBx4oN/8U/hfeV5aDI5rc2/GS3dvLTbxo=; b=MVFmrpaVNY1QoMJU+xf/AuPl54YQjlLBXOBeMPu3/Xc1COMMBeKTfdizFJZqmbO4Ll SafnFxWV9MOe1VH+goLXOuK3a8gJxH0WBpyy9kfLdmOqdZIaQZcPi+8HQEtXWXSk5oCc Z2xS1DurkXIJKfRhLsYwidb7MQkTWJ+QTRq97V9IPmRr9YuZTOTyYeZMHowE4nnTGqgp KO2Minc5VB3ChHbh4Y4NaiTUnB1DthfjfgmqlmKneRtH0Uyr5HQ24ABURZkAaDGuaA8V EU3MhBQl108bOSc2uomG/NGnBP0pEHDj42r+rgJIfQWW/Sq8R+c+E1n7ZVe9agCZitLy w65g== X-Gm-Message-State: AOAM532jketCMRgYnPrLj8Z3bBvvwPbFJhKF9t9Zkfo3GxAS+QeLO6G7 6iXqIMat3/ok9Sif7I9gF0Z61LMffvA= X-Google-Smtp-Source: ABdhPJwxjcfjqScY5wToUbwIEfRaYes0KAX1kSrWcRtnPR+q5QQwdbodO1r9NCAHzGqCwu/gOVGF6g== X-Received: by 2002:a17:902:b785:b029:eb:7a1b:5016 with SMTP id e5-20020a170902b785b02900eb7a1b5016mr24745852pls.51.1618876822541; Mon, 19 Apr 2021 17:00:22 -0700 (PDT) Received: from tim-desktop (106-69-146-43.dyn.iinet.net.au. [106.69.146.43]) by smtp.gmail.com with ESMTPSA id lb2sm466668pjb.53.2021.04.19.17.00.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Apr 2021 17:00:22 -0700 (PDT) References: <87pmyuyssi.fsf@gmail.com> <87y2dg4hik.fsf@tsdye.online> <87fszo47tx.fsf@gmail.com> User-agent: mu4e 1.5.11; emacs 28.0.50 From: Tim Cross To: David Masterson Subject: Re: Concerns about community contributor support Date: Tue, 20 Apr 2021 09:46:25 +1000 In-reply-to: Message-ID: <87czup6d0u.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 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=1618876862; 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=YDlFqMxvG3sBx4oN/8U/hfeV5aDI5rc2/GS3dvLTbxo=; b=sbLCv2nGxOWZycMdMcAgKK6gt64t5eafEOs3vJ5Hg5u1/gtLWNcpSkQze0wjdLAG8DfjlU hWiSEMgIyuI4bYR0rw6rmmUiF8OP8n7GYvhLtpbh0ctd63UolTEDTbl3Jr04ZFg5z8xADp eAXN1d9jVkrnIWKbTM+uALTITTWMp2a5kcuOncw+k65CUUNxqa7JoAJrs7LsqS65E8OXdY 2CIcx128Excebe7hu3slG83TaR4115MKmujymsj2cg4BWrC8SE6xugGq1lGVAxhDKhRcTE 0SqIW4ud0ImptSVHuBweuggHdaZvoqE6mXzx6mGk4lQpaTcwZZBhH/EdPr2qUQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1618876862; a=rsa-sha256; cv=none; b=o4n8dYY9jyx34lhnShKbK5DaNK/33Ss/YgM4FFsLP9fq2MS3eWcRDOJQh52ultuewG3W6D Px8+aYOVxNVNVbmIJXnv2S9b2AIaFfO5HXBhXgp9aYFwAtF5s+rKr+AuecvxlxMOy9KD+8 PdCBgV8nG7y7PNurk2mWP2D9BkHeTPWdzZWoIvysh3B51lZIqkZPuQjAN3QQiGchQ/GLy/ tTaXNGMrAKBWfTzLhrBeUw/AawrzYfWtSjjzCCK+0vzdq5vTdFSqnxQNF6V4S8TcG3cixX jyQHtotrJiMK/Jue8aR+cB8SsqGbtslrKf3V+m1BDVG/A1aAFBUCPGtzA4HTkg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=uMUA1AB7; 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.14 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=uMUA1AB7; 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: 96B5A1266E X-Spam-Score: -3.14 X-Migadu-Scanner: scn0.migadu.com X-TUID: BZ20UAgdOw/Z David Masterson writes: > Tim Cross writes: > >> I suspect the best model for moving forward is for new features and >> enhancements to be initially implemented as add on contribution packages >> rather than as extensions/enhancement to the core 'org-mode' package. >> Such packages, if found to be popular or useful to a large number of >> org-mode users could then be considered for inclusion as part of the >> main org-mode package. The nature of elisp makes this type of model very >> suitable as you can modify almost any aspect of org-mode via add on >> packages in a consistent and stable manner and avoid impacting the core >> functionality until the extension/enhancement has matured >> sufficiently. > > What is the current status of having a BNF (or...?) parser for Org > files? In particular, the parser rules that could then be adopted by > tools that use Org files on other systems (iPhone, Android, ...)? Given > the availability of parser generators (bison...), this would be good for > breaking into smartphones where Emacs doesn't run. While not BNF, Tom Gillespie has been working on documentation of the org grammar as part of a broader objective to make it easier for other external tools to parse org files. Below is a message he recently posted to the list. Note that I think this is a slightly different topic to the development/maintenance of org-mode. The external packages I was referring to are still Elisp based packages. Non-Elisp tools which can parse and possibly edit org files would be a good thing for accessing org files on other devices and outside of Emacs. However, such tools will always be more limited because of the complexity of adding things like multiple export formats, babel tangling of src blocks etc (most of which was really only viable in Emacs because Emacs already had support for much of that functionality - a subtle point of org mode often overlooked is that what it primarily did was take existing Emacs functionality and 'wrapped' it in a UI layer to provide a more consistent and 'directed' interface to existing Emacs functionality). > From Tom Gillespie > Dear all, > Here is a draft of a formal grammar for Org mode [1]. It is still > in a rough state, despite quite a bit of work. However, following some > changes to improve performance for parsing real (big) Org files, I > think it is time to share it with the community so that we can start > to gather feedback. There are a number of opportunities that I have > found for simplifying the org grammar (sometimes by extending it to > make it more regular, and in the process adding useful features) that > are much easier to understand with this grammar in hand as a > reference. The grammar itself is implemented using Racket's #lang brag > (see [2] for an overview of brag's syntax). I had considered trying to > break it up into literate sections in an Org file, but for now decided > to leave it as a single file to simplify the development workflow. As > a result the full implementation is fairly long [3]. Comments and > feedback would be greatly appreciated. Best! > Tom > 1. https://github.com/tgbugs/laundry > 2. https://docs.racket-lang.org/brag/#%28part._.The_language%29 > 3. https://github.com/tgbugs/laundry/blob/master/org-mode/parser.rkt -- Tim Cross