Live data from Hacker News

Org-mode parser in Rust

github.com

51–60 of 85 posts

Re: Org-mode parser in Rust

#51

What sense does it make to have org mode outside of emacs? I think the entire power of the system would be that it explicitly lives within emacs. From the repo: > Org is probably the best and most complete plain text organizational system known to mankind. It has countless applications like authoring, publishing, task and time tracking, journal, blog, agenda, wiki etc... Yes, absolutely. > Unfortunately Org was origi…

> I just think there is some mental disconnect with how org mode is represented and discussed on hn, and those discussions almost all seem to miss the majority of org mode abilities that absolutely depend on living in the style of environment that emacs provides.

Honestly, part of it may be just baiting people :). The plaintext markup parts of Org Mode format are really just a Markdown equivalent; the true value comes from the features provided by Org Mode the application itself, and most of these are what they are precisely because of Emacs environment.

These days, with new Emacs users the story usually is "Come for Org Mode and/or Magit, stay for life"; personally, I love to encourage people to take that first step :).

Re: Org-mode parser in Rust

#52
I often see things about org-mode showing up on here, and I get the basic idea but I'd like to see a more in depth explanation of why it's so great.

Anyone have a recommendation for an article or video or something on the subject?

Re: Org-mode parser in Rust

#54
post #28

Earlier quoted context omitted.

https://www.gnu.org/licenses/gpl-faq.en.html#TranslateCode It is not according to their FAQ.

Thank you, good find: > If the original program is licensed under certain versions of the GNU GPL, the translated program must be covered by the same versions of the GNU GPL.

Otherwise you could port it it from A to B and back to A.

Re: Org-mode parser in Rust

#55

What sense does it make to have org mode outside of emacs? I think the entire power of the system would be that it explicitly lives within emacs. From the repo: > Org is probably the best and most complete plain text organizational system known to mankind. It has countless applications like authoring, publishing, task and time tracking, journal, blog, agenda, wiki etc... Yes, absolutely. > Unfortunately Org was origi…

> I just think there is some mental disconnect with how org mode is represented and discussed on hn, and those discussions almost all seem to miss the majority of org mode abilities that absolutely depend on living in the style of environment that emacs provides. Honestly, part of it may be just baiting people :). The plaintext markup parts of Org Mode format are really just a Markdown equivalent; the true value come…

Ha, you're probably right. Frustrating, but makes sense. Thanks for taking that on.

Re: Org-mode parser in Rust

#56
post #40
post #17

Genuinly curious: > Why reinventing the wheel when we can just copy it! This project takes the only surefire way to get it right - use the original elisp parser implementation as a blueprint! Emacs Lisp code is under GPLv3 license, is it OK to rewrite it in another language (using original code as blueprint) and publish it under MIT?

IANAL - But I think it depends on how much it is a "translation", and how much it is a reimplementation of an identical algorithm. As I understand it copyright doesn't apply to the algorithm. It does apply to things like code organization, variable naming, and comments.

> Original elisp algorithm. While using the original elisp source as a guideline might result in less idiomatic Rust code...

Seems to be a pretty direct translation (without reading the sources of both).

Now, if they took the original source and used it to implement a grammar then based the rust code off said grammar they might have a case -- which, I believe, is what a "clean room" implementation would do, preferably with two different people doing either task.

IMHO this is a clear copyright violation else you could just "reimplement" your way out of any license.

Re: Org-mode parser in Rust

#57
post #23

Earlier quoted context omitted.

Of course. That is a derivative work.

And if I compile some GNU code (for example written in C) to javascript with a compiler, then change some details here and there can I change the licence to MIT? How derivative is defined? Manual compilation is ok, but automatic is not? But what if I beleive that humans are just fancy machines? ;)

Interestingly enough, programs which generate output always seem to have a "special exception" in their license which disclaims any and all copyrights to the output of the program.

https://www.gnu.org/software/bison/manual/html_node/Conditio...

Re: Org-mode parser in Rust

#58

Earlier quoted context omitted.

The four differences between .org and CommonMark I could spot right now is that the latter lacks metadata[0], macros[1], syntax for specifying language for inline code blocks[2], and for tables[3]. It's hard to separate .org the markup language from org-mode the application, because quite a lot of its syntax is driven by application features. TODO markers, time stamps, schedule/deadline markers, property drawers, log…

Going off of table support: - org mode is at least as powerful as excel thanks to gnu cal or straight up lisp - org mode tables are nuts in the sense that you can refer to cells from your text (paragraphs, titles etc). Its neat because it means that when writting a report, you can refer to results of computations in tables - meaning that you can then change constants in the table and numbers will update in you docume…

The biggest issue I’ve had with org tables is that, in certain situations, you just can’t have particular characters in an org table and have the advanced features work.

Re: Org-mode parser in Rust

#59
post #17

Genuinly curious: > Why reinventing the wheel when we can just copy it! This project takes the only surefire way to get it right - use the original elisp parser implementation as a blueprint! Emacs Lisp code is under GPLv3 license, is it OK to rewrite it in another language (using original code as blueprint) and publish it under MIT?

https://www.gnu.org/licenses/gpl-faq.en.html#TranslateCode It is not according to their FAQ.

> Under copyright law, translation of a work is considered a kind of modification.

Wow. I'm really curious about what legally counts as a translation. It's an interesting mathematical problem.

Re: Org-mode parser in Rust

#60
post #40

Earlier quoted context omitted.

IANAL - But I think it depends on how much it is a "translation", and how much it is a reimplementation of an identical algorithm. As I understand it copyright doesn't apply to the algorithm. It does apply to things like code organization, variable naming, and comments.

> Original elisp algorithm. While using the original elisp source as a guideline might result in less idiomatic Rust code... Seems to be a pretty direct translation (without reading the sources of both). Now, if they took the original source and used it to implement a grammar then based the rust code off said grammar they might have a case -- which, I believe, is what a "clean room" implementation would do, preferabl…

AIUI clean room implementation isn't required, just good practice to avoid

- Accidentally copying copyrighted material (past what fair use allows)

- Expensive lawsuits where you have to actually argue that "no we didn't copy copyrighted elements"

We're talking about two open source projects here, the latter anyways doesn't really matter.

Post reply on HN