Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maybe a section in the readme differentiating with org-ql ? #13

Open
Trevoke opened this issue Aug 6, 2020 · 1 comment
Open

Maybe a section in the readme differentiating with org-ql ? #13

Trevoke opened this issue Aug 6, 2020 · 1 comment

Comments

@Trevoke
Copy link

Trevoke commented Aug 6, 2020

This looks like https://github.com/alphapapa/org-ql, though it looks like org-ml might be more comprehensive?

What are the differences / what's the relationship between the two?

@ndwarshuis
Copy link
Owner

From what I can tell org-ql is geared toward searching org files for headlines/headings that match a certain set of characteristics (and it looks like it is only intended for headline searching and not other objects/elements such as tables or links). It also seems to have a user-interface (ie interactive functions) that provide a front-end for the query functionality, although there doesn't seem to be anything stopping someone from using it as a backend for something bigger.

org-ml is more general in that it can (functionally) manipulate anything in an org file using its abstract syntax tree (AST) representation (basically a giant list) generated by org-element. Basically there are three types of functions: org -> AST (read), AST -> org (write), and AST -> AST' (everything else). The idea is that the first two types are 'impure operations' (they have side effects) and the third are 'pure'. This makes it easy to program in a functional style (eg more like Clojure/Scheme/Haskell/etc) since the read/write operations are totally separate from the things you might wish to do with the data to be read/written.

Given the title of this issue and the content, is the issue that the README isn't clear in explaining how this package should be used or is it specific to org-ql?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants