Open matthias-t opened 5 years ago
I've had the exact same thought, yes. I wasn't really sure how to get started with the spec though.
In any case I'd like to help any way I can with this. I'd love to see the rust community starting to use strictyaml.
I've studied the yaml spec and https://hitchdev.com/strictyaml/ and started working on a draft over on sr.ht. It's not much at all yet (I hope i can work on it a bit this weekend). Contributions are welcome. Are you fine with sending patches to my public inbox or should I setup a mirror on github? (or do you want to create an org? or include it in this repo?) Also, is CC0
a good license for a specification?
This looks good so far.
I don't mind where this goes (it can always be moved later), but it would be nice for it to be a repo.
CC0 seems good, yes.
it would be nice for it to be a repo
Technically, it already is a repo, just not on github (sr.ht doesn't use pull-requests but the more traditional mailing list and patches workflow). That said, I have set up a second repo here.
About the license, I'm just worried that some things may resemble the YAML spec, which explicitly states:
This document may be freely copied, provided it is not modified.
The obstacle I'm facing is that existing formal grammars lack:
So, it might be necessary to define a formal grammar, e.g. using leanprover/lean.
it would be nice for it to be a repo
Technically, it already is a repo, just not on github (sr.ht doesn't use pull-requests but the more traditional mailing list and patches workflow). That said, I have set up a second repo here.
About the license, I'm just worried that some things may resemble the YAML spec, which explicitly states:
This document may be freely copied, provided it is not modified.
I don't think including parts of it in another document that doesn't describe itself as the yaml spec would count as modified. I guess it would really depend on the intent of the document.
I wonder if it would make sense to write a complete specification for StrictYAML that does not depend on the YAML specification (as in, you can write a compliant parser without reading that one first), to help it spread to other programming language ecosystems.
There has been discussion in the rust subreddit as to wether YAML's enormous and ambiguous specification or TOML's alien syntax was preferable. Rust's popular (de)serialization framework
serde
uses structs to define a schema, so StrictYAML would be a great fit.