I'll look at this and report what I think about it, but I just want to
note that people should use the following urls to clone. The ones you
gave are the ssh urls, and are for you only.
sympy-notebook: git://github.com/smagura/sympy-notebook.git
sympy fork: git://github.com/smagura/sympy.git
Aaron Meurer
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/sympy/-/0IdGgLDEnfsJ.
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to
> sympy+un...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/sympy?hl=en.
>
Aaron Meurer
gtk is basically impossible to install on Mac OS X, and it's a rather
unfortunate choice of GUI platform. Installing QT (for IPython's
qtconsole) was relatively easy, as they have a binary distribution
(see https://github.com/sympy/sympy/wiki/Installing-the-IPython-qtconsole-in-Mac-OS-X).
But getting now to the program itself, the interaction is a little
awkward. I don't know why everyone wants to use Shift-Enter for
execution all the time, but I personally don't like it.
Why did you write your own parser? Does sympify() not satisfy your needs?
How do you get the LaTeX output? I could only get the string printer
(indeed, I couldn't even get the pretty printer to work, unless I
typed pprint(expr)?
Have you considered using the new IPython with the kernel
architecture? It's supposedly very easy to use with a GUI. See
http://mail.scipy.org/pipermail/ipython-dev/2011-August/008057.html.
I typed "pprint(Integral(1/x, x))" and executed it, then I saved the
notebook. Then I tried opening it, but it just printed (to the
console) "Could not read file". I can upload the file if you cannot
reproduce.
Aaron Meurer
On Wed, Aug 3, 2011 at 12:07 PM, Sam Magura <srma...@gmail.com> wrote:
> Thanks for the heads up.
> Fixed: https://github.com/smagura/sympy-notebook/commit/778ebb3f7c82d9dcd41663c1e11d4a7de221531c
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/sympy/-/4Uhyuewi_ssJ.
Aaron Meurer
Oh sorry, that was me being stupid and trying to open
sympy-notebook.py instead of new-notebook.snb. Ignore this.
Aaron Meurer
Ah, no. I didn't know about this. Assumedly it is some branch at
your GitHub fork?
What did you have to change in your fork to make it work?
> --- I will set unicode pretty printing to be enabled by default
> - Parser: Almost everything in ./parsing is straight from Symbide. I'm sure
> it needs some clean-up. The main thing it does that sympify() can't do is
> detect undefined variables, and then define them as symbols.
Yes it does:
In [33]: a
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/Users/aaronmeurer/Documents/python/sympy/sympy/<ipython-input-33-60b725f10c9c>
in <module>()
----> 1 a
NameError: name 'a' is not defined
In [34]: sympify("a")
a
In [35]: type(sympify("a"))
<class 'sympy.core.symbol.Symbol'>
By default, it uses the default namespace, so if you define a
variable, it doesn't recognize it. But this is easy to remedy by
passing the locals() dict to sympify():
In [40]: a = 1
In [41]: sympify("a")
a
In [42]: sympify("a", locals=locals())
1
By the way, your parser has a bug where it prints the output of
variable assignments, i.e.,
: a = 1
should be silent.
> - IPython kernel: Though that is a cool example, I don't think it is right
> for this project.
> --- Parsing: I think special IPython shorthand syntax could make automatic
> symbol definition much more
> difficult. http://ipython.org/ipython-doc/stable/interactive/reference.html#automatic-quoting
This can all be disabled. Indeed, I've disabled autocall in my own
personal IPython config file because I don't like it.
> --- Execution: I'm currently working on an execution model that lets the
> user kill the process that is doing the execution without losing their
> namespace (all the variables set in that session.) I think using IPython
> would complicate this; features like output caching are going to break when
> moving execution to a new process.
Interesting. I don't know if the IPython architecture would let you
do this. You'd have to ask on their list.
> - Plotting: Agreed. That's something I want to work on.
> - GTK: That's too bad that it's hard to get GTK working on Mac. This
> application claims to have GTK and PyGTK compiled for
> you: http://0install.net/install-mac.html. No idea if it works
> Sam
I'll try it out.
Aaron Meurer
Ah, no. I didn't know about this. Assumedly it is some branch at
your GitHub fork?What did you have to change in your fork to make it work?
Yes it does:
In [33]: a
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/Users/aaronmeurer/Documents/python/sympy/sympy/<ipython-input-33-60b725f10c9c>
in <module>()
----> 1 aNameError: name 'a' is not defined
In [34]: sympify("a")
aIn [35]: type(sympify("a"))
<class 'sympy.core.symbol.Symbol'>
By the way, your parser has a bug where it prints the output of
variable assignments, i.e.,: a = 1
should be silent.
Oh. Sorry that that got forgotten due to the unrelated bug. I'll go
and review it right now.
Aaron Meurer
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/sympy/-/KTO7Sl6-mnoJ.
By the way, I wasn't very clear when I said "the interaction is a
little awkward". I think the main thing (aside from the Shift-Enter
vs. Enter deal) is that executing a statement does not create a new
cell. Indeed, it's not very clear at all how to create a new cell.
Aaron Meurer
I don't see how. To me, *not* automatically inserting a new cell is annoying.
Oh, and by the way, that installer you linked to just installs pygtk,
not gtk (and of course, installing pygtk from source once you have gtk
is trivial).
Aaron Meurer
Aaron Meurer
Aaron Meurer