From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id +DT9G6WQqGGzwwAAgWs5BA (envelope-from ) for ; Thu, 02 Dec 2021 10:23:49 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id gD2FF6WQqGHFIAAAbx9fmQ (envelope-from ) for ; Thu, 02 Dec 2021 09:23:49 +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 E3D68633 for ; Thu, 2 Dec 2021 10:23:48 +0100 (CET) Received: from localhost ([::1]:42902 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1msiJg-0000Lu-1H for larch@yhetil.org; Thu, 02 Dec 2021 04:23:48 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45090) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1msiIi-0000Lg-Et for emacs-orgmode@gnu.org; Thu, 02 Dec 2021 04:22:48 -0500 Received: from [2607:f8b0:4864:20::62e] (port=36552 helo=mail-pl1-x62e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1msiIg-0008Bq-60 for emacs-orgmode@gnu.org; Thu, 02 Dec 2021 04:22:48 -0500 Received: by mail-pl1-x62e.google.com with SMTP id u11so19804934plf.3 for ; Thu, 02 Dec 2021 01:22:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:user-agent:message-id:mime-version; bh=/8W/M/av7ZpibnJt9FNH3k2SOBCickOArVDUXRV63J0=; b=HLrh44KP0yT7V9D4R9AfF/iTfq4wwkHOr3Krr2Dk/btxJoN+aBZdiH+qVGN3d7WZFk 1PRfwBJ2+baYfYSn1aS84EL5eYqdI8Uwut0CX4gPB6+h4IT5I30JqtKBejg+zSwxXmaE 3f4hi9IWvj7aNCtCNaGRxu5WgAkmzJ3V/hnfdMxEl0GodyABdwshjRhnVX4UP3BtEgLU QP5Q/0TGpgzb/BhBOY7HXteMV5LjR0kNHytoxdgKGXYnti8FXQ7XEmgXQ8lLQ0Pm/YzK tUMUtYr2qZhSOwHU/bjqZq3PBmiQAurqdMCUqRDSIfrImfxYNvIC2wsPwdTTXNZabMJm /ehw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:user-agent:message-id :mime-version; bh=/8W/M/av7ZpibnJt9FNH3k2SOBCickOArVDUXRV63J0=; b=waiRlhU7DpglBYGdazhcUlKt2o/V2/PDW7MGyxk4gGGX/WpT7fuQ+Ct1cxVZPVbRDp xRkv7V5Mug7vmX/aPAxQzTSh1pWsmBphZF+148+FxlMoKROVxl8oOFLT+y4wcNqPtQFL 1QicIFM5mpB5qQwCJTOkbiKLn/Nv20veLLsgDy3Zi8YGLilRtSElsCpNrUDDbd+GH2CJ R7W0696BJAZcngYuCJrYVOp6E1mc/ASLukpj7pCsqTDvXSkGZQlM0Y/ojvPPr/hOUgOd w93xDpwrgbqb3eHtchTlPxz2jAe7BFmGXjPoEzJtnPY1rbKZk7GlDHJiu6pA5lsLf/AL ANMA== X-Gm-Message-State: AOAM531biwil7rMuyVQ0BqHkY5ZdGNyFMgT5xjpUnO63mUYiI0YEBpM7 X32/IuewKDWPtBPtMvf4+2ZQctjpCHc= X-Google-Smtp-Source: ABdhPJxP9w40lWfaz4gqHRs4nLqe+UJvt82c1LlyleGeZYkrGsOp0f+6Xhc3u6/uUPEd8+8SWiu68w== X-Received: by 2002:a17:902:d2c7:b0:142:f06:e5fa with SMTP id n7-20020a170902d2c700b001420f06e5famr14100729plc.87.1638436964228; Thu, 02 Dec 2021 01:22:44 -0800 (PST) Received: from localhost (61-245-128-160.3df580.per.nbn.aussiebb.net. [61.245.128.160]) by smtp.gmail.com with ESMTPSA id mq14sm2099787pjb.54.2021.12.02.01.22.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Dec 2021 01:22:43 -0800 (PST) From: Timothy To: emacs-orgmode@gnu.org Subject: [ANN] An Org parser for Julia Date: Thu, 02 Dec 2021 17:06:27 +0800 User-agent: mu4e 1.6.9; emacs 28.0.50 Message-ID: <87o85zpdi8.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::62e (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=tecosaur@gmail.com; helo=mail-pl1-x62e.google.com X-Spam_score_int: -2 X-Spam_score: -0.3 X-Spam_bar: / X-Spam_report: (-0.3 / 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, HTML_MESSAGE=0.001, MANY_SPAN_IN_TEXT=1, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, 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.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-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1638437029; 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=/8W/M/av7ZpibnJt9FNH3k2SOBCickOArVDUXRV63J0=; b=iYpMVuQigc8fzz0gfYUcTLKtXrjXmzM5HLooWl6gxhWmd3WCWeiVNKEf4bqSwOfSpQ1VtB LPFqc9lVTcyJ/ASy5KIm06+yDcMjPb/8R+H9NgoJ8i8imQ0OFVIA/wwKRyjcCY4Ph9I3r0 SF49fA1E30YNzAgmHWB15yrRbZRBIjtC9p0bCPtD5CW0Fhu3IgjyOJZ8Enwhee8uuGAzUs zFUcb92BNfjs/5TqdtbrDj6EX5fns+PrLMDBUm3g2LYXE2DOWpeShWvUNkZQDL0Vtr2SYl yr2mYWEUpw7ms2GhJxSKrGzLcV2mRPD6Y8XFlwr2wvBPGTPWMicY30SZRhGLRg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1638437029; a=rsa-sha256; cv=none; b=Xf9iU0MK9Rw5Y+PFaBQCJ3CZaesPgr1SnFmDSli2Nu9Hukw3TYAuNdhZXcD2vy4y4bhW3y 0DzQyMppI4OpA2CDIJuiEXu2cp1lUhSLGTN9ZGM4kGPYfJ8Hh6VPV267hfdjaNGF6HUxmC VXL4brvRsFS58misyZcAPaqBfK9eJVrVSQktjhikelP0UXZTLVLK3V/Ztboxex+qIl82I5 84bDdKTig4GayuIiIk/gr4CgajohwIwfKcKMgVgHGYRm4pHUQfClXj/aFXFheneMbbk5X3 yCa/b6zDz1FBPQvMool2ghccmETPt+pugCwBIwm3mshUerwABJSN5pm+xcfRZQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=HLrh44KP; 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: -4.12 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=HLrh44KP; 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: E3D68633 X-Spam-Score: -4.12 X-Migadu-Scanner: scn0.migadu.com X-TUID: 8Cih8Z/hbn4o --=-=-= Content-Type: multipart/alternative; boundary="==-=-=" --==-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Everyone, I=E2=80=99ve gone heavily into Julia over the past year, and I recently thought it would be nice if an Org parser existed for it =E2=80=94 so I mad= e one! It=E2=80=99s just over a week since I started, so it=E2=80=99s fairly young= , but I=E2=80=99m pretty happy with the way it=E2=80=99s shaping up =F0=9F=99=82. To give you an ide= a, here=E2=80=99s some example usage from the readme: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 text1 =3D org"Some *Org* markup, written with easy using the ~org= \"\"~ macro." =E2=94=82 parsetree(text1) # show the generated parse tree =E2=94=82=20 =E2=94=82 text2 =3D parse(Org, "Some *Org* markup, written with easy using = the ~parse~ function.") =E2=94=82 diff(text1, text2) # show the components of the parse trees that= differ =E2=94=82=20 =E2=94=82 dochead =3D @doc OrgMode.Heading # the documentation for the Hea= ding component (::Org) =E2=94=82 org(dochead) # generate Org text that produces the OrgMode.Headi= ng object =E2=94=82 string(dochead) # as above, but produces a String =E2=94=82=20 =E2=94=82 parse(Org, string(dochead)) =3D=3D dochead # round-trip equality =E2=94=82=20 =E2=94=82 filtermap(dochead, [OrgMode.SourceBlock], s -> s.lang) # get the= lang of each source block =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 There=E2=80=99s also a bit of an ulterior motive here, I=E2=80=99ve been ra= ther interested in the Org syntax and how easy it is to write tools for it outside of Emacs, a= nd I=E2=80=99ve been thinking that writing a parser would be a great way to fi= nd out and allow me to make some more informed comments on , hopefully pushing it just a= bit closer to having =E2=80=9C(draft)=E2=80=9D lopped off the title =F0=9F=98= =9B. You can expect to see another email from me with some comments the Org Synt= ax document shortly. All the best, Timothy --==-=-= Content-Type: multipart/related; boundary="===-=-=" --===-=-= Content-Type: text/html; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable =

Hi Everyone,

I=E2=80=99ve gone heavily into Julia over the past year, and I recently thought it would be nice if an Org parser existed for it =E2=80=94 so I mad= e one!

=3D"org-mode-wordart-small.png"/https://github.com/tecosaur/OrgMode.jl

It=E2=80=99s just over a week since I started, so it=E2=80=99s fairly young= , but I=E2=80=99m pretty happy with the way it=E2=80=99s shaping up =F0=9F=99=82. To give you an ide= a, here=E2=80=99s some example usage from the readme:

text1 =3D org&quo=
t;Some *Org* markup, written with easy using the ~org\"\"~ macro.=
"
parsetree(text1)  # show the generated parse tree

text2 =3D parse(Org, "Some *Org* markup, written with easy using the ~pars=
e~ function.")
diff(text1, text2)  # show the components of the parse trees that differ

dochead =3D @doc =
OrgMode.Heading  # the documentation for the Heading component (::Org)
org(dochead)  # generate Org text that produces the OrgMode.Heading object
string(dochead)  # as above, but produces a String

parse(Org, string(dochead)) =3D=3D dochead  # round-trip equality

filtermap(dochead, [OrgMode.SourceBlock]=
, s -> s.lang)  # get the lang of each source block

There=E2=80=99s also a bit of an ulterior motive here, I=E2=80=99ve been ra= ther interested in the Org syntax and how easy it is to write tools for it outside of Emacs, a= nd I=E2=80=99ve been thinking that writing a parser would be a great way to fi= nd out and allow me to make some more informed comments on https://orgmode.org/worg/dev/org-syntax.html, hopefully pushing = it just a bit closer to having =E2=80=9C(draft)=E2=80=9D lopped off the title =F0=9F=98= =9B.

You can expect to see another email from me with some comments the Org Synt= ax document shortly.

All the best,
Timothy

--===-=-= Content-Type: image/png Content-ID: Content-Disposition: attachment; filename=org-mode-wordart-small.png Content-Transfer-Encoding: base64 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 NPNQQQAAAABJRU5ErkJggg== --===-=-=-- --==-=-=-- --=-=-=--