-
Notifications
You must be signed in to change notification settings - Fork 292
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
Document a bit more of the metamodel. #1846
Conversation
=head1 Methods | ||
|
||
=head2 method delegate_methods_to | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a fan of listing methods without actually documenting them. Then people find them in the search, click on it... and learn absolutely nothing. Better to let them know right in the search that there is no documentation for it yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense (this is one of the roles that I was referring to in the description re: "stubbed").
We could change this to a one liner (as I have in ModuleHOW
) to say something like: "Metamodel::MethodDelegation
declares delegate_methods_to
, delegating_methods_to
and find_method
(currently undocumented)."
At least that way there's some discoverability?
This appears to document things that aren't part of Perl 6 language:
What's implemented in Rakudo is largely irrelevant; it's merely an implementation. The language is defined by the specification and at least three methods being documented here aren't even mentioned in it. |
@zoffixznet is [Edit: oh, I see you have an example from Suggestions on what to include then? It's rather difficult documenting the meta model in a partial way. |
Grep the spec and see if there are any tests specifying the behaviour of the feature. The stuff that's specced can be documented. The rest needs a design decision and spec tests to cover the feature. |
There's very little here that meets those criteria. Versioning seems to be specced for I'm not sure how worthwhile it is to document the meta model in such a sparse and incomplete way, though; should this just be dropped? |
We could leave the PR open until the stuff is specced. You could open an Issue in roast, mentioning what methods aren't specced. Then people who are familiar with the design of the meta model can say which methods are meant to be part of the spec and which are just Rakudo's implementation detail. From then, it should be fairly easy to write the spec tests for the stuff that needs to be specced and then the PR documenting that stuff can go in. |
SGTM. I'll draft something this afternoon. Thanks @zoffixznet. |
FYI, this PR fails two tests: xt/examples-compilation.t - doc/Type/Metamodel/Versioning.pod6 -- looks like declaring a variable might solve this issue. |
Add brief pages on Metamodel::ModuleHOW and Metamodel::PackageHOW and document their roles. A couple of the roles included here are stubbed; they're included so that the newly added pages are properly cross referenced but would benefit from expansion, further examples.
Rename $checkee to $other; declare set_ver properly; declare new words.
Shippable is failing... A lot. For the time being, just pay no attention to
it.
|
It would be interesting to take a look at this now. Some of the stuff might be already specced, and anyway you have to update your copy due to the conflicts with xt/words.pws... |
As with the rest of the NOTSPECCED documents and methods, I think it's better if it's very clear that they are part of the implementation, and documented as such. Would you please update these pages to include that? |
Add brief pages on
Metamodel::ModuleHOW
andMetamodel::PackageHOW
and document their roles.A couple of the roles included here are stubbed; they're included so that the newly added pages are properly cross referenced but would benefit from expansion, further examples.
RfC: @moritz, @niner, @ugexe.