At the moment, these are the latest updates on the running TPF grants:
No updates from Grant manager.
Leon report: I've ported it to 5.10. I haven't really tested it beyond compiling, but I don't expect difficulties there. I've worked on the exportation code. Exporting variables is now supported. I want to add member variables too, but I'm not sure how the semantics should work. I've added globs and filehandles. I've fixed the way package variables work (being written to was
somewhat problematic until recently). I've started implementing regexps for perl 5.8. The basics work now, the modifiers are next on the to-do list. It's not going to be as performing as the (yet to write) 5.10 implementation but it seems robust so far.
My code is hosted at http://code.google.com/p/libperl/ . The commit log should be a peek into what I'm currently doing. Any feedback is welcome.
No updates from Grant Manager.
No updates from Grant Manager.
No updates from Grant Manager.
No updates since last report.
Michael is working on this task, but no further information was provided.
Accordingly with Michael this is practically implemented and finished.
No updates from Grant Manager.
This is the last report from Daniel: The last two weeks were heavily "concept harvesting"... I'm already working on providing the run time features used by src-s1p/P6Meta.pm (which is the default Perl 6 MetaClass Implementation). After a lot of planning, we have figured out how to implement some operators, like "for" and "map".
This discussion is exposing how actual implementation of Perl 6 features need to face this operators, to allow the expected lazyness even in operators like "for". We reached the point where "for" is a synonym for "map", and both receives an iterator in item context and returns an iterator.
Iterators in scalar context should be accessible by using prefix: and return one item at a time (despite each iteration of "map" returning 0 or several items). In List context, creates a generic Lazy List and in Slice context, returns a generic Lazy Slice...
All this is probably going to produce changes in the spec, since Iterator is not yet listed as a Built-in type, while larry had so far agreed with the proposed approach.
It's important to realize, however, the this iterators won't be visible by the "user" most of the time (except when implementing some object that should be lazily-evaluated by "map").
Now it is possible to implement "map". The test already shows how it should look like in low-level, and SMOP should be the first implementation to support lazyness in the 'for' and 'map' operators...
Accordingly with latest updates, this grant is almost finished. We are waiting for a final report from Adam Kennedy.
http://news.perlfoundation.org/2008/09/running_grants_2008_iv.html