From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tim Visher Subject: Re: org-mode functional programming library Date: Tue, 21 Jan 2020 10:23:10 -0500 Message-ID: References: <87o8uxellj.fsf@yavin4.ch> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000007dbc38059ca7fe97" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:54429) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itvNh-0004Zj-5L for emacs-orgmode@gnu.org; Tue, 21 Jan 2020 10:23:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1itvNd-0000ii-21 for emacs-orgmode@gnu.org; Tue, 21 Jan 2020 10:23:53 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:42442) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1itvNc-0000he-QT for emacs-orgmode@gnu.org; Tue, 21 Jan 2020 10:23:49 -0500 Received: by mail-wr1-x42f.google.com with SMTP id q6so3628395wro.9 for ; Tue, 21 Jan 2020 07:23:48 -0800 (PST) In-Reply-To: <87o8uxellj.fsf@yavin4.ch> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane-mx.org@gnu.org Sender: "Emacs-orgmode" To: "Dwarshuis, Nathan J" Cc: Emacs Org Mode mailing list --0000000000007dbc38059ca7fe97 Content-Type: text/plain; charset="UTF-8" On Mon, Jan 20, 2020 at 6:48 PM Dwarshuis, Nathan J wrote: > I recently authored an package called "om.el" which is a functional > org-mode API akin to dash.el primarily using org-element. Briefly, it > provides a library of (mostly) pure functions that manipulate the parse > tree generated by org-element.el, and uses this to either edit or query the > buffer with all the advantages of functional programming (eg lack of side > effects, referential transparency, easier testing, etc). The github repo > for om.el is here: https://github.com/ndwarshuis/om.el. > > I'm posting to the mailing list a) for general feedback on this package > and b) because I am wondering if this would be a good package to include > with org-mode itself rather than in another repository such as MELPA. The > code for om.el is tightly integrated with org-element.el and it might make > sense for development between these to be closely intertwined. > > There is also an open submission for this to MELPA and the discussion is > here: https://github.com/melpa/melpa/pull/6623. > Oooo this looks cool. I have a simmering project to have an Evernote like system built on top of org mode and a set of directories where I've done a lot of work like this. I'll have to see if I can work this into that and if I can I'll be sure to open up issues/try to contribute patches etc. --0000000000007dbc38059ca7fe97 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Jan 20, 2020 at 6:48 PM Dwarshuis, Na= than J <ndwar@yavin4.ch> wrote= :
I recently aut= hored an package called "om.el" which is a functional org-mode AP= I akin to dash.el primarily using org-element. Briefly, it provides a libra= ry of (mostly) pure functions that manipulate the parse tree generated by o= rg-element.el, and uses this to either edit or query the buffer with all th= e advantages of functional programming (eg lack of side effects, referentia= l transparency, easier testing, etc). The github repo for om.el is here: https://github.com/ndwarshuis/om.el.

I'm posting to the mailing list a) for general feedback on this package= and b) because I am wondering if this would be a good package to include w= ith org-mode itself rather than in another repository such as MELPA. The co= de for om.el is tightly integrated with org-element.el and it might make se= nse for development between these to be closely intertwined.

There is also an open submission for this to MELPA and the discussion is he= re: https://github.com/melpa/melpa/pull/6623.

Oooo this looks cool. I have a simmering project = to have an Evernote like system built on top of org mode and a set of direc= tories where I've done a lot of work like this. I'll have to see if= I can work this into that and if I can I'll be sure to open up issues/= try to contribute patches etc.
--0000000000007dbc38059ca7fe97--