On Oct 14, 5:14 pm, Waldek Hebisch <[EMAIL PROTECTED]> wrote:
<SNIP>

Hi,

> I think you underestimate effort needed to good wrapper.  Also
> when concerning mathematics Sage still is mostly a wrapper:
> in his talk Wiliam Stein said that Sage has 5.5 milion lines
> of code, most in included packages and about 0.5 milion lines
> written for Sage.

The ratio about 5 million lines of which 0.6 million lines where Sage
code. But that ratio does not truly show how much of the high level
mathematics are actually implemented in Sage. One should also note
that Sage via Python is a lot more expressive than many of the
underlying languages. Also note that the vast majority of new
algorithms are directly implemented in Sage and not in the
dependencies since the benefits of Cython far outweigh any reason to
do it in the dependencies in most cases.

>  In other words, more than 90% of code is
> from included packages.  Of course, Sage frequently uses only
> a part of given package and several included parts have nothing
> to do with math.  But given that Sage specific part is responsible
> for user interface (and this part certainly requires a lot of code)
> I think that also for mathematical code "foreign" parts
> dominate compared to parts written for Sage.
>
> Now, that raises question if we should wrap Sage or directly
> wrap packages used by Sage.  For performance reasons the
> second option usually is preferable.  OTOH Sage folks did
> some good job adding higher level functionality and resolving
> some nasty low-level interfacing issues.  Still wrapper around
> wrapper looks like lot of useless complexity.

The issue here is plain and simple that

 (a) the wrapper is usually very thin for simple components, i.e.
rings, polynomials and so on
 (b) the high level wrappers are also very thin, but to do direct
wrapping FriCAS would need to use a FFI and in the past you guys
always seem to have decided against it. The wrapping has also been a
tremendous effort by many, many people over the years.

> When come to parts written in Python capability to call
> Python may be useful.  But note that Sage code is likely
> to call parts written in other languages and consequently
> pull a lot of dependencies.  So do not expect this to
> be very easy.


Cheers,

Michael

> --
>                               Waldek Hebisch
> [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" 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/fricas-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to