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