Opened 3 years ago
Closed 3 years ago
#28565 closed enhancement (fixed)
improve introspection of Macaulay2 interface
Reported by:  ghmwageringel  Owned by:  

Priority:  major  Milestone:  sage9.0 
Component:  interfaces: optional  Keywords:  macaulay2, IMA Coding Sprint 
Cc:  saliola, dimpase, ghantonleykin  Merged in:  
Authors:  Markus Wageringel  Reviewers:  Franco Saliola 
Report Upstream:  N/A  Work issues:  
Branch:  4ae76ef (Commits, GitHub, GitLab)  Commit:  4ae76efe3f1fea4eab29214059e42277f5100eb3 
Dependencies:  Stopgaps: 
Description
This ticket improves the introspection for the Macaulay2 interface:
help
is now called with a Macaulay2 string instead of a symbol, as this works in more generality, for example for global variables:sage: macaulay2.errorDepth?
 The class
Macaulay2FunctionElement
of functions with applied first argument is implemented. This allows to make the help and source code more specific by taking into account the first argument. For example the following only shows the relevant output forIdeal
, but not forMatrix
orModule
.sage: I = macaulay2('ideal 4') sage: I.resolution? sage: I.resolution??
The
__getattr__
ofMacaulay2
is removed as it is not needed anymore since_function_class
is implemented.
 The
_sage_src_
ofMacaulay2Function
is simplified. This also fixes an issue where all the lines are shown with a special end character^M
when inspecting Macaulay2 source code as in:sage: macaulay2.matrix?? code(methods matrix)^M ^M o1000000008 =  code for method: matrix(List)^M ...
 The
nodetex
andnoreplace
directives for Sage documentation are added to avoid reformatting of the Macaulay2 documentation. Previously one would getsage: macaulay2.matrix? ... ++  i1 : matrix{{1,2,3},{4,5,6}}   o1 =  1 2 3  4 5 6  2   3 o1 : Matrix ZZ < ZZ  ++ ...
instead of++ i1 : matrix{{1,2,3},{4,5,6}}   o1 =  1 2 3     4 5 6      2 3  o1 : Matrix ZZ < ZZ  ++
Change History (5)
comment:1 Changed 3 years ago by
 Branch set to u/ghmwageringel/28565
 Cc saliola dimpase added
 Commit set to dc7922f88f68b78b1fc817b01a5a8ae5b3586815
 Status changed from new to needs_review
comment:2 Changed 3 years ago by
 Cc ghantonleykin added
 Keywords IMA Coding Sprint added
comment:3 Changed 3 years ago by
 Branch changed from u/ghmwageringel/28565 to public/interfaces/m2/28565
 Commit changed from dc7922f88f68b78b1fc817b01a5a8ae5b3586815 to 4ae76efe3f1fea4eab29214059e42277f5100eb3
New commits:
4ae76ef  Merge branch 'develop' into u/ghmwageringel/28565

comment:4 Changed 3 years ago by
 Reviewers set to Franco Saliola
 Status changed from needs_review to positive_review
comment:5 Changed 3 years ago by
 Branch changed from public/interfaces/m2/28565 to 4ae76efe3f1fea4eab29214059e42277f5100eb3
 Resolution set to fixed
 Status changed from positive_review to closed
Note: See
TracTickets for help on using
tickets.
New commits:
28565: improve macaulay2 introspection