Hacker News new | ask | show | jobs
by FerkiHN 333 days ago
The idea is cool, but in my opinion, the downside of many types of notation is the markup symbols, which are essentially useless, like they complicate the syntax with symbols, although everything worked without them anyway, I wanted them to solve this.
1 comments

Glad to see your comment. Not sure I get you right. I also do not like many data notations and formats floating around. I hope there's one notation that can unify all the data that I'm concerned with. That's why I created Mark.
Sorry for writing in a strange way, in short, your Mark is wonderful, but I don't like the symbols in the markup like "<" before each command, because without them, in fact, you can also make a working markup, maybe they use it for beauty?
As for the '<' and '>' to open and close an element, there are two potential kinds of syntax design. Option 1 is to use some explicit delimiters. Mark 1.0 has settled on '<' and '>'. Mark 0.11 was using '{' and '}', which I felt confusing with map. So I changed to '<' and '>', to make it consistent with HTML/JSX and XML, which most developers are already used to. Option 2 is to use indentation to delimit the enclosed child content, like in Python and YAML.

Option 2 looks cleaner for configuration kind of usage. However, Mark is designed to be embedded in a scripting language, and used beyond just configuration files. Unless the scripting language uses indentation as delimiter, like Python, option 2 will not work.

Personally, I prefer C/Java/JS family of languages that has insignificant whitespace. So Mark is designed to use explicit delimiters '<' and '>' to enclose an element.

Hope that explains one of the most important syntax designs of Mark.