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

Various updates to methods / installPackage / package / etc. #3382

Merged
merged 21 commits into from
Aug 5, 2024

Conversation

mahrud
Copy link
Member

@mahrud mahrud commented Jul 27, 2024

  • set warnings to be always printed
  • added mutable symbols to items in package docs
  • added briefDocumentation for method keys
  • added routine that checks everything is documented
  • overhauled warning and errors in installPackage
  • fixed an issue in (package, Symbol), (package, Sequence)
  • changed default errorDepth in CMake targets
  • fixed methods to not show unexported methods
  • simplified importFrom and added warning
  • deleted unused key in Package
  • added missing documentation for MonomialIdeal:RingElement
  • moved and fixed (sort, List, Function)
  • moved (jacobian, RingElement) to Core
  • added helpers subclasses, descendants, allobjects
  • downgraded a fatal error to an error signal
  • undocumented all methods of Expressions
  • added error when an unexported type is documented
  • exported missing Bertini symbol
  • exported missing VectorGraphics symbol

@mahrud
Copy link
Member Author

mahrud commented Jul 27, 2024

@pzinn are the changes related to documentation of expressions here acceptable to you?

@mahrud mahrud requested a review from d-torrance July 27, 2024 20:57
@pzinn
Copy link
Contributor

pzinn commented Jul 28, 2024

As far as I understand you've only "undocumented" things that were not documented anyway. so I can't imagine why anyone would object to that.

@mahrud
Copy link
Member Author

mahrud commented Jul 28, 2024

As far as I understand you've only "undocumented" things that were not documented anyway. so I can't imagine why anyone would object to that.

Not quite, there are two differences:

  1. There are <160 nodes like - Expression which are currently just pointing to the documentation for Expression, this PR removes those from the index.
  2. Even a missing documentation will appear under "Methods that use an expression" on the documentation for Expression. Marking them as undocumented removes this.

@pzinn
Copy link
Contributor

pzinn commented Jul 28, 2024

2. Even a missing documentation will appear under "Methods that use an expression" on the documentation for Expression. Marking them as undocumented removes this.

I see. That's a bit radical. Maybe we do want to keep some of these methods listed? is there any way to do that w/o actually documenting them?

@mahrud
Copy link
Member Author

mahrud commented Jul 28, 2024

Exactly, this is why I've been trying to ask you which things are important and should appear in the documentation! Adding them as secondary keys is the only other way I can think of (e.g. with this pr, value(Expression) still appears under Expression because it's a secondary of that node while assert(Expression) appears under Expression and links to assert because it's a secondary of assert:

image

Key
assert
(assert, Thing)
(assert, Expression)

Key => { Expression, (value, Expression) },

I think this way undocumenting by default, except for nodes intentionally added as secondaries is probably easier to maintain.

ps: note that all the other methods still appear under methods Expression, they're just not listed online.

@mahrud
Copy link
Member Author

mahrud commented Aug 5, 2024

Can this be merged? #3388 is on top of this.

@d-torrance d-torrance merged commit 1d8fab1 into Macaulay2:development Aug 5, 2024
6 checks passed
@mahrud mahrud deleted the quickfix/docs branch August 11, 2024 23:28

-- this should list (net/info, HypertextContainer),
-- even though HypertextContainer is not exported.
assert(2 == length methods parent class help())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was there a reason to call help() here and not just use parent DIV? Or if we're trying to avoid importing DIV, code would work since it also returns a DIV object.

Calling help() can take a fair amount of memory (I seem to remember an issue about this but I can't find it...) and one of the PPA builds just crashed here.

Copy link
Member Author

@mahrud mahrud Aug 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh sure, we can replace this with code of something. The important point is that we want to make sure methods still finds things for DIV even though it is not exported, because users can still access these methods, so they should be listed.

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

Successfully merging this pull request may close these issues.

strange error message when installing older package
3 participants