#7377: Symbolic Ring to Maxima via EclObject
-----------------------------------------------------------------------+----
   Reporter:  nbruin                                                   |       
Owner:  nbruin      
       Type:  enhancement                                              |      
Status:  needs_work  
   Priority:  major                                                    |   
Milestone:  sage-feature
  Component:  symbolics                                                |    
Keywords:              
     Author:  Nils Bruin, Jean-Pierre Flori                            |    
Upstream:  N/A         
   Reviewer:  Jean-Pierre Flori, François Bissey, Karl-Dieter Crisman  |      
Merged:              
Work_issues:                                                           |  
-----------------------------------------------------------------------+----

Comment(by nbruin):

 > two return statements is indeed strange. Is the second return ever
 reached?

 No, it isn't. However, Burcin apparently thought that {{{l.sage()}}} would
 give better results. I'm actually thankful that he left in the original
 return statement because that served as a nice flag that something had
 changed there.

 > Could it be a left over forgotten there? Looking at the code I am not
 sure
 > what ex.parent()(l) is supposed to be.

 It is "Coerce l into the parent of ex", the original input parameter,
 i.e., coerce l into the Symbolic Ring. In the new code, "sr_limit"
 produces something that is hopefully *coercible* into the SymbolicRing --
 it probably isn't a maxima object at all anymore. I think in all cases
 it's better to coerce into SR instead of calling l.sage(): On maxima
 objects it should be about the same and if limit produces something that
 cannot be represented in the SymbolicRing we should get an error. I'll
 ping him about it.

 > One of my testing friend noted that maxima as a lib and ecl compiled
 > with thread support are not compatible (ever seen a SIGPWR?). I am
 mentioning
 > that, in case it becomes the default in ecl in the future.

 Good to know! A little googling found
 http://www.hpl.hp.com/personal/Hans_Boehm/gc/debugging.html
 It's the garbage collector that uses SIGXCPU and SIGPWR to synchronise
 cross-thread garbage collection. So if we want ecllib+threads we need to
 adjust the sage signal handler to properly handle those. BoehmGC is made
 for integration into C programs, so this may be doable.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7377#comment:40>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to