Hello again! I just joined the group to post a topic on symbolic error propagation, but I also realized I've never really "announced" my little project, SymPySlices, so I'll go ahead and do it now...
SymPySlices is basically a (rather cool) hack on top of the python shell (the PySlices notebook interface to be more precise) that lets you auto-instantiate all undeclared variables as symbols and allows for unicode / infix operators in a really flexible and extensible way. (I know Ondrej and I spoke about this a few years ago, but I've not really had time to work on it since.) The information about the project can be found at: http://code.google.com/p/wxpysuite/ I'm also going to put the standard tutorial below for your convenience (although it looks a lot better inside the actual GUI). If you like some of these concepts or have any other ideas about extending this into a more of a functioning CAS system / Domain Specific Language or something, feel free to contact me. I think the whole idea of using unicode symbols (and mathematical markup for input...which is outside the scope of this project right now) could really ease the learning/using of sympy (or even sage) from a mathematical perspective if done properly. By the way, nice job with Sympy Live! That project is looking really polished! Cheers, -David Mashburn SymPySlices 0.9.8 - The Flakiest Python Shell... Cut up! Python 2.7.3 (default, Aug 1 2012, 05:14:39) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. Tutorial!!! ------------------------------------------------------------------------ SymPySlices is part of the new and improved Py suite! PySlices is a modified version of PyCrust that supports multi-line commands. SymPySlices has automatic support for sympy (if it is installed). Input and output are contained in "Slices" shown as markers in the left margin. Input Slices have RED margins (active, editable). Output Slices have BLUE margins (frozen, not editable). Commands in slices can be on more than one line, as with Sage or Mathematica. For example, the command: >>>a=1 >>>b=2 >>>print a+b will all run in sequence, much like a script. Try running the above Input Slice by clicking somewhere in its text and using Ctrl-Return, Shift-Return, or Numpad Enter to execute. Previous commands (Old Slices) can be re-edited and run again in place. Slices can also be: * selected (click on the margin, Shift-click for multiple selection) * folded (click the margin twice) * selected and deleted (hit delete while selected) * divided (Ctrl-D) * merged (Ctrl-M while selecting adjacent, like-colored slices) Try deleting the slice above this one by clicking on the red margin. If you want a more traditional shell feel, try enabling "Shell Mode" in "Options->Settings->Shell Mode" (or try PyCrust). In Shell Mode, Return acts in the usual way, executing command, and Ctrl-Return and Shift-Return always print newlines. SymPySlices adds further enhancements! Undefined variables are automatically converted to sympy symbols! Also, SymPySlices adds unicode support via an auto-replace method! Input is also supported using the escape key (<ESC>) For instance, typing either <ESC>theta<ESC> or <ESC>th<ESC> will automatically insert the Greek letter theta! >>> In SymPySlices, these unicode characters can also be used as valid python! A limited number of symbols and operators are supported now, but many others could be added in the future! Operator support uses an "infix-to-prefix" conversion using the python module ast. As an example, try typing this below: <ESC>theta<ESC> = 2 <ESC>theta<ESC> + <ESC>phi<ESC> >>> Should result in 2 + ϕ! Typing <ESC>integral<ESC>(x**2,x) Results in x**3/3! The Intergal operator has been defined as sympy.integral in SymPySlicesDefaults.py And, it can easily be overloaded simply by assignment! Also, typing c<ESC>dot<ESC>d below: >>> Should result in __DotOperator__(c,d)! You might also try [1,2,3,4]⋅[4,3,2,1] This produces the result expected, 20 This operator feature is VERY EXPERIMENTAL but could be really useful! Saving and opening "sessions" is now supported! This is a little different to other shells where the history is saved. With PySlices and SymPySlices, the whole document is saved in a simple text format! To disable this Tutorial on startup, uncheck it in the menu at: "Options->Startup->Show PySlices tutorial" SymPySlices may not be the best thing since sliced bread, but I hope it makes using Python a little bit sweeter! -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
