»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:43 araujo joined, FOSScookie joined 00:45 kst joined 01:00 jeffreykegler joined 01:06 hypolin joined, hypolin left 01:10 denis_boyun left 01:12 mavcunha left 01:13 jnap joined 01:18 jnap left 01:21 [Sno] left, FOSScookie left 01:49 skids left 01:51 yeltzooo left 01:52 jnap joined 01:54 exodist_ left 01:58 Exodist joined 02:01 skids joined 02:04 grondilu left 02:11 yeltzooo joined 02:13 dayangkun joined 02:15 robinsmidsrod left 02:16 robinsmidsrod joined 02:17 flussence left 02:18 kurahaupo_mobile left 02:27 jnap left 02:44 ilbot3 left, robinsmidsrod left, robinsmidsrod joined 02:46 ilbot3 joined 02:56 smls left 03:00 robinsmidsrod left, robinsmidsrod joined 03:30 robinsmidsrod left, robinsmidsrod joined 03:52 robinsmidsrod left, robinsmidsrod joined 03:56 lue left 03:57 robinsmidsrod left, robinsmidsrod joined
colomon huh 03:58
diakopter ? 03:59
03:59 BenGoldberg left
colomon r: multi sub infix:<+=>(Array:D $a, Array:D $b --> Vec3:D) { for 0..2 -> $i { $a[$i] += $b[$i]; }; $a; }; 04:00
camelia rakudo-parrot c2982d, rakudo-jvm c2982d, rakudo-moar c2982d: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Type 'Vec3' is not declared␤at /tmp/tmpfile:1␤------> x:<+=>(Array:D $a, Array:D $b --> Vec3:D⏏) { for 0..2 -> $i { $a[$i] += …»
colomon r: multi sub infix:<+=>(Array:D $a, Array:D $b --> Array:D) { for 0..2 -> $i { $a[$i] += $b[$i]; }; $a; };
camelia ( no output )
colomon r: multi sub infix:<+=>(Array:D $a, Array:D $b --> Array:D) { for 0..2 -> $i { $a[$i] += $b[$i]; }; $a; }; my Array $v = Array.new(1, 2, 3); my Array $a = $v; $a += $v; say :$a.perl; say :$v.perl; 04:01
camelia rakudo-jvm c2982d: OUTPUT«Cannot call 'infix:<+=>'; none of these signatures match:␤:(Array:D $a, Array:D $b --> Array)␤ in any at gen/jvm/BOOTSTRAP.nqp:1212␤ in any at gen/jvm/BOOTSTRAP.nqp:1202␤ in sub infix:<+=> at /tmp/tmpfile:1␤ in sub infix:<+=> at /tmp/tmpfile…»
..rakudo-parrot c2982d: OUTPUT«Cannot call 'infix:<+=>'; none of these signatures match:␤:(Array:D $a, Array:D $b --> Array)␤ in any at gen/parrot/BOOTSTRAP.nqp:1219␤ in any at gen/parrot/BOOTSTRAP.nqp:1210␤ in sub infix:<+=> at /tmp/tmpfile:1␤ in sub infix:<+=> at /tm…»
..rakudo-moar c2982d: OUTPUT«Cannot call 'infix:<+=>'; none of these signatures match:␤:(Array:D $a, Array:D $b --> Array)␤ in sub infix:<+=> at /tmp/tmpfile:1␤ in sub infix:<+=> at /tmp/tmpfile:1␤ in sub infix:<+=> at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
colomon p: multi sub infix:<+=>(Array:D $a, Array:D $b --> Array:D) { for 0..2 -> $i { $a[$i] += $b[$i]; }; $a; }; my Array $v = Array.new(1, 2, 3); my Array $a = $v; $a += $v; say :$a.perl; say :$v.perl; 04:02
camelia rakudo-parrot c2982d: OUTPUT«Cannot call 'infix:<+=>'; none of these signatures match:␤:(Array:D $a, Array:D $b --> Array)␤ in any at gen/parrot/BOOTSTRAP.nqp:1219␤ in any at gen/parrot/BOOTSTRAP.nqp:1210␤ in sub infix:<+=> at /tmp/WC1nEwRjQj:1␤ in sub infix:<+=> at …»
colomon overthinking this 04:03
p: my Array $v = Array.new(1, 2, 3); my Array $a = $v; $a[2] = 42; say :$a.perl; say :$v.perl;
camelia rakudo-parrot c2982d: OUTPUT«"a" => [1, 2, 42]␤"v" => [1, 2, 42]␤»
colomon diakopter: understand my huh now? Or am I completely missing something important? 04:04
04:05 grep0r left 04:06 kaleem joined 04:08 lue joined, grep0r joined
colomon I mean, I'm guessing it's copying the containers rather than the values. Though.... 04:08
p: my Array $v = Array.new(1, 2, 3); my Array $a = $v; $a.push(42); say :$a.perl; say :$v.perl;
camelia rakudo-parrot c2982d: OUTPUT«"a" => [1, 2, 3, 42]␤"v" => [1, 2, 3, 42]␤»
colomon ah, no. 04:09
copying the array like that just copies the array object.
raydiak when using $, you get item semantics, not array semantics...so $a = $v puts ref in $v into $a
(dunno if I'm using the right wording there, though) 04:10
s/array/list/
colomon I think this may be a serious flaw in japhb_'s Vec3 is Array scheme
or a serious flaw in my notion of how Vec3 should be used. 04:13
raydiak if you're putting it into a $ var, you'd expect it to act more as an object than an array, wouldn't you?
it does what you expectif you put it in @ and treat it as if you're expecting an array instead 04:14
eg I wouldn't expect $obj1 = $obj2 to clone
colomon hmm 04:15
raydiak but I would expect @coords1 = @coords2 to do so, and it does
04:16 grep0r left
colomon I'm mucking about with japhb_'s Vec3 class. github.com/japhb/Math--ThreeD 04:16
lue Since when did = act like := ? (Or do I just need to review containers?)
raydiak the only hiccup there is "my @vec = Vec3.new" won't work unless you don't care about the result being an Array instead of Vec3, you have to use := if you assign to an @ var 04:17
*shrug* been that way since before I wrote the advent post about array-based objects 04:18
colomon and yeah… the issue here is that he's defining Vec3 as mutable in the name of efficiency. I hadn't really thought about that before, but these tests indicate there are a lot of gotchas with my naive understanding of how such Vec3s should work.
raydiak what other things are unexpected besides what we just discussed? 04:20
04:20 grep0r joined
raydiak not trolling, seriously interested 04:20
colomon … actually, that's the only gotcha I can recall at the moment (I badly need to go to bed) but that's a pretty huge one. Certainly my instinct is that a Vec3 should work pretty much like a Complex with three nums instead of two. But in fact there is no resemblance there at all. 04:23
raydiak needs to re-read about Complex
colomon raydiak: a Complex works pretty much exactly like any other number or string value in p6 04:24
they're immutable, so when it looks like you're modifying the Complex object, you're actually creating a new one.
raydiak ah, I see
colomon p: my $a = 1 + 2i; my $b = $a; $a += .5i; say :$a.perl; say :$b.perl 04:25
camelia rakudo-parrot c2982d: OUTPUT«"a" => Complex.new(1, 2.5)␤"b" => Complex.new(1, 2)␤»
raydiak I suspect some sort of trickery could cause that to work as you'd like, but as performance is one of the main goals of the lib, we definitely want to be able to copy by ref and mutate in place 04:28
colomon I'm not sure I buy that argument anymore. 04:29
I would hope that Rakudo evolves so that Complex is actually very efficient. 04:30
raydiak I have wondered how much these things apply in the umpteen layers of translators and optimizers between a p6 script and the hardware :)
sometimes the way a change impacts Pray performance seems very odd and counter-intuitive to me 04:31
colomon and if there have been laments that doing math work in Haskell is needlessly slow because everything is immutable, I missed them.
afk # bed 04:32
04:46 SamuraiJack joined
diakopter colomon: don't ask me about containers vs values, because I apparently have a mental block against comprehending those in this language 04:48
raydiak me too...I almost kinda wonder if the boxing/unboxing is a little *too* transparent and dwimmy in some way 04:52
04:54 varna joined
diakopter but that's the thing 04:55
containerizing is on top of boxing
raydiak oh, that's right. been thinking about native nums too much lately, I guess 04:56
diakopter er, at least, I wouldn't understand it if there was a nqp::decont and nqp::unbox that were identical
I just want to know when there is an array or list with Scalars in each slot for each value 04:58
and if so, how to make an array that doesn't have that baloney
raydiak if I read it right, that's part of the definition of an Array
diakopter if I want scalarrefs wrapping every lvalue, ... well that is just crazy 04:59
04:59 krunen joined
diakopter I haven't understood the benefit of doing that, yet 04:59
raydiak TimToady suggested is Parcel while the is Array argument was going on yesterday
not sure if anyone noticed 05:00
skids Wouldn't an array in a CStruct be that? The spec says it has to be stored C-like in memory. (probably NYI)
diakopter I missed that discussion [the whole thing]
well there is CArray, I thought
skids Probably, I can't keep up with what's spec and what is experimental in Zavolaj. 05:01
diakopter you can't store p6 objects in a CArray, that much I know
05:02 flussence joined
diakopter but I'm talking about just normal 10,000-item arrays of Doge or whatever 05:02
05:02 Tene left
diakopter do I really want 10,000 extra 96-byte Scalars allocated to wrap every slot 05:03
05:03 djanatyn left
skids Well, it depends on the size of the element. 05:04
05:04 flussence left
diakopter Doge 05:04
pointers
05:04 flussence joined
diakopter P6Opaque repr 05:04
05:04 jeffreykegler left, Tene joined, Tene left, Tene joined, japhb_ is now known as japhb 05:05 djanatyn joined
japhb 96 bytes (12 64-bit pointers/values) seems a tad excessive for a Scalar. 05:05
skids The immutability bias also affects code that works with large disposable strings.
diakopter looks how big the p6scalar repr is in moar 05:06
05:08 jeffreykegler joined
japhb colomon, raydiak: I thought of a couple more details in the Array v. attributes discussion: 05:09
1) rw attributes are containerized as well 05:10
2) array subscript is a multi sub, so currently inlinable; attribute public access is a method call, so (IIUC) not currently inlineable 05:11
diakopter japhb: what is a container and why does rakudo use them 05:12
skids should see how many of the workarounds in gist.github.com/skids/2771728 are still needed.
japhb 3) You definitely want to be able to easily operate on vectors/matricies as referenced items, but yes, in Perl 6 binding can do that, so I could do a sigil change and allow copy semantics. However, it's easy for people to accidentally copy when they didn't mean to. So that becomes a "does the API make it easy to do what you mean" thing. 05:13
Perhaps just getting .clone right is a better option there.
diakopter: I think of a Perl 6 Scalar container as being a smarter version of a perl5 RV. 05:14
but of course there are other types of container. :-)
raydiak japhb: what about writing the core functionality as a lib of inlinable subs or syntactic macros (something with near-zero runtime overhead) which just takes 3 positional args for a vec, which can be wrapped with a class based on any structure (is Array or otherwise), or just used directly 05:16
japhb diakopter: see github.com/samuraisam/p6-pb/blob/m...or.pm#L104 and following for a limited use case, but there's definitely more details in the BOOTSTRAP 05:17
raydiak: easily converting between 3 elements and 1 vector makes sense, but I think you usually want the 1 vector way of thinking of it, when you're not in the depths of something like the cross operator. 05:18
raydiak: I think the key thing there is that you definitely want a Quaternion and a Matrix to be single units unless you're writing the ops for them. 05:19
diakopter japhb: a rakudo scalar is 7 pointers, two uint16 and one uint32 05:20
japhb ouchie.
diakopter well, and a 32-bit pad on x64
er.
on non-x64
japhb Why the pad?
diakopter b/c p6opaque is mimicing how a c compiler is laying out objects 05:21
slots I mean
japhb Assuming the uint32 comes before the uint16's, they'll all be naturally aligned, and the total will also be a power-of-two.
If they're laid out in the wrong order, then ... why?
skids Alignment really does not matter anymore to modern CPUs FWIW. 05:22
diakopter see MVMCollectable and MVMObject in 6model.h
it's not about alignment for the cpu, it's about alignment for a struct inside a struct
inside a struct
japhb 64 bytes (512 bits) is either 1 or 2 cache lines, rather neatly. If you have padding, you cross cache lines on a number of arches.
skids: Alignment vis-a-vis cache lines does. 05:23
skids yeah, that does.
japhb See the ruby optimization to make the basic object type *larger*, but always on one cache line.
diakopter japhb: first it has a uint32 owner thread id
then 16 flag bits 05:24
then 16 bits indicating object size
japhb Well, that's fine then, that leaves everything on natural alignment.
diakopter then a pointer to the forwarder object during gc marking [jnthn mentioned the other day we possibly can get rid of that]
then a pointer to the serialization context of the object
then a pointer to the stable
then the 32 bit pad on 32-bit 05:25
then a replaced pointer for when a p6opaque gets swapped out
for another type I think
"If we get mixed into, we may change size." 05:26
skids runtime mixins?
diakopter then "of" - type of the rakudo scalar value
japhb I still don't see the point of the pad. Padding an entire pointer size makes no sense, unless I'm missing something.
diakopter (pointer)
it might be so the MVMCollectable header is the same size everwhere? :S I dunno 05:27
then an int64 "rw" - indicating whether it's writable
er wait
oops, was describing the container descriptor.
back up before "of"
next we have the pointer to the descriptor - which seems a way to factor out a bunch of things that are common across many containers 05:28
then a pointer to the value, which is another p6 object
then a pointer to its WHENCE
property
notably, these containers cannot hold native values 05:29
so if it's to hold a int or num, it needs another boxed p6object
I'm curious how many of these things are allocated when compiling the setting. 05:31
well, i guess that's mostly nqp code 05:32
so nm
japhb Some of these definitely feel "too big", but I dunno how much savings there really would be unless it could be shrunk from 8 pointer sizes to 4. 05:35
diakopter they're bump allocated on 32-bit alignment I think 05:36
in the nursery
so it would save exactly that amount
05:37 werebutt joined, werebutt left
diakopter in moar, anyway 05:37
but anyway, I don't think it could be reduced
skids I used to worry about these things. Then I came to the realization that any improvements would be very gradual and they would be the very last things to be optimized. 05:38
japhb skids: Well, we are finally in the optimization phase (mind you, the beginnings of, but might as well start thinking about it) 05:40
:-)
skids Yeah, but there are plenty of higher levels to optimize at. 05:41
japhb Optimize all the levels!
05:41 kaleem left
japhb Still, I understand your point. 05:42
skids Well, before even optimizing around any native types, actually getting their behavior functional and fully specced would seem more important. 05:43
Because nobody is going to write code using native types given their beta behavior.
japhb But some of the optimizations will require thinking about them at all levels. For example, something that involves shifting entries from one structure to another requires changes in the NQP code and maybe even the Rakudo code, but also all the way down in the VM layer. 05:44
I wasn't even talking about native types there.
raydiak japhb: I agree that we don't want to force users to have to pass vectors and matrices one element at a time; that's what the thin wrapper(s) would be for...I guess it just seemed like a good idea to separate concerns if there's no runtime cost, and would simplify the generator script too 05:46
diakopter is keenly aware that jnthn could be highly offended by the last 100 messages here 05:47
"ARGH we just haven't gotten to optimizing those portions yet; they shouldn't complain so much; don't they know that I would've optimized this area by now if it was time for it yet?" 05:48
(the personal offense taken by someone who assumes that we see that the only person who could've ever optimized and could ever optimize to that extent is him, and therefore assumes that we are second guessing his decisions about prioritizing work 05:50
)
raydiak japhb: also then we could define operations which use other operations, without any extra (un-)boxing/containerization, type checking, dispatching, other call overhead etc
japhb: not arguing, I intend to yield to your good judgement for now, just wanted to get your complete thoughts :) 05:53
skids I think jnthn++ is quite used to having to prioritize including the "politics" of it, and probably will just be happy that more people are reading the deep code.
japhb skids: I would think so, yes. 05:55
diakopter designers who have already thought through everything 100 steps beyond everyone else sometimes find it difficult to remain patient when others stumble blindly through redesigning and reconsidering things they have already considered, rejected, or planned to take care of
skids The key question there is will ephemeral box/unbox/containerization become optimizable so that no actual structures are created.
japhb raydiak: No worries. Try it! 05:56
diakopter I think the mental model of their default nonoptimized operation should at least be comprehensible first
skids fair enough :-)
diakopter raydiak: what do you mean by defining other operations 05:57
05:58 varna left, Alina-malina left
raydiak diakopter: vector operations which make use of other vector operations 05:59
05:59 Alina-malina joined
skids diakopter: Hopefully jnthn++ backlogs after breakfast+coffee. I find that can be the deciding factor in how I take "meddling" in the stuff I've already thought through. 06:00
raydiak diakopter: eg method normalize { $vec.scale: 1/$vec.length } # yes I know, divide by 0 06:02
japhb diakopter: A good example of what raydiak is talking about would be reflect and refract.
diakopter also, language designers [including the implementers] should not be affronted by continued obtuseness from me.. I guess the tabula rasa perspective can seem very devil's advocatey at length
06:03 [Sno] joined
diakopter skids: jnthn doesn't do breakfast ;) 06:04
raydiak: okay, hm
skids up too late
diakopter japhb: raydiak: but one would think that compositions of optimally-optimizable things are also optimally optimizable
06:09 Woodi left, jeffreykegler left 06:17 araujo left
raydiak diakopter: that's basically one of my points...writing the math part itself internally as macros or inlinable subs gives more optimal compound operations, even if we provide non-inlinable api features like is rw in the public interface 06:19
06:20 zacts joined
zacts does perl6 allow for one-liners? 06:20
06:20 darutoko joined
diakopter zacts: yeah, some 06:20
06:21 REPLeffect joined
diakopter zacts: what kinds of one-liners do you have in mind 06:22
raydiak though to be honest, compound ops were an afterthought...I was thinking more about how to separate the number-crunching from the "is Array" vs "has Array" vs "has ($.x,$.y,$.z)" representation debate without adding overhead or growing the simple generator into an ill-conceived monstrosity 06:33
06:47 kaleem joined
moritz good morning 06:47
raydiak morning 06:48
06:52 FROGGS left 06:55 krunen left 06:57 krunen joined 07:05 FROGGS[mobile] left
japhb morning, moritz 07:12
07:35 FROGGS joined
moritz \*/ 07:54
07:56 rrrrr left
FROGGS morning 07:56
08:10 zakharyas joined 08:16 dmol left 08:23 btyler left 08:29 dayangkun left 08:36 pecastro_ left 08:37 pdcawley joined 08:42 labster left, labster joined, mavcunha joined, SHODAN left, SHODAN joined 08:43 perigrin left, perigrin joined, timotimo left, arnsholt_ joined, timotimo joined, arnsholt left 08:51 mavcunha left 08:55 mavcunha joined, sqirrel joined 08:59 mavcunha left
dalek ast: 01da548 | (Tobias Leich)++ | S03-operators/assign.t:
bump plan
09:09
timotimo o/ 09:12
dalek kudo/nom: cb25619 | (Tobias Leich)++ | src/core/Parameter.pm:
show "Any" in Parameter.gist

This seems to be wanted.
masak antenoon', #perl6 09:13
FROGGS o/
diakopter / o
FROGGS o _ 09:14
^--- greeting in #vb
diakopter heh
dalek kudo/nom: 6aa1949 | (Tobias Leich)++ | src/Perl6/Grammar.nqp:
allow definition of custom postcircumfixes
09:21
09:24 [Sno] left 09:26 dakkar joined 09:31 salv0 left 09:32 salv0 joined, djanatyn left 09:33 djanatyn joined 09:34 djanatyn left, prammer left, djanatyn joined, prammer joined 09:36 denis_boyun joined 09:37 tipdbmp left 09:38 tipdbmp joined 09:45 krunen left 09:47 krunen joined 09:48 pecastro joined 09:58 crab2313 joined 10:01 varna joined
moritz FROGGS++ 10:09
10:11 telex left 10:21 [Sno] joined, sqirrel left
FROGGS moritz: it is not perfect though about handling terminators and whitespace 10:25
moritz FROGGS: "not perfect" is much better than "not" :-) 10:26
FROGGS true
though I think I need help to fix the remaining issues, but this needs to wait to after $work 10:27
10:33 telex joined 10:34 telex left 10:41 crab2313 left 10:45 bonsaikitten left 10:46 bonsaikitten joined 10:55 dmol joined 11:02 telex joined 11:06 darutoko left 11:07 darutoko joined 11:21 colomon left 11:23 colomon joined 11:27 daniel-s_ joined 11:32 daniel-s_ left 11:33 daniel-s_ joined
colomon jnthn: BTW, smoker runs seem to indicate that Rakudo Parrot is taking a second or two longer in stage parse than it did a week ago. 11:39
11:42 djanatyn left, djanatyn joined 11:43 djanatyn left
colomon 86.2 today, 86.3 yesterday, 85.9 on the 25th, 85.5 on the 24th, 84.9 on the 23th, 84.7 on the 22nd, 85.1 on the 21st…. 11:43
11:43 djanatyn joined
hoelzro it knows MoarVM is the hot new thing 11:43
and it's stalling for time!
11:44 tipdbmp left 11:50 djanatyn left, djanatyn joined 11:56 daniel-s_ left, daniel-s_ joined
dalek kudo/nom: acf7bd2 | (Tobias Leich)++ | src/Perl6/Actions.nqp:
strip "return" if the thing to return is the last
12:02
FROGGS colomon: I'd be eager to know if this makes a visible change --^
12:05 rindolf joined
colomon FROGGS: smoking... 12:07
12:09 atroxaper joined
FROGGS colomon++ 12:09
12:09 kaleem left
tadzik FROGGS++ 12:10
12:15 dayangkun joined
colomon 85.9 12:16
FROGGS hmmm 12:17
I will strip more later, maybe it helps a bit 12:18
12:21 bjz left, bjz joined
moritz do those variants actually produce different ASTs? 12:25
I somehow thought that NQP optimized out th emost common case
12:26 kaleem joined 12:27 prevost joined
FROGGS r: my $time = nqp::time_n(); for ^100000 { sub { return 42 }() }; say nqp::time_n() - $time 12:33
camelia rakudo-parrot acf7bd: OUTPUT«2.99864196777344␤» 12:34
..rakudo-moar acf7bd: OUTPUT«1.78675055503845␤»
..rakudo-jvm acf7bd: OUTPUT«1.5709998607635498␤»
FROGGS r: my $time = nqp::time_n(); for ^100000 { sub { 42 }() }; say nqp::time_n() - $time
camelia rakudo-parrot acf7bd: OUTPUT«1.36541604995728␤»
..rakudo-moar acf7bd: OUTPUT«1.24346971511841␤»
..rakudo-jvm acf7bd: OUTPUT«1.9659998416900635␤»
12:34 kaleem left
FROGGS r: my $time = nqp::time_n(); for ^100000 { sub { return 42 }() }; say nqp::time_n() - $time 12:34
camelia rakudo-parrot acf7bd: OUTPUT«2.76536798477173␤»
..rakudo-moar acf7bd: OUTPUT«1.86698055267334␤»
..rakudo-jvm acf7bd: OUTPUT«1.553999900817871␤»
12:34 kaleem joined
FROGGS r: my $time = nqp::time_n(); for ^100000 { sub { 42 }() }; say nqp::time_n() - $time 12:34
camelia rakudo-moar acf7bd: OUTPUT«1.28492331504822␤»
..rakudo-jvm acf7bd: OUTPUT«0.2350001335144043␤»
..rakudo-parrot acf7bd: OUTPUT«1.3962881565094␤»
colomon ??? 12:35
12:35 krunen left
colomon does not understand JVM's times in there. 12:35
FROGGS except the jvm weirdness one can see what happens :o)
tadzik I think what moritz meant is that in nqp it doesn't make a difference, while in perl6 it does
jlaire one does not simply understand JVM
FROGGS tadzik: point taken
tadzik nqp: my $time := nqp::time_n(); for 0..100000 { sub { 42 }() }; say(nqp::time_n() - $time) 12:36
camelia nqp-parrot: OUTPUT«Missing block at line 2, near "..100000 {"␤current instr.: 'panic' pc 15952 (gen/parrot/stage2/NQPHLL.pir:5947) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
..nqp-jvm: OUTPUT«Missing block at line 2, near "..100000 {"␤ in panic (gen/jvm/stage2/NQPHLL.nqp:378)␤ in pblock (gen/jvm/stage2/NQP.nqp)␤ in xblock (gen/jvm/stage2/NQP.nqp)␤ in statement_control:sym<for> (gen/jvm/stage2/NQP.nqp)␤ in !protoregex (gen/jvm/stage2/QRegex.…»
..nqp-moarvm: OUTPUT«Missing block at line 2, near "..100000 {"␤ at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:panic:120)␤ from <unknown>:1 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/nqp.moarvm:pblock:222)␤ from <unknown>:1 …»
tadzik uhh
no ranges in nqp, prolly
moritz aye 12:37
tadzik nqp: my $time := nqp::time_n(); my $i := 0; while $i < 100000 { sub () { 42 }(); $i++ }; say(nqp::time_n() - $time) 12:38
camelia nqp-jvm: OUTPUT«0.11999988555908203␤»
..nqp-moarvm: OUTPUT«0.102521419525146␤»
..nqp-parrot: OUTPUT«0.237454891204834␤»
tadzik nqp: my $time := nqp::time_n(); my $i := 0; while $i < 100000 { sub () { return 42 }(); $i++ }; say(nqp::time_n() - $time)
camelia nqp-jvm: OUTPUT«0.15599989891052246␤»
..nqp-moarvm: OUTPUT«0.153414964675903␤»
..nqp-parrot: OUTPUT«0.361402034759521␤»
tadzik there's a difference alright
moritz ok
I was wrong
tadzik nqp: my $time := nqp::time_n(); my $i := 0; while $i < 5000000 { sub () { return 42 }(); $i++ }; say(nqp::time_n() - $time)
camelia nqp-parrot: OUTPUT«(timeout)»
12:38 dayangkun left
camelia ..nqp-moarvm: OUTPUT«6.62866878509521␤» 12:38
..nqp-jvm: OUTPUT«1.0499999523162842␤»
tadzik nqp: my $time := nqp::time_n(); my $i := 0; while $i < 5000000 { sub () { 42 }(); $i++ }; say(nqp::time_n() - $time) 12:39
FROGGS with return it is like 60% slower on nqp, and 100% slower on rakudo
on my box
on parrot
camelia nqp-parrot: OUTPUT«7.51664805412292␤»
..nqp-jvm: OUTPUT«0.7329998016357422␤»
..nqp-moarvm: OUTPUT«3.79196381568909␤»
tadzik yeah, a win nonetheless
FROGGS when all meaningless returns are stripped, I guess we win one or two seconds 12:40
tadzik [Like]
arnsholt_ Wasn't the biggest part of the Zavolaj speed-up removing a needless return? 12:41
tadzik I'd still like something like that in the Perl 6 Optimizer
12:41 arnsholt_ is now known as arnsholt
tadzik arnsholt: unsure. timotimo's benchmarks showed, that it doesn't make that much of a difference in itself 12:41
arnsholt Ah, right
tadzik in practice, it seemed to :)
but I still left the caching in there 12:42
arnsholt I just remember that it was slow and now it's faster =D
tadzik it seems like a fair thing to do :P
did you see the fluently running asteroids?
well "fluently"
moritz so, who's going to write an optimizer pass that optimizes out returns
tadzik and buggy :P
arnsholt No, I didn't. Linky?
12:43 dmol left, dmol joined
tadzik github.com/tadzik/p6steroids 12:44
there's something that prevents you from losing the game
except when it makes you lose for no reason
I've no idea why this happens
arnsholt *giggle* 12:47
That's a funny failure mode =D
I'll give it a spin tonight 12:48
Don't think I have SDL headers on my work machine =)
tadzik ok, fixed it :)
12:52 tipdbmp joined
moritz 397 iterations in 10.3544800281525 seconds, giving 38.340891954073 fps, sort of 12:52
12:58 tipdbmp left
tadzik it's rigged to not go over ~50 fps 12:58
you can try to force it to run faster changing github.com/tadzik/p6steroids/blob/...pper.c#L33
once every 16ms means sort-of-60fps 12:59
but I should roll out some frame dropping mechanism
13:01 tipdbmp joined 13:03 dmol left, SamuraiJack left 13:06 darutoko left 13:07 smls joined 13:08 skids left 13:11 djanatyn left 13:12 djanatyn joined
hoelzro github.com/github/linguist/pull/90...t-33302017 13:12
what does that mean?
13:14 djanatyn left 13:15 djanatyn joined
timotimo i haven't a clue 13:15
13:18 sqirrel joined 13:27 rindolf left
smls perl6: say "aaa \n bbb \x2028 ccc".perl; 13:32
camelia niecza v24-109-g48a8de3: OUTPUT«"aaa \n bbb \x[2028] ccc"␤»
..rakudo-parrot acf7bd, rakudo-jvm acf7bd, rakudo-moar acf7bd: OUTPUT«"aaa \n bbb 
 ccc"␤»
smls in my terminal, I the only output I see is "aa \n bb 13:33
(without closing quote)
Shouldn't rakudo's .perl deparse the \x2028 like niecza does? 13:34
moritz the basically only spec for .perl is that it and eval reound-trips 13:35
smls PS: this is used at rosettacode.org/wiki/Strip_whitespa...ail#Perl_6
wanted to add an "output" listing to that page, so people understand what .perl does in that example 13:36
colomon perl6: say "aaa \n bbb \x2028 ccc".perl.EVAL.ords 13:37
camelia rakudo-parrot acf7bd, rakudo-jvm acf7bd, rakudo-moar acf7bd, niecza v24-109-g48a8de3: OUTPUT«97 97 97 32 10 32 98 98 98 32 8232 32 99 99 99␤»
smls but if the output looks broken in the terminal, I better don't showcase it... ;)
colomon perl6: say " \n bbb \x2028 ".trim.ords 13:39
camelia rakudo-parrot acf7bd, rakudo-jvm acf7bd, rakudo-moar acf7bd, niecza v24-109-g48a8de3: OUTPUT«98 98 98␤»
moritz p6: say "aaa \n bbb \x2028 ccc".encode
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: No value for parameter '$enc' in 'Str.encode'␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (Str.encode @ 1) ␤ at /tmp/tmpfile line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at…»
..rakudo-moar acf7bd: OUTPUT«Buf:0x<61 61 61 20 0a 20 62 62 62 20 -1e -80 -58 20 63 63 63>␤»
..rakudo-parrot acf7bd, rakudo-jvm acf7bd: OUTPUT«Buf:0x<61 61 61 20 0a 20 62 62 62 20 e2 80 a8 20 63 63 63>␤»
moritz rakudo-moar produces negative numbers 13:40
smls ok, I "fixed" the rosettacode example by simply replacing \x2028 with a different whitespace character that doesn't break in a terminal... :) 13:47
moritz anybody want to submit a bugreport for the moar output above?
smls moritz: re. eval round-tripping, does that mean we can expect the contents of code blocks/subs to be deparsed in .perl output at some point? 13:51
moritz smls: yes 13:52
though that's non-trivial 13:53
13:57 FOAD left 14:00 dmol joined 14:03 rindolf joined 14:25 jnap joined 14:28 cognominal left, cognominal joined 14:34 kbaker joined 14:37 varna left 14:38 kaare__ left 14:40 skids joined 14:43 cognominal left, bluescreen10 joined, cognominal joined 14:44 ajr joined 14:45 ajr is now known as Guest93182
diakopter jlaire: lol 14:46
lizmat r: my @a=^10; sub a ($x) { @a[$x] }; my $p := (8,9); say a($p); say @a[$p] 14:47
camelia rakudo-parrot acf7bd, rakudo-jvm acf7bd, rakudo-moar acf7bd: OUTPUT«2␤8 9␤»
lizmat seems wrong to me: would have expected 8 9 8 9
am I wrong?
moritz that's the tricky "should the $ force it to be an item?" question on which we've been back and forth 14:48
r: my @a = ^10; sub a(\x) { @a[x] }; my $p := (8,9); say a($p); say @a[$p] 14:49
camelia rakudo-parrot acf7bd, rakudo-jvm acf7bd, rakudo-moar acf7bd: OUTPUT«8 9␤8 9␤»
14:49 Guest93182 is now known as ajr_
dalek kudo-star-daily: ac708a3 | coke++ | log/ (5 files):
today (automated commit)
14:50
moritz wait, whey 2 in lizmat's first example?
lizmat number of elements in parcel 14:51
moritz ah, I thought there was an offby1 error, but there isn't
IMHO it would be more consistent to say 2 both times
14:51 FOAD joined
lizmat even if $p is bound to the parcel? 14:52
[Coke] if I add simplistic timing to the daily spec test runs, would 'real' be ok? (broken out, I think by "everything before we run spec test" and "spec test" ?
lizmat r: my @a=^10; sub a ($x) { @a[$x] }; my $p = (8,9); say a($p); say @a[$p] # not bound
camelia rakudo-parrot acf7bd, rakudo-jvm acf7bd, rakudo-moar acf7bd: OUTPUT«2␤2␤»
moritz there could be another solution 14:53
lizmat [Coke]: how about real and user+sys ?
moritz forbid binding of non-item values to $ variables
skids r: my (\x); x := 4; # wonders if asking "why" would be fruitfully educational or just confusing 14:54
camelia rakudo-parrot acf7bd, rakudo-jvm acf7bd, rakudo-moar acf7bd: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Cannot use bind operator with this left-hand side␤at /tmp/tmpfile:1␤------> my (\x); x := 4⏏; # wonders if asking "why" would …»
[Coke] at that point, probably easier to track them all independantly and shove them in the CSV.
lizmat [Coke]: fair enough :-)
[Coke] will do that, then; have a R, U, S for each of the two major steps.
moritz ++[Coke] 14:55
[Coke] will get that working this week.
moritz lizmat: the problem is: if we force $a := (1, 2) to always behave like an item, we have to introduce *another* layer of indirection
thus my innovative suggestion of forbidding it :-) 14:56
lizmat I wonder how much this would break core settings
from a language point of view, we need simple rules
skids moritz++ it does sort of violate the sigil contract 14:57
moritz it would break quite a bit
lizmat the current rules about slicing are a bit vague :-(
moritz mlenz@mlenz-workstation:~/p6/rakudo$ git grep '\$.*:=' src/core/|wc -l
670
lizmat :-( 14:58
moritz many of those could be switched to sigilless form
lizmat this would make sense anyway, right? 14:59
moritz anyway, that was just a random idea from me; I have no idea if it's actually feasible, and a good idea
lizmat I mean, the $ forms could be old code
or at least, old thinking :-)
moritz well, it used to be that foreign (non-p6) values couldn't be assigned to variables, just bound 15:00
15:00 rindolf left 15:01 btyler joined, skids left
[Coke] btw, thanks to everyone for making #perl6 a nice project to work on. 15:11
15:12 kaleem left
lizmat I totally agree with that :-) 15:14
15:21 grondilu joined
jnthn evening, #perl6 15:28
Oslo...it has some snow :)
15:30 daniel-s_ left
FROGGS hi jnthn 15:33
jnthn o/ 15:34
lizmat jnthn o/ 15:36
jnthn Whoa, lot of backlog...
15:36 spider-mario joined
jnthn has been busy with teaching git all day... 15:36
diakopter but what were you teaching the git 15:37
jnthn :P 15:38
I had a very lovely group to teach today...not gits at all :P
arnsholt So you taught them how to git. Very good! =D 15:40
ajr_ 100% agreement with lizmat: "from a language point of view, we need simple rules"; the more consistent the language, the easier it will be to teach, and the more likely to catch on. 15:42
15:44 treehug88 joined 15:45 sqirrel left
arnsholt Simple is a very qualitative metric though, and there's simplicity on several axes 15:47
15:47 dayangkun joined
arnsholt Lisp has very simple syntax, for example (except it's actually fiendishly complex in some Lisps), but quite complex semantics 15:47
jnthn I think the better point of view is that, just as in natural language, inconsistencies must pull their weight.
who/whom didn't, so it's dead. less/fewer doesn't really, so it's probably also dying. :) 15:48
15:49 mavcunha joined 15:59 tipdbmp left, tipdbmp joined 16:02 thou joined
tadzik heh. "Dear Jonathan Test" 16:16
thank you, Red Hat Training, that's very kind :)
timotimo :3 16:17
16:17 dmol left, zakharyas left 16:20 [Sno] left 16:25 kaleem joined, kaleem left 16:29 stevan__ joined 16:31 atroxaper left 16:32 stevan_ left
masak eveninä, #perl6 16:35
evenin'*
jnthn o/
16:37 treehug88 left 16:38 treehug88 joined 16:42 pdurbin left, ajr_ left 16:43 ajr joined, ajr is now known as Guest52982, Guest52982 is now known as ajr_ 16:51 sqirrel joined 16:57 krunen joined 17:03 denis_boyun left 17:06 dmol joined
tadzik funny thing: 17:14
r-m: my $t = nqp::time_n; for ^10000 { so any(False, True, False) }; say nqp::time_n() - $t
camelia rakudo-moar acf7bd: OUTPUT«9.96943640708923␤» 17:15
tadzik r-m: my $t = nqp::time_n; for ^10000 { so False or True or False }; say nqp::time_n() - $t
camelia rakudo-moar acf7bd: OUTPUT«0.110731601715088␤»
tadzik am I missing something (constant folding?), or is so-any very slow?
17:15 FROGGS left
timotimo looks like it could be constant folding, aye. look at the generated ast and if it's constant-folded you'll see it 17:19
well, the or and so operators should be pure, no?
17:19 [Sno] joined
tadzik should 17:19
17:19 jnap left
tadzik I'm curious, cos when I changed so-any to or-or, it yielded a _big_ speedup in asteroids 17:20
it was a hotpath, but still
17:20 BenGoldberg joined, jnap joined
tadzik from --target=ast it doesn't seem like it's getting constant-folded 17:21
it is calling infix-or twice
timotimo yeah, that's the wrong target :) 17:24
you need to pass --target=optimize
tadzik oh!
still no folding 17:25
timotimo ah well.
junctions are hella slow
17:27 locsmif joined 17:29 pecastro left
moritz 'or' isn't pure 17:29
it's thunky
so evaluating it can call the thunks, which are impure (potentially) 17:30
17:30 pdcawley left, treehug88 left
arnsholt tadzik: I heart you just a bit for doing this SDL stuff, BTW 17:31
tadzik :)
moritz: what about or on things that are values, like Bools? 17:32
so: things that are not callable, or something
arnsholt: btw, do callbacks work on jvm at this point? 17:33
17:33 SamuraiJack joined
arnsholt Nope, NYI 17:34
tadzik I wonder how faster will asteroids get
timotimo r-m: my $t = nqp::time_n; for ^10000 { so (False | True | False) }; say nqp::time_n() - $t
camelia rakudo-moar acf7bd: OUTPUT«10.1571633815765␤»
timotimo wha .... what?
i thought my optimization should kick in and unfold that 17:35
jnthn I wonder if that's hitting one of the odd slow-path things...
timotimo oh, of course not, there's no operation in there %)
r-m: my $t = nqp::time_n; for ^10000 { so (False | True | False) == True }; say nqp::time_n() - $t
moritz tadzik: I don't know if we have the infrastructure to un-thunk things that don't need to be thunk
camelia rakudo-moar acf7bd: OUTPUT«(timeout)»
timotimo r-m: my $t = nqp::time_n; for ^10000 { so ((False | True | False) == True) }; say nqp::time_n() - $t
camelia rakudo-moar acf7bd: OUTPUT«(timeout)»
timotimo ... huh. 17:36
tadzik timotimo: are you sure evalbot is running on sufficiently high --optimize?
moritz tadzik: I know we have some (primitive) logic for default values for parameters/attributes and such, but no idea how well it generalizes
timotimo r-m: my $t = nqp::time_n; for ^10000 { if ((False | True | False) == True) { True } else { False }; say nqp::time_n() - $t
camelia rakudo-moar acf7bd: OUTPUT«===SORRY!=== Error while compiling /tmp/IWEYqcS0AJ␤Unable to parse expression in block; couldn't find final '}' ␤at /tmp/IWEYqcS0AJ:1␤------> else { False }; say nqp::time_n() - $t⏏<EOL>␤ expecting any of…»
tadzik moritz: hm
timotimo r-m: my $t = nqp::time_n; for ^10000 { if ((False | True | False) == True) { True } else { False } }; say nqp::time_n() - $t
camelia rakudo-moar acf7bd: OUTPUT«(timeout)»
timotimo :(
moritz evalbot runs on the default optimization level, whatever that is 17:37
17:37 pdcawley joined
tadzik heh. Asteroids take an average 10 ms to compute a new frame on my machine, but sometimes it may take up to 219 :/ 17:38
219 ms for an animation frame is unsatisfactory whatever magic I come up with
I guess I'll have to make that lower then :)
timotimo garbage collector?
tadzik oh! 17:39
of course
it explains why it happens even though no crazy thing is happening
jdv79 how do you guys keep up this pace of late? its cool.
timotimo i'd very much like it if we could get an iterative garbage collector or what they are called
jdv79 jnthn: thanks for the blog post 17:40
tadzik maybe if I predeclared all variables.... ;P
timotimo jdv79: it's mostly jnthn motivating us with his progress :)
at least that's what it is for me 17:41
tadzik so, jvm has concurrent gc, maybe that'd help at some point
jnthn timotimo: You probably mean incremental :) 17:42
timotimo exactly
(well, our GC is exact already)
(no, wait! that's precise!)
grondilu tadzik: would you consider adding some screenshots? 17:43
tadzik grondilu: I took some, but it's really nothing too look at :) 17:44
17:44 dakkar left
tadzik grondilu: but sure, this imgur.com/F2eWaWT runs at mostly 60 fps on my machine 17:44
17:47 denis_boyun joined
arnsholt tadzik: Is there anything other than callbacks you need to try your Asteroids game on JVM, BTW? 17:48
tadzik arnsholt: I don't think so. It's not even using C structs 17:49
arnsholt Cool
In that case I might try to add callbacks to the JVM version first
tadzik \o/
that'd be awesome
17:50 rurban1 joined
tadzik if making them argument-free at first will make it easier, I can workaround that 17:50
arnsholt Don't think it'll matter much 17:52
17:52 SamuraiJack left
arnsholt That's useful to know though. I'll keep you posted 17:52
timotimo i like the sound of that :) 17:54
17:55 rindolf joined 17:57 FROGGS joined
FROGGS jdv79: it is easy, ten people share a single nick :o) 18:00
tadzik . o O ( it's my turn to be jnthn! ) 18:01
timotimo :D
FROGGS but seriously, progress motivates, which gives progress and so on
18:01 pdcawley left
FROGGS and it is awesome to work for a project that has awesome designers (and hackers) 18:01
18:03 alexghacker joined
timotimo especially motivating is suddenly having a more performance VM to toy with 18:05
performant*
jnthn arnsholt: I know I've said it before, but my word is hellfire lacking in eating places... :) 18:07
18:07 tgt joined
jnthn thinks he'll head downtown to find something more interesting than the hotel restaurant... 18:07
timotimo oh wow 18:08
hellfire refers to a place?
jnthn timotimo: Helsfyr :P
timotimo i was very confused to find your word lacking in eating places
gotta prepare some food now
TimToady there were some pretty good places down near the train station, as I recall 18:09
jnthn It's the concrete jungle bit of Oslo that I'm staying in
It's only benefit is close to teaching
TimToady: Yeah, that's where I'm gonna head.
Was kinda hoping to do a small stroll instead of metro...but there's mostly sushi and a badly rated pub...
jnthn goes nom hunting... 18:10
&
18:15 ajr_ left 18:17 SamuraiJack joined 18:18 telex left 18:20 telex joined 18:21 beastd joined 18:31 SamuraiJack left, treehug88 joined 18:36 sqirrel left 18:37 telex left 18:40 krunen left, telex joined
arnsholt jnthn: Yeah, it's a bit out of the way 18:41
Gimme a prod next time you're in town and I can give you some pointers to food
18:41 krunen joined
tadzik can confirm 18:44
18:47 pecastro joined 18:48 tgt left, tgt joined 18:51 araujo joined, araujo left
nwc10 is there an easy way to run the spectest in parallel? 18:56
I can't spot it in the docs
aha, something like this? 18:58
perl t/harness --fudge --moar --keep-exit-code --jobs=24 --tests-from-file=t/spectest.data
mmm, things fail.
arnsholt TEST_JOBS=n works if you have a reasonably recent version too, IIRC 18:59
18:59 ajr joined, ajr is now known as ajr_
nwc10 aha yes, in the environment 19:00
19:03 FROGGS[mobile] joined 19:04 tgt left 19:13 Rotwang joined 19:17 sqirrel joined 19:19 tgt joined 19:35 sqirrel left, V_S_C joined
V_S_C In the PERL6/nqp repository 19:35
in the src\vm\parrot\ops folder 19:36
19:36 tgt left
V_S_C in the nqp.ops file 19:37
19:37 tgt joined
V_S_C the gethostname function is used 19:37
FROGGS V_S_C: is that a new song?
V_S_C thats available from unistd 19:38
but on windows MSVC the file needs winsock2.h
19:38 [Sno] left, djanatyn left 19:39 [Sno] joined
FROGGS hmmm, but it compiles on my windows box 19:39
V_S_C FROGGS: I dunno why on x64 toolchain it builds
19:39 djanatyn joined
V_S_C but it kept breaking on x86 19:40
FROGGS ahh, yeah, that might be it
V_S_C As I wanted ICU, its how I happened to start trying to build Rakudo for myself
19:41 djanatyn left 19:42 djanatyn joined
V_S_C nmake just completed on my system, so I immediately reported 19:43
19:43 djanatyn left
V_S_C I'll continue with the x86 build & hopefully have +ve news soon 19:44
19:44 V_S_C left 19:45 djanatyn joined
FROGGS cool 19:45
19:50 Tene left 19:51 djanatyn left 19:53 djanatyn joined 19:56 Tene joined, Tene left, Tene joined 19:57 jeffreykegler joined 20:02 jeffreykegler left
jnthn back 20:11
arnsholt: I went to Greenland, and found some Indian place by there. :) 20:12
arnsholt Just by the exit to the subway station? 20:13
jnthn No, a 5ish minute walk 20:16
moritz the Oslo metro goes to Greenland?
arnsholt Not the one I might have suggested, then
jnthn arnsholt: There seem to be a bunch in that area. I noticed on the way back to the subway station I accidentally walked past one...
arnsholt There are two just by the metro, actually 20:17
There's a very good one by Alexander Kiellands plass, but you have to change to a bus downtown to get to that one 20:18
jnthn ah
I was going for easy :)
nwc10 good Indian? Anything curious on the menu? 20:19
arnsholt I assumed =)
Oh, actually there's a bus that goes directly from Helsfyr there 20:20
Stops just across the street from the restaurant, even
jnthn oh...
nwc10: Nothing special on the menu. Food was fine...nothing crazy good, but certainly not bad either.
nwc10: I said "madras" and it was reasonably hot. :) 20:21
masak TIL Alexander Kielland is one of the "four greats" in Norwegian literature. 20:22
arnsholt Yep
masak I'm not sure we have "greats" in Swedish literature :> 20:23
only "kinda good, I guess" ones
arnsholt IIRC the term was invented to sell a collection of those four authors' books
masak ah.
jnthn masak: Surely Sweden has "lagoms"? :P 20:24
masak that's it, of course.
arnsholt You have Strindberg, he's pretty great 20:25
sjn remembers the "Strindberg and Helium" cartoon 20:26
classic
masak ddg-s, and lols 20:28
"miseryyyy-y-y-y" 20:31
sjn cracks up every time he sees those cartoons :)
20:32 tgt left 20:39 kurahaupo joined 20:49 grondilu left 21:00 havenwood joined 21:02 dayangkun left 21:07 jnap left 21:17 dayangkun joined 21:22 V_S_C joined 21:27 rylinaux left, bluescreen10 left 21:29 bluescreen10 joined
V_S_C FROGGS: Good news: I got windows x86 ICU parrot on MSVC toolchain working, unlike x64 even Panda is working on it. 21:30
FROGGS cool!
V_S_C: can you prrovide pull requests for the affected repositories?
dalek kudo/nom: cb1c86f | jonathan++ | tools/build/ (2 files):
Generalize create-moar-runner.

Means we'll be able to use it to create a perl6-debug one also.
21:31
kudo/nom: c884dc1 | jonathan++ | / (3 files):
Add perl6-debug into MoarVM build.
colomon jnthn=+ 21:32
jnthn++
colomon isn't sure if he has ever successfully built perl6-debug 21:33
V_S_C okay but may I do that later today
its 3am
jnthn It almost looks like it's about to work on Moar, then explodes when trying to sync a file handle... 21:35
Will do it for JVM also 21:36
And Parrot
Though maybe not tonight :)
21:36 rylinaux joined, jnap joined 21:37 V_S_C left
FROGGS V_S_C: sure :o) 21:37
jnthn++ 21:38
21:41 djanatyn left 21:42 djanatyn joined 21:45 smls left
jnthn yay, fixed the sync thing and have a working perl6-debug on Moar. 21:45
That's kinda cool 21:46
nwc10 yay!
colomon \o/ 21:48
dalek rl6-roast-data: 07099d7 | coke++ | / (6 files):
today (automated commit)
21:51
masak jnthn++ 21:52
jnthn Guess I'll use that in my thingy talk :)
[Coke]: Any diagnostics on the build failure? 21:53
FROGGS gnight #perl6
timotimo gnite FROGGS :)
corecatcher nn FROGGS
21:53 FROGGS left
jnthn 'night FROGGS[mobile] 21:54
21:54 FROGGS[mobile] left
[Coke] feather.perl6.nl/~coke/LAST_OUTPUT , search for moar - looks like a pull on a github repo failed. 22:01
I do not yet have the 3rd party moar repos setup with a local caching git repo copy. 22:02
I can try to re-work today's commit. let me start moar's build again.
this run seems to have no issue with github. re-running. 22:03
I'll just force push the fix later.
(eh. or regular push.)
jnthn [Coke]: ah, ok
[Coke]: Then not too worrying :) 22:04
[Coke] I wonder what would happen if I did a git clone of a 3rdparty lib into where the submodule was expecting t. 22:05
masak 'night, #perl6
22:06 rindolf left
[Coke] ~~ 22:07
22:07 virtualsue joined, LordVorp left
raydiak good afternoon #perl6 22:16
22:17 daniel-s_ joined, rindolf joined 22:19 locsmif left 22:27 kbaker left 22:29 kaare__ joined 22:30 daniel-s_ left
colomon \o 22:34
22:36 eternaleye left
dalek rl6-roast-data: 5b95fa6 | coke++ | / (2 files):
Re-run moar.

  (previous run hit a temporary snag talking to github)
22:36
22:37 eternaleye joined
[Coke] jnthn: ^^ 22:38
passes 2 more tests than yesterday.
jnthn [Coke]++ # thanks!
"every little helps" :)
22:41 bluescreen10 left
colomon seems panda doesn't run on moar yet? :) 22:42
jnthn colomon: No, though I did remove the JSON::Tiny not working blocker, so I guess we're onto the next one now... :) 22:46
22:49 spider-mario left 22:50 kurahaupo left 22:51 Rotwang left 23:05 geekosaur left
jnthn 'night, #perl6 23:22
23:23 baest_ left, baest joined, dalek left 23:24 dalek joined, ChanServ sets mode: +v dalek 23:26 rindolf left, treehug88 left 23:27 berekuk joined 23:30 frankbutt joined, frankbutt left 23:33 rylinaux left 23:35 ajr_ left 23:40 xinming_ joined, rylinaux joined 23:41 treehug88 joined 23:43 xinming left 23:44 krunen left 23:45 FOAD_ joined, obra_ joined 23:47 colomon_ joined 23:48 rylinaux left, FOAD left, obra left, rylinaux_ joined, FOAD_ is now known as FOAD, colomon left 23:49 colomon_ is now known as colomon 23:51 rylinaux_ is now known as rylinaux 23:52 obra_ is now known as obra 23:53 FOAD left, FOAD joined
raydiak what's the difference between returning with an explicit return vs just implying return of the last value in the block? 23:53
23:54 mavcunha left 23:55 krunen joined 23:56 berekuk left 23:58 beastd left