I will not take part in the GSOC discussion, so this message should in
no way be read as an opinion on what might be a reasonable GSOC project
scope. As a sage-user I can see the usefulness of mathematica-style
input in three ways (from my perspective):
1) Color coded hints: Something along the lines of having function
arguments in one color (or style), symbolic variables in a second color
(or style), most things in a third color (or style) and finally
undefined names in a fourth color/style (good for spotting typos).
2) Readability of large expressions involving, e.g., fractions and lots
of parentheses.
3) Using tensor notation in a comfortable way. Tensor usage in
Mathematica can be accomplished with both upper and lower indices and it
is possible to use pattern-matching on upper and lower indices
separately in replacement-rules.
A fourth input-help would be syntax highlighting of python (and possible
other) code, but according to some mailing list, that was considered and
discarded for performance reasons.
It sounds like you are primarily targeting number 2, is that a correct
reading?
Regards
Johan
See http://trac.sagemath.org/sage_trac/ticket/9585
>
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
That ticket pretty much covers what I want to implement; do you think that is suitable for a GSoC project?
My guess is that a good javascript equation editor would be a good
project. I'd suggest asking Davide Cervone if he would mentor the
project. As the ticket points out, Davide wrote Mathjax keeping in mind
the things needed for an equation editor. Davide had a student that
worked on an equation editor at one point.
Davide: Sage has been accepted as a mentoring organization for the
Google Summer of Code program. A student asked about doing a Google
Summer of Code project implementing a javascript equation editor [1],
like http://www.math.union.edu/~dpvc/talks/2006-12-08.IMA/editor.html
(at least, that's what I think the student is talking about). Can you
give us an idea of how much work it would be, and what level of
experience is necessary to do such a thing over a summer? Also, would
you possibly be willing to mentor such a project in the summer if a
well-qualified student applied?
Thanks,
Jason
[1]
http://groups.google.com/group/sage-devel/browse_thread/thread/318f154094736177#
As you know, I have done a lot of thinking about interactive math
editors, and when I estimate how long it would take me to write what I
consider a descent editor, it is on the order of a month and a half to
two months of full-time work. You would need someone with experience
in object-oriented programming, and cross-browser javascript coding
(particularly familiar with event handling). As you know, I had a
student work on this in the past, and we spend a full year on it and
still didn't have a finished product. I do not know the student who
has proposed the project, so I can't tell you if he or she can
accomplish the task, but my experience is that this is not a summer
project for most students. Having an almost-but-not-quite-finished,
or worse yet, a buggy editor will be worse than having none at all.
This is also something that will need support into the future
(especially as new versions of browsers come out, since this is
closely tied to one of the more touchy aspects of javascript -- event
handling), so I am a bit concerned about the code being written and
then slowly degrading over time. As for mentoring the project, I'm
afraid that I am already booked up this summer and could not in good
conscience take on advising a student on a project of this magnitude.
I know that none of that is what you wanted to hear, but that is my
opinion. On the other hand, it is still something I would be
interested in working on. If you have some cash to throw at it, we
should talk. :-)
Davide
this probably should be an extension to tinymce, the js editor now used
to input tekst cells.
>
> Jonathan
>