MasterDuke | timotimo: mind/got time for some more questions? | 00:49 | |
timotimo | go ahead | 00:52 | |
MasterDuke: so? | 00:56 | ||
MasterDuke | sorry, got distracted by fudge and a manhattan | 01:01 | |
but i've implemented what i thought you were describing, and nqp parts all compile, but the setting doesn't | 01:02 | ||
"Error while compiling, type X::Undeclared" | |||
"symbol: %?SOURCE_LINE_NUMBERS" | |||
timotimo | in that case your rule doesn't get hit by anything | 01:04 | |
it might be a better idea to use some existing thing that can put in some magicals | |||
but last time we talked i couldn't find it | |||
maybe looking for $?FILE and $?LINE in the actions can get you there? | 01:05 | ||
ah, yeah. that's also close to %?RESSOURCES | 01:06 | ||
%?RESOURCES | |||
i was going to go to bed now | |||
MasterDuke | cool, i'll trying doing it there | 01:07 | |
thanks again | |||
timotimo | good luck! | ||
i'm glad you're tackling this :) | |||
it's a nice thing to have for us core devs for sure | |||
probably also helpful to some end users? that'd be nice. | |||
MasterDuke | hope so | 01:09 | |
timotimo | o/ | ||
MasterDuke | g'night | 01:14 | |
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Add some comments indicating part of Array class' | 02:25 | |
travis-ci.org/rakudo/rakudo/builds/172728354 github.com/rakudo/rakudo/compare/2...36a5010962 | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. All failures are on JVM only. | ||
MasterDuke | ^^^ JVM, t/04-nativecall/20-concurrent.t .......... Failed 3/3 subtests | 02:50 | |
geekosaur | I think that's known | 02:56 | |
MasterDuke | ooh, someone's here. would you know anything about "Missing serialize REPR function for REPR VMHash (BOOTHash)" errors? | 02:57 | |
geekosaur | nope, sorry | 02:58 | |
I know from scrollback that the failing test was added to test a moar bug; possibly it should just be fudged on jvm | 03:00 | ||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Fix type in comment, MasterDuke17++' | 03:09 | |
travis-ci.org/rakudo/rakudo/builds/172729339 github.com/rakudo/rakudo/compare/d...1b2c3bc6cd | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Make sure BIND-POS works the same on typed arrays' | 03:44 | |
travis-ci.org/rakudo/rakudo/builds/172742704 github.com/rakudo/rakudo/compare/5...be98d886da | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. All failures are on JVM only. | ||
travis-ci | Rakudo build failed. Carl Masak 'fix typo' | 04:20 | |
travis-ci.org/rakudo/rakudo/builds/172751221 github.com/rakudo/rakudo/compare/0...cc33eb6fd4 | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
travis-ci | Rakudo build errored. Elizabeth Mattijsen 'Give shaped arrays its own fast .clone | 04:52 | |
travis-ci.org/rakudo/rakudo/builds/172777365 github.com/rakudo/rakudo/compare/e...429f32bb5d | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. All failures are on JVM only. | ||
dalek | kudo/nom: e544d05 | lizmat++ | src/core/Str.pm: Revert "Fix off by one errors in Failure messages" It is fully legal to provide a start position *after* the string. This also applies, to e.g. substr: "foo".substr(3) is the empty string, "foo".substr(4) returns a Failure. The only thing that's not supported, is large Ints, because we internally only work with native ints. And if we really want to return information about what a valid position to start looking at, we should also take the number of chars of the needle into account. This reverts commit c59ab1888db616126da217a436670e06f9da3c23. c55c5d7 | lizmat++ | src/core/TypedArray.pm: Fux typo, MasterDuke17++ for the nitpicking :-) |
08:45 | |
lizmat | good morning, #perl6-dev! | ||
lizmat | sorry raiph, Zoffix | ||
travis-ci | Rakudo build errored. Elizabeth Mattijsen 'Fux typo, MasterDuke17++ for the nitpicking :-)' | 10:07 | |
travis-ci.org/rakudo/rakudo/builds/172872375 github.com/rakudo/rakudo/compare/e...5c5d78b25e | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
viki | no problem | 12:17 | |
geekosaur is now known as Titanic | 13:19 | ||
dalek | kudo/nom: 1293188 | lizmat++ | src/core/ (3 files): Streamline .new/set-shape handling - set-shape only called when we actually have a shape - set-shape no longer STOREs, just sets the shape (like the name indicates) - new-internal helper no longer needed Makes creating a shaped array about 25% faster |
13:26 | |
lizmat | afk& | ||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Streamline .new/set-shape handling | 14:19 | |
travis-ci.org/rakudo/rakudo/builds/172941392 github.com/rakudo/rakudo/compare/c...93188342fd | |||
|Tux| | This is Rakudo version 2016.10-164-g1293188 built on MoarVM version 2016.10-39-g4b9e3a8 | 16:58 | |
csv-ip5xs 3.160 | |||
test 14.135 | |||
test-t 6.895 | |||
csv-parser 14.774 | |||
sorry for the late post | |||
dalek | kudo/nom: 576f3a1 | lizmat++ | src/core/ShapedNArray.pm: Re-imagine set-shape - prefab the roles to be mixed in - handle case if a shape with no dimensions is specified a bit better Makes creation of shaped arrays about 25% faster again. But it is still causing a global deoptimization :-( |
19:43 | |
lizmat | jnthn: sometimes I think we need a GLIR (Great List Internals Refactor) | ||
A List would be a 1 dimmed shaped array | 19:44 | ||
that doesn't have containers | |||
Laziness (aka $!todo) would be a mixin | 19:45 | ||
an Array would be a base type | 19:46 | ||
all methods that iterator would still be the same, but work off of different iterators | |||
etc. etc. | 19:47 | ||
</rant? | 19:49 | ||
> | |||
timotimo | i thought shaped arrays are always limited in their dimensions? | ||
do we want that? | |||
lizmat | what is a List other than a 1 dimmed shaped array ? | 19:51 | |
timotimo: I'm just expressing some feeling I have, working on lists, iterators, native arrays, shaped arrays for a while | 19:57 | ||
that there's a better design lurker underneath all of that somewhere | 19:58 | ||
*lurking | |||
timotimo | ah, you mean lists are read-only anyway, so they can't grow past their initial limit? | 20:04 | |
but what about lazy lists? | |||
or is this mostly about code sharing? | 20:05 | ||
lizmat | well, it is really about separating lazy from non-lazy lists | 20:06 | |
everywhere we handle lists, we need to check whether they are already completely reified or not | 20:07 | ||
timotimo has to go out fetch food | |||
lizmat | then if the $!todo is exhausted, we don't have a good way to signal back that it is done reifying | ||
so the next time we access the list, it would check it again | 20:08 | ||
timotimo | mhm | 20:10 | |
lizmat | it just makes for very convoluted code | 20:11 | |
jnthn: what is the reason we actually parameterize the ShapedArray role ? | 20:12 | ||
[Coke] | lizmat: add a bit indicating if it's done expanding? (too much memory?) | 20:30 | |
lizmat | [Coke]: the problem is really that the $1todo attribute in a List needs to be checked almost every time | 20:32 | |
if it is DEFINITE, then methods like .reify-at-least get called on it | 20:33 | ||
if such a method finds out it exhausted the iterator, it should basically reset the $!todo attribute in the list (its self, basically) | |||
but it can't :-( | 20:35 | ||
at least, I've not been able to find a way to do that | |||
dalek | ast: e111f78 | usev6++ | S17- (2 files): Fudge newly added tests for JVM |
20:48 | |
p: 116e09a | (Pawel Murias)++ | src/vm/js/nqp-runtime/sixmodel.js: [js] Avoid unneeded check. |
20:50 | ||
p: eaa75ca | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (7 files): [js] Fix stuff found by 'make js-lint'. |
|||
p: 89cf656 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (5 files): [js] Use const for constants. |
|||
p: 0adcb20 | (Pawel Murias)++ | src/vm/js/nqp-runtime/deserialization.js: [js] Remove old comment. |
|||
kudo/nom: 1bb5aad | lizmat++ | src/core/ShapedArray.pm: Make .AT-POS on 3+ dimmed arrays 20% faster Also make over-indexed .AT-POS on 1,2,3 dimmed arrays about 10% faster. |
21:58 | ||
kudo/nom: 5b2bdeb | lizmat++ | src/core/ShapedArray.pm: Make multi-dimmed ASSIGN-POS about 30% faster |
22:28 | ||
lizmat | and that concludes my hacking for today | 22:34 | |
good night, #perl6-dev! | |||
MasterDuke | nqp doesn't support pairs (e.g., :abc(123))? | 23:51 | |
geekosaur | nqp: (abc => 123) | 23:53 | |
camelia | ( no output ) | ||
geekosaur | nqp: :123abc | ||
camelia | nqp-moarvm: OUTPUT«Confused at line 2, near ":123abc" at gen/moar/stage2/NQPHLL.nqp:621 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic) from gen/moar/stage2/NQP.nqp:908 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit) from gen/moar/st…» | ||
geekosaur | nqp: :abc(123) | ||
camelia | ( no output ) | ||
geekosaur | nqp: nqp::say(:abc(123)) | 23:54 | |
camelia | nqp-moarvm: OUTPUT«123» | ||
geekosaur | nqp: nqp::say(abc => 123) | 23:55 | |
camelia | nqp-moarvm: OUTPUT«123» | ||
geekosaur | nqp: nqp::say('', abc => 123) | ||
camelia | nqp-moarvm: OUTPUT«Arg count 2 doesn't equal required operand count 1 for op 'say' at gen/moar/stage2/QAST.nqp:1656 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/QAST.moarvm:compile_mastop) from gen/moar/stage2/QAST.nqp:1867 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/QAST…» | ||
MasterDuke | m: my @a := []; nqp::push(@a, 2 => 5) | ||
camelia | rakudo-moar 5b2bde: OUTPUT«===SORRY!=== Error while compiling <tmp>Could not find nqp::push, did you forget 'use nqp;' ?at <tmp>:1------> my @a := []; nqp::push(@a, 2 => 5)⏏<EOL>» | ||
geekosaur | pfeh | ||
MasterDuke | nqp: my @a := []; nqp::push(@a, 2 => 5) | ||
camelia | nqp-moarvm: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near "> 5)" at gen/moar/stage2/NQPHLL.nqp:621 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic) from <unknown>:1 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:in…» | ||
geekosaur | nqp: my @a := []; nqp::say(@a, (abc => 123)) | 23:56 | |
camelia | nqp-moarvm: OUTPUT«Arg count 2 doesn't equal required operand count 1 for op 'say' at gen/moar/stage2/QAST.nqp:1656 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/QAST.moarvm:compile_mastop) from gen/moar/stage2/QAST.nqp:1867 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/QAST…» | ||
geekosaur | whoops | ||
nqp: my @a := []; nqp::push(@a, (abc => 123)) | |||
camelia | ( no output ) | ||
geekosaur | nqp: my @a := []; nqp::push(@a, (abc => 123)); nqp::say(@a) | ||
camelia | nqp-moarvm: OUTPUT«cannot stringify this at <tmp>:1 (<ephemeral file>:<mainline>) from gen/moar/stage2/NQPHLL.nqp:1428 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.nqp:1631 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQP…» | ||
geekosaur | nqp: my @a := []; nqp::push(@a, (abc => 123)); nqp::say(@a[0]) | ||
camelia | nqp-moarvm: OUTPUT«123» | ||
geekosaur | looks like it does something with pairs, but not what we expect... | 23:57 | |
since it did the same thing with the colonpair syntax | |||
MasterDuke | yeah, not sure what's happening | ||
geekosaur | otoh it could be say that is broken, not pairs (maybe nqp::say on a pair gives you only the value part, not the key) | 23:58 | |
nqp: my @a := []; nqp::push(@a, (abc => 123)); nqp::say(@a[0].key) | |||
camelia | nqp-moarvm: OUTPUT«Cannot find method 'key': no method cache and no .^find_method at <tmp>:1 (<ephemeral file>:<mainline>) from gen/moar/stage2/NQPHLL.nqp:1428 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.nqp:1631 (/home/…» | ||
geekosaur | mrrr, dunno what a pair looks like at nqp level |