> The weakness of this approach is that sage is running the main
> application loop.  I.e. if f.derivative() takes its time, then there's
> a spinning beachball.  I assume the big M's overcome this by
> separating their GUIs from their kernels.

Yes, they do.  Sage can also do that, e.g., that's how the Sage
notebook works.   This can be done over pexpect without opening
any network sockets -- the code we use for this in the notebook server
is in devel/sage/sage/server/notebook/worksheet.py.

The relevant code is stuff like

sage: S = Sage()
sage: S._send('...')
sage: S._so_far()

Basically Sage() makes an interface to a new copy of Sage.
S._send(...) sends code to it to be evaluated, and this is
nonblocking.   S._so_far(...) checks how much output has
been received so far.



>
> The big strength is much the same.  Because sage is running the main
> application loop, you don't have to think about message passing of any
> sort.  It should be easy enough to subclass NSView or something to
> display plots.  Etc.

That is a big strength.

There is a French guy --  Gaƫl Varoquaux -- who I had dinner with
tonight and who co-organized Scipy 2008, who yesterday demoed
a gui interface for IPython that he's writing.  I've cc'd him on this
email, in case he wants to make any remarks.   His current GUI
is also "one thread".

William


>
> If anyone's interested in kicking around ideas or explaining why this
> is a dumb idea, please go for it.  If you want the boilerplate code
> you are welcome, but it was mostly hard hacks to get things working,
> and is utterly specific to my system.
>
> D
>
>
> ==================================
> David J Philp
> Postdoctoral Fellow
> National Centre for Epidemiology and Population Health
> Building 62, cnr Mills Rd & Eggleston Rd
> The Australian National University
> Canberra ACT 0200 Australia
>
> T: +61 2 6125 8260
> F: +61 2 6125 0740
> M: 0423 535 397
> W: http://nceph.anu.edu.au/
>
> CRICOS Provider #00120C
>
>
>
> >
>



-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to