Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

extension semantics and processing #16

Open
dret opened this issue Jan 2, 2018 · 2 comments
Open

extension semantics and processing #16

dret opened this issue Jan 2, 2018 · 2 comments

Comments

@dret
Copy link
Contributor

dret commented Jan 2, 2018

it seems that apart from the h vocabulary, all others are supposed to be optional, and will be defined by extensions. that's good, but in order to make processing hyper safe, it must be clear how to process any hyper instance.
one way to go would be to support robust extensibility (http://dret.typepad.com/dretblog/2016/04/robust-extensibility.html), so that extensions are always safe to ignore. but if that's the goal, then hyper must require extensions to only have localized semantics: no extension can change the semantics of something outside their own scope, meaning that clients can ignore or process extensions, and will always be on the safe side.

@inadarei
Copy link
Owner

but if that's the goal, then hyper must require extensions to only have localized semantics: no extension can change the semantics of something outside their own scope, meaning that clients can ignore or process extensions, and will always be on the safe side.

Definitely the intention. And great point calling it out. Will think how to add corresponding text to the spec, but if you have a suggestion in a form of PR - that would be great.

Thank you!

@dret
Copy link
Contributor Author

dret commented Feb 14, 2018

i could give it a shot iff the processing model becomes more clear. this relates to #13, which to me is still not clearly specifying how i can take any JSON, and then safely parse it into "definitely not hyper", "definitely hyper (core vocab, needs to satisfy all core vocab constraints)", and "potentially hyper (extension vocab, needs to satisfy whatever constraints the extension defines)". well-defined extensibility needs these two parts, but i think we first need to understand the basic parsing rules before we can have a more detailed look into the constraints that then are applied.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants