From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dwarshuis\, Nathan J" Subject: org-mode functional programming library Date: Mon, 20 Jan 2020 18:47:52 -0500 Message-ID: <87o8uxellj.fsf@yavin4.ch> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:35336) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itgm5-0007S7-Bi for emacs-orgmode@gnu.org; Mon, 20 Jan 2020 18:48:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1itgm4-0005qV-Ao for emacs-orgmode@gnu.org; Mon, 20 Jan 2020 18:48:05 -0500 Received: from peart4prez.yavin4.ch ([81.4.103.105]:52208) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1itgm4-0005oh-1l for emacs-orgmode@gnu.org; Mon, 20 Jan 2020 18:48:04 -0500 Received: from petrucci4prez (lawn-128-61-0-245.lawn.gatech.edu [128.61.0.245]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: ndwar@yavin4.ch) by peart4prez.yavin4.ch (Postfix) with ESMTPSA id CF4A520089 for ; Mon, 20 Jan 2020 18:47:52 -0500 (EST) 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: Emacs Org Mode mailing list Hello, 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. Thank you, Nathan Dwarshuis