strictyaml icon indicating copy to clipboard operation
strictyaml copied to clipboard

Independent specification

Open matthias-t opened this issue 5 years ago • 7 comments

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.

matthias-t avatar Jan 19 '19 17:01 matthias-t

I've had the exact same thought, yes. I wasn't really sure how to get started with the spec though.

crdoconnor avatar Jan 19 '19 18:01 crdoconnor

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.

crdoconnor avatar Jan 19 '19 18:01 crdoconnor

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?

matthias-t avatar Jan 24 '19 20:01 matthias-t

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.

crdoconnor avatar Jan 26 '19 18:01 crdoconnor

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.

matthias-t avatar Jan 27 '19 17:01 matthias-t

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.

matthias-t avatar Aug 03 '19 19:08 matthias-t

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.

julie777 avatar Mar 05 '22 00:03 julie777