A new notation by itself won't be useful.
It's the tool stack, the eco system around it that matters.
That's why I'm building beyond that the format itself.
I'm building the schema, the validator, the scripting and query language around it.
Glad you like it.
I have bigger plan for what's currently released.
My next goal is to unify the schema of all those data formats, like JSON, XML, HTML, etc.
And make the new Mark Schema able to validate all those data formats.
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.
"When the way of code is abandoned,
doctrines of ‘best practices’
and ‘standards’ appear.
When intuition is dismissed,
cleverness and pretense follow.
When harmony is unnoticed,
rules and processes multiply.
When software fails,
zealous testers arise."
> Torvalds, as it turns out, was right: it was primarily the tools, ecosystems, integrations, and frameworks that would define the near future, not the design of the languages themselves.
JavaScript, as a case in point. It's a terrible language.
A lightweight 2D graphics library for rendering texts, geometries, and images with high-performance APIs that work across various platforms. Its main objective is to offer a compelling alternative to the Skia graphics library while maintaining a much smaller binary size.