Maybe because nobody really knows when everybody will be done ;-)
Well, my and coralreefer's parts are almost done and are just a matter of days maybe weeks!
After rewriting the parser for the 4th time now, I think I got it pretty slick now. It does not overcomplicate the AST tree like ANTLR4 does, and it does not do some weird LOOKAHEAD logic like JavaCC did. This one is just a simple parser that scans the code from the left to the right. Then, and this is a novelty here, ANTLR4 and JavaCC walk the AST tree recursively: That means they do something like this:
int walk_ast(node n){
if(n.left!=0)
walk_ast(n.left);
if(n.right!=0)
walk_ast(n.right);
consume(n);
}
We all know this is shit, because the stack (recursive function calls blow up the stack pretty quickly) tends to be filled and may lead to weird program crashes and StackOverflowErrors. Recursion is bad, period!
I have created an iterative tree walker (was pretty tough for the IF and REPEAT statements) so that we do not have any recursive tree calls. More precisely, I walk the tree iteratively using a standard postorder traversal algorithm with some extra additions to handle conditional branches properly.
I am almost done with it, what I am missing is the big integer arithmetic. Coralreefer is ahead of me on this one, but we work closely together so that my interpreter and his compiler match (note, my interpreter is embedded into the core client while his compiler transforms ElasticPL source code into either C or OpenCL for GPU mining). Like I said we are almost done with this.
Not sure about any other parts, from what I know some people wanted to make a website, write some articles, and other stuff like that. I cannot comment on this of course, but I think that this is also related to the "maturity for mainnet", isn't it?
So I would say, since this is a community project, it's hardly possible that one single individual can estimate when everyone else will be finished and when the entire community agrees on "going to the next level". It might be also possible that everything is finished but the community decides to do some "PR" or whatever before? So I would say when all people feel "that's it! It's perfect this way", it will naturally "evolve to mainnet"? But I personally feel, that this will happen sooner (not later)
But again, I have nothing to decide here, this is just my point of view. This whole thing is open source and free for everyone. So it might also happen that some genius randomly pops up, and finishes all open points in the next 3 hours (rendering our interpreter/compiler work useless), and then launches it.