Hello Conrad,
2. Implement
an AMS-TeX validator
How different would this be from the current validator?
It should be exactly the same, except written in Python.
5. Repackage
the entire Math thing as an extension
I might do this if I have time left at the end. I'm sure the project
will change over the summer.
This would be very amazing.
Maybe this should be my project, then.
Python
doesn't have parsing just locked right down the way C does with
flex/bison, but there are some good options, I have the most experience
with it, and I think I'd be able to complete the port faster in Python
than in either of the other languages. I was tempted at first to port to
PHP, to conform with the rest of Mediawiki, but there don't seem to be
any good parsing packages for PHP. (Please tell me if that's wrong.)
A good PHP parser library would be exceptionally useful for MediaWiki
(and many extensions), at the moment we have loads of methods that do
regex "parsing", so if you felt like writing one... :D.
Actually...
I've never used PHP for real programming, but how difficult would it be
to write a really simple, stupid first pass at a DFA parser? I suspect
I'd need much more than three months to make it useful, but would it be
possible to implement some coherent subset of the features? E.g.,
building the LR0 automaton, at least?
I'd
appreciate any advice or criticism. Since my only previous
experience has been using Wikipedia and setting up a test Mediawiki
instance for my ACM chapter, I'm only just now learning my way around
the code base and it's not always evident why things were done as they
are. Does this look like a reasonable and worthwhile project?
Step 5. has been a "we really should do this" for a while, the shipping
of OCaml code which many users won't be able to use is very messy. I am
less convinced of the utility of a Python port, OCaml is a great
language for implementing this, and I fear a lot of your time would be
wasted trying to make the Python similarly nice. As you note, MediaWiki
is not written in Python, doing this in PHP would be a larger step in
the right direction, though without such nice frameworks, maybe less
nice to do.
I suggested a Python port because
http://www.mediawiki.org/wiki/Summer_of_Code_2010#MediaWiki_core
lists it as a potential project idea. I was under the impression that
people around here did not want to leave texvc in OCaml. Is this wrong?
Yours,
Damon Wang