|
weekly Perl 6 status meetings with phase transitions: Wed 17:30 UTC | IR clogs at irclog.perlgeek.de/phasers/today Set by moderator on 14 February 2012. |
|||
|
05:12
birdwindupbird joined
05:33
sorear joined
06:05
birdwindupbird joined
07:35
fsergot joined
09:25
fsergot joined
09:41
jnthn joined
10:39
birdwind1pbird joined
10:50
birdwind1pbird joined
|
|||
| jnthn | Will probably miss #phasers; what I did this week: | 12:03 | |
| NQP | |||
| * Started getting the serialization integrated into NQP | |||
| * It now successfully serializes/deserializes the first couple of compilation units | |||
| * Refactord various bits of symbol handling so it's done in World, not Actions/Grammar | |||
| * Eliminated the NQPMultiSig PMC, now we just have a plain old object for that | |||
| Rakudo | |||
| * Made xx thunk its LHS | |||
| * :state/:constant/:our in regexes | 12:04 | ||
| * Fixed handling of self scoping in attriubte initializers | |||
| * Greatly improved performance of the reduction meta-op | |||
| * Fixed cloning things with attributes from roles | |||
| * Fixed a bug in "but True"/"but False" | |||
| * Got moritz++'s work on object hashes incorporated into Rakudo's Hash type | |||
| * Implemented the my %h{Int} syntax | |||
| Next up... | |||
| * Refactor the way NQP handles multis | |||
| * More work on the serialization, hopefully get all of the NQP build to work with it | |||
| * Probably more bug fixes and minor features in Rakudo | |||
| EOR | |||
|
17:24
isBEKaml joined
|
|||
| moritz | my #phasers report | 17:24 | |
| * lots of backtrace hacking. It's not perfect, and I haven't gotten much feedback yet, but I think it's much better than before | 17:25 | ||
| * Implemented Rat (before we only had FatRat, disguised as Rat) and Rat -> Num fallback | |||
| * implemented clever-ish FatRat numification | |||
| * prototyped and tested object hashes | 17:26 | ||
| * fixed file name reporting for -e one-liners | |||
| * file name reporting for evals | 17:27 | ||
| * more typed exceptions | |||
| * refactored exception base types. The only base type is now Exception, and die() with non-Exception arguments produce an X::AdHoc object, with .payload returning excactly what was passed to &die | 17:28 | ||
| plans: | |||
| * investigate sink, toying with a compiler pass that adds &sink calls | 17:29 | ||
| * more typed exceptions | |||
| EOR | |||
| PerlJam | not much phasing going on | 17:34 | |
| moritz | I guess jnthn++ is traveling | 17:35 | |
|
17:37
colomon joined
|
|||
| colomon | o/ | 17:37 | |
| sorry I'm late | |||
| PerlJam | colomon: not much happening, so your lateness is the height of excitement :) | 17:39 | |
| colomon | :) | ||
| report: (I forget what I've managed to report here lately, so will just touch on highlights) | |||
| * Set, KeySet, Bag, and KeyBag working in niecza | |||
| * wrote lots of tests for them; now working on set operator tests | 17:40 | ||
| * Completely ported panda to niecza | |||
| * Ported Email::Simple to niecza (at least well enough so that the three tests it has work) | |||
| plan: | 17:41 | ||
| * More set operator tests | |||
| * More work getting modules working on niecza | |||
| EOR | |||
| isBEKaml | moritz++ | 17:42 | |
| jnthn++ colomon++ | |||
| speaking of porting, isn't the ultimate goal to keep code running between implementations with little/no changes? | |||
| And, where do niecza ported modules reside currently? | 17:43 | ||
| PerlJam | It would be nice if modules' META.info had some indication of which implementations of Perl 6 they are known to work with. | 17:45 | |
| (or also known to not work with) | |||
| colomon | isBEKaml: yes, having modules work on both is certainly a valid and useful goal | 17:46 | |
| and quite a few modules do indeed work seamlessly on both compilers already | 17:47 | ||
| panda-niecza is at github.com/colomon/panda | |||
| isBEKaml | PerlJam: Generally, I'm against that idea. I prefer that language impose heavy portability burden on module writers than having users figure them out. That said, I can live with ported code between implementations for now. :) | ||
| PerlJam | isBEKaml: Well ... the "burden" could be on an automated system rather than humans at all. | 17:49 | |
| (except for the burden of the humans to build the system :) | |||
| TimToady | .oO(Write once, run...somewhere...) |
||
| colomon | In general, given panda / panda-niecza, figuring out if a module works for your compiler only takes a minute or so, and that tracks reality more closely than having something in META.info would. | 17:50 | |
| I have proposed adding automatically generated columns to modules.perl6.org saying whether the modules instll with the latest rakudo / niecza. | |||
| I think that would be helpful to users and help spur module implementors to make their stuff more portable. | 17:51 | ||
| TimToady | add 'em on the end of the features matrix to motivate the implementors :) | ||
| isBEKaml | PerlJam: I don't know if I put that right - the "burden" of portability resides with module writers. That is, module writers are responsible to make sure that their code can work portably across multiple implementations. :) | ||
| TimToady | the ideal is that Perl 6 be the same language everywhere | 17:52 | |
| lack of convergence isn't a feature we should advertise :) | 17:53 | ||
| isBEKaml | colomon: IIRC, most of p6 modules are self sufficient and do not have many dependencies. If that's the case, it's easy to put it all on the user. What about the multi-dependency, multi-module scenario? | 17:54 | |
| TimToady | the matrix should be viewed as bugs in implementations, not bugs in modules (unless they're depending on bugs of the implemenation) | ||
| isBEKaml | TimToady: Exactly! | 17:55 | |
| colomon | In general, you can find plenty of implementation shortcomings AND bugs in modules. | 18:00 | |
| For instance, I've run into more than a few modules using obsolete features than niecza doesn't support, like "plan *" | 18:01 | ||
|
18:02
diakopter joined
18:03
diakopter left
|
|||
| colomon | The most recent thing I ran into in Email::Simple: class Blah is Array { method Str ... }; Blah.new(@array) | 18:03 | |
| that apparently works in rakudo, but not in niecza. Is that behavior actually spec? | |||
| regardless, that gives an idea of the sort of issue the module porter faces. some things are clearly faults in the module. some things are clearly faults with the compiler. and some things are somewhere in between, and knowing what is "right" can be very tricky. | 18:07 | ||
| moritz | colomon: I think Array.new is not specced, but something like that is necessary if you want to be able to subclass and initialize the parent | 18:27 | |
| colomon | sure, *something* like that is needed. but that's not the same as "this is spec'd behavior you are not implementing". | 18:29 | |
| moritz | right; we need to spec that. | 18:31 | |
| colomon | actually, in general, how are you supposed to initialize your parent inp6? | 18:32 | |
| *in p6? | |||
| moritz | well, the parent is supposed to initialize itself | 18:34 | |
| which is why the parent needs a .new method | 18:35 | ||
| colomon | my $pet = Dog.new( :name<Fido>, Animal{ :blood<warm>, :legs(4) } ); | ||
| if Dog is Animal | |||
| moritz | to which you can delegate in case of doubt | ||
|
19:06
birdwindupbird joined
19:56
isBEKaml left
|
|||