»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:03 geever left 00:17 eli-se left, Vlavv_ left 00:23 aborazmeh joined, aborazmeh left, aborazmeh joined 00:45 laouji joined 00:50 Vlavv_ joined 00:52 flussence left 01:00 flussence joined 01:05 askjhadskjhsdkjh joined 01:10 dayangkun joined 01:11 askjhadskjhsdkjh left 01:24 ash_gti joined 01:30 ash_gti left 01:31 ash_gti joined 01:32 zakharyas joined 01:34 ash_gti left 01:41 yeahnoob joined 01:52 aborazmeh left
dalek c: 4d18abf | hoelzro++ | lib/Type/Supply.pod:
s/offset/delay/ for Supply.interval

  'delay' is more accurate given the method's time-based nature.
01:52
02:01 xiaomiao left 02:02 xiaomiao joined 02:17 georgi left 02:23 chenryn joined, aborazmeh joined, aborazmeh left, aborazmeh joined 02:24 georgi joined 02:35 Ben_Goldberg joined 02:38 BenGoldberg left
dalek osystem: eb9d31d | retupmoca++ | META.list:
Add Data::ICal
02:44
02:44 flussence left 02:45 flussence joined 02:46 zakharyas1 joined 02:47 zakharyas left 02:55 yeahnoob left 02:57 colomon left, colomon joined 03:03 dayangkun left 03:04 colomon left 03:05 jferrero left 03:06 colomon joined 03:07 ash_gti joined 03:08 telex left, yeahnoob joined 03:10 telex joined 03:13 aborazmeh left 03:19 noganex joined, ash_gti left 03:21 ash_gti joined 03:22 noganex_ left 03:23 muraiki left 03:25 ash_gti left 03:30 ash_gti joined 03:33 zacts joined 03:34 ash_gti left 03:45 adu joined 03:48 yeahnoob left 03:53 laouji left 04:01 yeahnoob joined 04:04 laouji joined 04:07 chenryn left 04:21 dayangkun joined, fhelmberger joined 04:25 fhelmberger left 04:26 dayangkun left 04:31 Ugator joined 04:39 dayangkun joined 04:43 Ben_Goldberg left 04:51 chenryn joined 05:03 tinyblak joined 05:07 Ugator left 05:08 vendethiel left 05:10 yeahnoob left, yeahnoob joined, vendethiel joined 05:16 kurahaupo left 05:19 aborazmeh joined, aborazmeh left, aborazmeh joined 05:40 tinyblak left, tinyblak joined 05:41 kaare__ joined, kaare_ left 05:42 anaeem1_ joined 05:46 aborazmeh left 05:47 LonelyGM left 05:55 aborazmeh joined, aborazmeh left, aborazmeh joined 05:56 raiph left 06:02 sisar joined 06:03 mr-foobar left 06:08 dayangkun left 06:11 zakharyas1 left 06:15 vendethiel left 06:22 vendethiel joined 06:28 tinyblak_ joined, tinyblak left
dalek rl6-most-wanted: 4a259fe | (Tom Browder)++ | most-wanted/modules.md:
add two desired modules found on CPAN
06:32
rl6-most-wanted: b972643 | (Tom Browder)++ | most-wanted/modules.md:
modify
rl6-most-wanted: 3902f77 | Adrian++ | most-wanted/modules.md:
Merge pull request #2 from tbrowder/master

Add new modules wanted
06:36 mr-foobar joined 06:38 adu left 06:43 vendethiel left 06:47 FROGGS joined 06:50 vendethiel joined
raydiak good night #perl6 06:53
FROGGS gnight raydiak
raydiak good morning FROGGS :) 06:54
06:57 diana_olhovik_ joined 07:00 mr-foobar left 07:04 prime left 07:15 xprime joined 07:17 georgi left
dalek p/install-dir-layout: 8564111 | moritz++ | / (3 files):
Install dir layout: replace "languages" with "share"

on MoarVM only, atm
07:19
07:26 georgi joined 07:30 kaare__ is now known as kaare_ 07:34 vendethiel left 07:41 vendethiel joined
bartolin FTR, I opened a ticket for the bug with typed arrays from yesterday: RT #124079 07:45
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124079
07:46 diana_olhovik_ left
[Tux] jnthn, your MultiRange was helpful, but your gather on method list returned entries twice in overlapping ranges 07:46
07:46 diana_olhovik_ joined
[Tux] My solution is github.com/Tux/CSV/blob/master/test-t.pl#L50 07:46
07:49 zakharyas joined 07:50 bjz joined 07:57 Rounin joined 07:58 CurtisOvidPoe joined, Ven joined 08:02 sergot joined 08:03 vendethiel left 08:05 bjz left 08:11 alini left
psch o/ 08:19
08:20 vendethiel joined
psch a hint! «sub f (int $x is rw) { $x + 1 }; my int $x = 1; say f $x» *doesn't* NPE/SEGV with --optimize=off 08:20
08:22 darutoko joined
moritz m: sub f (int $x is rw) { $x + 1 }; my int $x = 1; say f $x 08:24
camelia rakudo-moar 97215d: OUTPUT«2␤»
psch ...on jvm :s 08:25
08:26 yeahnoob left
psch it NPEs when run with perl6-j and SEGVs when the debugger is attached and used in any meaningful manner around the spot where it would NPE 08:27
afair java 1.8 just straight NPEs, i think donaldh++ confirmed that
moritz gehts the NPE too 08:28
*gets
dalek kudo/install-dir-layout: 7920c16 | moritz++ | / (5 files):
Install dir layout: replace /languages/ with /share/

MoarVM only so far
kudo/install-dir-layout: 1c58dd2 | moritz++ | tools/build/ (2 files):
Tweak install layout for the JVM
psch err, 1.8 SEGVs even without debugger it was
08:29 aborazmeh left
psch it looks like it's not the call => callstatic replacement, so it should be inlining? 08:30
08:30 bjz joined
psch inlining of &infix:<+> that is 08:30
dalek p/install-dir-layout: 216b72e | moritz++ | tools/build/ (2 files):
Adjust install dirs on the JVM
08:31
08:41 vendethiel left 08:45 kjs_ joined 08:46 vendethiel joined 08:52 sqirrel joined 08:55 CurtisOvidPoe left 08:56 CurtisOvidPoe joined, laouji left 08:57 rurban joined, alini joined
TimToady slept too hard, now he'll have to be awake through his talk tonight... 08:57
08:58 sisar left, laouji joined
psch yup, turning Optimizer.inline_call into a noop makes the snippet run without problems 09:00
...i don't think that's a sensible solution
moritz psch++ # debugging
09:01 cschwenz joined
psch but the problem is probably somewhere else anyway, and the inlining only makes it come up there 09:01
09:01 CurtisOvidPoe left
psch S02-types/native.t still fails, even with the optimizer change 09:01
there's apparently at least two bugs in the nativeref code on jvm 09:02
or one bug that has multiple symptoms that look somewhat unrelated... 09:03
09:12 CurtisOvidPoe joined 09:16 Foxcool_ left
lizmat pmichaud: re irclog.perlgeek.de/perl6/2015-03-15#i_10284492 and $?BITS: $*KERNEL is rather heavy in its creation, and I haven't been able to make a $?KERNEL yet that doesn't break precomp :-( 09:16
09:17 Foxcool joined 09:21 vendethiel left 09:24 vendethiel joined 09:27 wicope joined
dalek kudo/nom: 748e695 | lizmat++ | src/core/Int.pm:
Make $?BITS only visible inside Int
09:31
09:34 silug left 09:45 sqirrel left 09:49 silug joined 09:52 rindolf joined 09:54 Sir_Ragnarok left, coffee` joined 09:56 laouji left 09:57 laouji joined 09:59 Sir_Ragnarok joined 10:05 espadrine joined 10:07 spider-mario joined 10:09 vendethiel left 10:12 zacts left 10:16 abraxxa joined, Ven left 10:20 vendethiel joined 10:22 fhelmberger joined 10:27 fhelmberger left 10:35 aborazmeh joined, aborazmeh left, aborazmeh joined
dalek ast: 57e1f3c | lizmat++ | S09-typed-arrays/native-int.t:
Expanded native int tests
10:37
10:41 alini left, alini joined, alini left 10:45 xinming left 10:49 donaldh joined
moritz www.reddit.com/r/programming/commen...or_perl_6/ my blog post is doing astonishingly well on reddit 10:53
like, currently top position in r/programming
psch moritz++ 10:54
just saw that as well
10:55 Ven joined
psch the one comment by combinatorylogic kind of deserves an answer, imo, even though it's nearly nothing but bait 10:55
(but i'm not one to argue on the internet)
ah, and it got an answer between me seeing it and talking about it here :) 10:56
arnsholt Eh, pointless Lisp stuff 10:57
10:59 jferrero joined
psch i am reminded of the Blub discussion in here yesterday 11:03
11:09 muraiki joined 11:16 xiaomiao is now known as AmazingPudding
lizmat m: my $a := int.new[int] # wondering whether this should also work ? 11:19
camelia rakudo-moar 748e69: OUTPUT«No such method 'BUILDALLPLAN' for invocant of type 'Perl6::Metamodel::NativeHOW'␤ in method BUILDALL at src/gen/m-CORE.setting:989␤ in method bless at src/gen/m-CORE.setting:981␤ in method new at src/gen/m-CORE.setting:967␤ in block <unit> at /…»
lizmat m: my @a := array.new[int]; say @a.perl # like this ? 11:20
camelia rakudo-moar 748e69: OUTPUT«Must parameterize array[T] with a type before creating it␤ in method validate-parameterized at src/gen/m-CORE.setting:11383␤ in method new at src/gen/m-CORE.setting:11371␤ in block <unit> at /tmp/Ci1qQyHXdb:1␤␤»
lizmat m: my @a := array[int].new; say @a.perl # like this ?
camelia rakudo-moar 748e69: OUTPUT«array[int].new()␤»
lizmat m: my $a := int[int].new # wondering whether this should also work ?
camelia rakudo-moar 748e69: OUTPUT«===SORRY!===␤Cannot find method 'parameterize'␤»
11:27 vendethiel left 11:31 Alina-malina left, vendethiel joined, Alina-malina joined 11:32 chenryn left 11:33 LonelyGM joined 11:35 xinming joined 11:36 aborazmeh left 11:39 CurtisOvidPoe left, LonelyGM left 11:41 Alina-malina left 11:42 Alina-malina joined
DrForr Howdy. I'm not trying to reignite the flamewar over spacing, but given complex numbers like 2+3i, is there a whitespace-free way to write that if '3' were a variable? 11:42
11:42 Ven left
DrForr ${x}i was my first thought but it appears to be unsupported. 11:42
I suspect that would require a Slang which I'm not going to be able to write in the next few hours :) 11:43
psch m: my $x = 3; say 2+($x)i # ?
camelia rakudo-moar 748e69: OUTPUT«2+3i␤»
psch m: my $x = 3; my $y = 2+($x)i; say $y.WHAT 11:44
camelia rakudo-moar 748e69: OUTPUT«(Complex)␤»
DrForr Ah, I'd forgotten. It's the simple things.
11:44 chenryn joined
DrForr And I did that with (sin( $θ/2 ))i last night. 11:44
moritz my: my $x = 3; say 2 + $x\i;
m: my $x = 3; say 2 + $x\i; 11:45
camelia rakudo-moar 748e69: OUTPUT«2+3i␤»
DrForr I think I like the escaped version better, thanks.
11:45 georgi left
DrForr Excellent. One more pass to make sure I remember what the hell I'm talking about, then I can get back to work. 11:46
11:48 krunen left 11:51 rindolf left 11:54 vendethiel left 11:55 AmazingPudding is now known as DrEeevil 11:57 Ven joined 11:58 vendethiel joined 12:02 venki joined
venki hi 12:02
i am a perl 5 programmer for past 6 years 12:03
want to help in perl 6 or perl 5 development
may i know how can i be helpful
lizmat m: 'my num32 @arr = 1.1e0,1.2e0,1.3e0; my num32 $s = 0e0; for @arr { $s += $_ }; say $s # jnthn, seems num32 is busted for meta ops 12:04
camelia rakudo-moar 748e69: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HBw25N9Z3E␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/HBw25N9Z3E:1␤------> 3nthn, seems num32 is busted for meta ops7⏏5<EOL>␤ expecting any of:␤ pref…»
lizmat m: my num32 @arr = 1.1e0,1.2e0,1.3e0; my num32 $s = 0e0; for @arr { $s += $_ }; say $s # jnthn, seems num32 is busted for meta ops
camelia rakudo-moar 748e69: OUTPUT«-8589934592␤»
lizmat m: my num32 @arr = 1.1e0,1.2e0,1.3e0; my num32 $s; for @arr { $s += $_ }; say $s # jnthn: worse if $s not initialized 12:05
camelia rakudo-moar 748e69: OUTPUT«0␤»
Ven The guy who write idris wrote a paper on how the backends system works and how he made one for php: eb.host.cs.st-andrews.ac.uk/drafts/...-idris.pdf
12:05 kjs_ left
Ven venki: welcome :). I'd recommend starting it at first, did you try the learnxinyminutes or perlgeek.de's article on 5-to-6? 12:05
DrForr Ven: Write code, report bugs? That's what I've been doing for a little while.
lizmat m: my num64 @arr = 1.1e0,1.2e0,1.3e0; my num64 $s; for @arr { $s += $_ }; say $s # num and num64 seem ok
camelia rakudo-moar 748e69: OUTPUT«NaN␤»
lizmat ah, not :-( 12:06
Ven DrForr: wrong tab completion I'm afraid
lizmat m: my num64 @arr = 1.1e0,1.2e0,1.3e0; my num64 $s = 0e0; for @arr { $s += $_ }; say $s # num and num64 seem ok
camelia rakudo-moar 748e69: OUTPUT«3.6␤»
lizmat if $s is initialized
DrForr venki: Write code, report bugs. There are still many to be found before September :)
lizmat rakudobugging
DrForr Ven - Thanks.
venki so u guys mean to say learn perl 6 12:08
moritz venki: that's one avenue 12:09
venki: you could also organize conferences, find donors/sponors, do marketing
venki: it really depends on what *you* want to do
venki i am interested in writing code to make my hands dirty
DrForr Give talks... 12:10
moritz venki: a good place to start is writing applications and modules in Perl 6
DrForr venki: Nothing's stopping you, download the compiler and have at it?
lizmat .tell jnthn problem with num32: #124083
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124083
yoleaux lizmat: I'll pass your message to jnthn.
venki ok
lizmat .tell jnthn problem with ininitialized num/num32/num64: #124084 12:11
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124084
yoleaux lizmat: I'll pass your message to jnthn.
12:13 venki left
dalek ast: 94df3fa | lizmat++ | S09-typed-arrays/native-num.t:
Expand native num tests

With one skip for #124083
12:19
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124083
lizmat nothing like writing tests to find bugs :-) ^^^ 12:20
12:23 fhelmberger joined
bartolin lizmat++ 12:25
dalek ast: d3f1356 | lizmat++ | S09-typed-arrays/native-int.t:
Native int test tweaks inspired by recent num tests
12:26
12:27 fhelmberger left 12:28 chenryn left, chenryn joined, chenryn left 12:34 virtualsue joined
[Coke] moritz++ nqp install stuff. There's a ticket, btw: 12:35
github.com/perl6/nqp/issues/154 - I just assigned it to you; I had grabbed it yesterday but didn't commit anything. 12:36
(that sounds like I had stuff to commit yet, which I did not) 12:37
moritz [Coke]: I saw your comment in the ticket, but wasn't aware of the assigning-to-people feature :-) 12:43
fwiw rakudo on moar and JVM seem to work fine in those branches 12:44
12:44 laouji left
moritz though I haven't panda'd yet 12:44
I just fear it might breka nqp-p
12:44 laouji joined
moritz *break 12:45
12:45 anaeem1_ left 12:46 anaeem1 joined
dalek kudo/nom: cd51b34 | usev6++ | src/core/operators.pm:
Flatten return values from SEQUENCE

Fixes RT #80574 and makes 3 fudged tests in S03-sequence/misc.t pass
12:46
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=80574
kudo/nom: 88cc986 | lizmat++ | src/core/operators.pm:
Merge pull request #385 from usev6/nom

Flatten return values from SEQUENCE
moritz panda works too 12:48
dalek kudo/nom: 8d193d8 | lizmat++ | src/core/native_array.pm:
Hopefully reduce number of re-allocations
12:51
12:51 anaeem1 left
moritz ok, nqp-p works in those branches, as tested with a simple nqp-p -e 'say(42)' 12:51
I don't know what else to test
so, my plan would be to merge after this week's release 12:52
any objects?
(merging the install-dir-layout nqp and rakudo branches, that is)
*any objections?
moritz clearly can't type
lizmat no objects from me :-)
lunch&
12:59 xfix joined
timotimo o/ 13:00
13:02 virtualsue left
[Coke] moritz: we can leave nqp-parrot installing in the odd place for now if it helps. 13:02
it would be more convenient for me if they were merged pre-release, but I get that that is not safe. 13:03
moritz [Coke]: well, installing in one place and looking for libraries in another wouldn't be so good :-)
[Coke] Easy enough for me to bundle the patch with the initial port for nqp.
moritz does NQP come with anything loadable by default which I could use to test the installation? 13:05
timotimo hm, use QAST? 13:07
moritz works. 13:09
timotimo i'm not 100% sure if it looks at the filesystem to get that module 13:10
moritz 'use QRegex;' also works
where else would it get it from?
timotimo in memory?
moritz stat("/home/mlenz/p6/rakudo/nqp/install/lib/parrot/6.10.0-devel/languages/nqp/libQRegex.pbc", {st_mode=S_IFREG|0644, st_size=466080, ...}) = 0
timotimo good 13:11
moritz strace says it looks into the FS :-)
timotimo strace is super useful
moritz ok, Works[TM]
timotimo (though perf trace is a bit better)
moritz: cannot parameterize type Works with this value.
moritz "Type Works", the annual Haskell workshop 13:12
timotimo :3 13:13
dalek ast: 6a567f8 | lizmat++ | S03-sequence/misc.t:
Unfudge now passing tests, usev6++
13:26
bartolin oh, you beat me to it :-) lizmat++ 13:28
13:28 virtualsue joined
lizmat afk for an hour or so& 13:29
13:40 telex left 13:41 kaare_ left, fhelmberger joined 13:42 telex joined 13:46 laouji left 13:47 anaeem1 joined 13:51 raiph joined 13:57 colomon left 13:59 rindolf joined, lichtkind joined 14:11 kjs_ joined 14:27 zakharyas left 14:36 rindolf left 14:38 alini joined, Ugator joined
hoelzro o/ #perl6 14:43
14:44 LonelyGM joined 14:45 eli-se joined
eli-se guten Tag 14:45
psch hoelzro, eli-se \o 14:46
hoelzro o/ eli-se, psch
eli-se hoelzro \o/ psch,
psch trying to fix --target=jast, hoping that i get insight into the nativeref bug that way 14:47
which means first finding out what exactly is wrong with --target=jast /o\
14:47 eli-se left
LonelyGM eli-se: hoelzro: psch: o/ 14:48
psch o/ LonelyGM 14:49
hoelzro o/ LonelyGM 14:50
14:52 hoelzro_weechat joined
dalek ast: 5e3f7bf | lizmat++ | S02-lexical-conventions/comments.t:
Unfudge using # as a quote marker tests

Seems TimToady's temp fix is good enough to last
14:53
lizmat
.oO( only 3 more days until the next release )
14:54
moritz not saying that we should, but we could adjust our release cycle if we wanted 14:55
lizmat fwiw, I was thinking from April onwards, we might want to do a 2-weekly release cycle
with jnthn going at "full fart" :-) 14:56
14:56 rmgk_ joined, rmgk is now known as Guest95262, Guest95262 left, rmgk_ is now known as rmgk
moritz what do we gain? 14:56
lizmat quicker more general exposure to new features, especially if combined with a * release 14:57
14:58 eli-se joined
moritz I'm not sure that's worth it 14:58
[Coke] -1 from me.
moritz releases are still quite a bit of manual work
and star releases even more so 14:59
[Coke] We already have a way for users to get the latest.
14:59 zcm joined
moritz and then we break our versioning scheme 14:59
LonelyGM do you think a 2 week release cycle is realistic enough to keep up with it?
moritz and at the times where both jnthn++ and pmichaud++ had time for programming, we still didn't shorten the release cycle
lizmat ok, then so much for that idea :-)
moritz so, -0.5 from me
geekosaur release engineering takes time and mental focus away from development 15:00
lizmat true, let's *not* discuss this idea further :-) 15:01
15:01 eli-se left
dalek kudo/nom: 1add79c | lizmat++ | docs/release_guide.pod:
Add yours truly for the May release
15:02
[Coke] lizmat++ 15:06
[Coke] tries to spread info on the FB Perl Developers page.
Ven why did I read FBI perl developers page? 15:10
Ziemniak I read the same haha
timotimo hm 15:11
15:11 zcm left
timotimo i'm wondering how the spread of "sister language" vs "new language" opinions is 15:11
Ulti could someone remind me of what the semantics are of typed lists? 15:15
as in what something like my Int @list; actually implies
s/remind/teach me/ 15:16
moritz Ulti: it type-constraints elements of @list to Int (and subtypes thereof)
it also makes @list.of return Int 15:17
timotimo (or the type object of Int or any subtype thereof)
Ulti ok 15:18
dalek ast: 0bfd751 | lizmat++ | S09-typed-arrays/native- (2 files):
Add native tests for := , :delete and [*-1]
15:19
Ulti just wondering if [1].first-index("1") should really match for something like Int @list
timotimo first-index and friends do smart matching
Ulti I just noticed that stricter languages never match that
Ulti was used to the perl way
timotimo right
timotimo you can * eqv "1"
15:23 aborazmeh joined, aborazmeh left, aborazmeh joined
Ulti m: say 1 ~~ 1.0; say '1' ~~ 1.0; say 1 ~~ '1.0'; say '1' ~~ '1.0'; 15:27
camelia rakudo-moar 1add79: OUTPUT«True␤True␤False␤False␤»
Ulti the third False is a bit of a huwah? for me 15:28
15:28 perl6_newbee joined
timotimo m: say "foo" ~~ "foobar" 15:28
camelia rakudo-moar 1add79: OUTPUT«False␤»
timotimo interesting
psch Str.ACCEPTS calls iseq_s 15:29
m: say 1.Str eq '1.0'
camelia rakudo-moar 1add79: OUTPUT«False␤»
psch is what we do behind ~~ for the third comparison
Ulti especially given '1.0'.Int == 1 15:30
psch: ahh ok
psch Ulti: $a ~~ $b means $b.ACCEPTS($a)
Ulti: so '
Ulti: so '1.0' is what's given, in that case 15:31
and Str.ACCEPTS does pretty much eq
15:31 aborazmeh left
psch fwiw, infix:<~~> behind that way around still feels unintuitive to me, but i've consciously accepted it :) 15:32
dalek kudo/nom: 21f01b0 | lizmat++ | src/core/ (2 files):
Add .Range "coercer" for Num/Rat types
15:33
Ulti ok this isn't great
m: my Rat @list = (1.0,2.0); say @list.first-index(2); say @list.first-index('2'); say @list.first-index(2.0); say @list.first-index('2.0'); 15:35
camelia rakudo-moar 1add79: OUTPUT«1␤1␤1␤Nil␤»
timotimo oh, for a moment i thought '1' ~~ '1.0' ended up True
that WTF'd me
but i can totally understand why it'd False
Ulti that last one just now is very very not DWIM if you first saw Int @list since that kind of works out how you imagine with a naive idea of what is happening 15:36
timotimo i suppose that's fair 15:39
dalek pan style="color: #395be5">perl6-examples: 328646a | paultcochrane++ | categories/euler/prob022-grondilu.pl:
[euler] read names.txt independently of run dir
pan style="color: #395be5">perl6-examples: 3e53705 | paultcochrane++ | categories/euler/prob022-grondilu.pl:
[euler] make solution to problem 22 give correct answer

The input data needed to have the double quotes stripped from it and the words split on commas.
timotimo but learning about smart match semantics is very important for understanding perl6
Ulti sure but that example is really not great I'm calling first-index not explicitly doing a smart match 15:40
with something that you know the type of shouldn't it be a coerce to that type
timotimo yes, it's not a good example
i don't agree; why not have the user use the given type of that list? 15:41
what kinds of things would you allow to coerce?
lizmat m: my uint64 @a = -1; say @a.perl # same for uint
camelia rakudo-moar 21f01b: OUTPUT«array[uint64].new(-1)␤»
timotimo would you allow code blocks to be attempted to coerce? junctions? type objects?
lizmat I guess this would be the same for uint32 on 32bit machines
lizmat rakudobugs 15:42
Ulti timotimo you already have it .Int
timotimo you have what .Int?
Ulti just expect there to be a method .Type returning Type 15:43
psch if you know the type of what you want to compare to, use the correct comparison op
timotimo m: my Rat @list = (1.0, 2.0); say @list>>.Str
camelia rakudo-moar 21f01b: OUTPUT«1 2␤»
psch no point in smart matching against a Int (or Rat) array when you want to compare nuermically
*numerically
timotimo indeed
Ulti for one thing if I had a native int array and I wanted the first index of something you want some nice low level comparisson on the CPU 15:44
lizmat m: my uint64 @a = -1; say @a.perl # RT #124088 15:45
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124088
camelia rakudo-moar 21f01b: OUTPUT«array[uint64].new(-1)␤»
timotimo Ulti: if you have a native int array, why would you even give first-index (or whatever) a string?
dalek ast: 6f15520 | lizmat++ | S09-typed-arrays/native-int.t:
Add some unsigned native int specific tests
timotimo FWIW, multi-dispatch will give you a low-level int comparison in this case (not sure if spesh will end up making that happen correctly yet) 15:46
pmichaud lizmat: could you tell me what $?BITS actually represents?
Ulti timotimo because the rest of the program can still be as dynamic as I like
15:46 spider-mario left
lizmat the number of bits in a native int 15:46
FROGGS pmichaud: my guess is longsize * 8
well, our int... which can be longer that long in future 15:47
timotimo Ulti: also, the presence of a .Int doesn't mean you can coerce; try "hello".Int
pmichaud and I guess we'll never have the case of a precomp'd module running in an environment with a different sized native int?
timotimo m: say "".Int
camelia rakudo-moar 21f01b: OUTPUT«0␤»
lizmat pmichaud: I would think not, that would wreak havoc on things like NativeCall 15:48
timotimo i'm not actually sure it would, lizmat
if you use "int", you'll get surprised no matter whether you're using precomp'd or not, AFAIK
pmichaud that's the point of my question... the $? in $?BITS means that it's a compile-time value
lizmat well, then I go back to *my* definition: the number of bits in what "native int" is at compile time :-)
the thing is that $*KERNEL.bits might actually be 64 on a 32bit build, couldn't it ? 15:49
LonelyGM sorry guys maybe it is a stupid question and i am viewing language design from another perspective I think, but in case of is @arr[ 9], 0, is whitespace necessary in the brackets? and if yes why is that? I mean what is its function? again sorry if it is a stupid question
FROGGS sizes of the natives types are detected at repr compose time, if not even VM compile time
timotimo Ulti: i feel we're not going to convince each other on this :S
lizmat LonelyGM:not, that's purely esthetic for lining up code
Ulti timotimo my actual preference is the whole thing explodes at runtime if you dont pass an actual Typed parameter 15:50
since thats what the strongly typed world expect
timotimo a typed parameter?
pmichaud as long as "my constant" means it happens prior to CHECK then I'm okay with $?BITS
Ulti yeah so my Num $param = 2.0; @list.first-index($param) is fine but without the Num it complains about lack of a type 15:51
timotimo do you mean array[T] and Positional[T] should enforce the arguments to .first-index, .grep, ... to conform to T?
Ulti if I wanted something generic I wouldn't have specified a typed list
psch i can see that, actually
i mean, see it as a somewhat sensible expectation 15:52
Ulti timotimo: sure
timotimo so @list.first-index(* > 10) is not acceptable?
psch but it still breaks on junctions, except for Mu @arr
m: say Code ~~ Any 15:53
camelia rakudo-moar 21f01b: OUTPUT«True␤»
psch basically, it breaks every convenenience, for a bit more type safety
lizmat pmichaud: keeping $?BITS internal to Int for now
FROGGS and fwiw, $?BITS seems to huffmanize something that might not be useful/used enough
lizmat it's the only place I needed it for performance reasons (so far) 15:54
pmichaud lizmat: works for me for now :)
FROGGS (I am talking about exposing it to userland of course)
Ulti timotimo I'd prefer the type safety on a typed list than the magic goodness of a normal Perl 6 list
15:54 tinyblak_ left
timotimo OK. in this case i am just in violent disagreement 15:54
Ulti unless currying somehow checks that the * > 10 is actually * > 10.0
timotimo it will not
Ulti like if the * had an implied type that matched
psch well, one could work around that with a pointy, but it's still not worth it 15:56
lizmat Pictures of TheDamian in Amsterdam last week: www.flickr.com/photos/wendyga/sets...367081891/
15:57 LonelyGM left
Ulti timotimo I am in peaceful disagreement since utlimately it doesn't bother me so long as I know what to expect... that JavaScript had a super strict indexOf kind of shocked me after years of daily perl :) 16:02
16:02 Ven left
Ulti also given how pants and unstrict and weird JS is everywhere else 16:03
psch m: my Int @arr = ^3; @arr.can('first-index')[0].wrap(-> $s, $a { $a ~~ $s.of ?? nextsame() !! die "bad type" }); say @arr.first-index(2); say @arr.first-index("2")
camelia rakudo-moar 21f01b: OUTPUT«2␤bad type␤ in block <unit> at /tmp/pPVzMH_ARE:1␤␤»
timotimo i'm not really against having an "index-of" that has eqv semantics
Ulti what does just .index do?
is that stringy 16:04
timotimo i thin kso
m: say "foobar".index("bar")
camelia rakudo-moar 21f01b: OUTPUT«3␤»
timotimo maybe we ought to call it "element-index"
moritz doc.perl6.org/routine/index
lizmat moritz: what was the branch name again that let native int.roll work ? 16:05
Ulti .eqv-index ? 16:06
index-eqv to keep with the order of index-of
16:06 Ven joined
Ulti guess its not really a super important feature especially if I'm the only person to cry about it 16:06
timotimo eqv-index sounds like "find the index equivalent to an index of a thing in a different list" or whatevs 16:07
16:07 Sysaxed joined
Ulti yeah 16:07
true
timotimo "what's the index of this thing according to this transformation" 16:08
Ulti see this is why you should all just give up and implement Java then you can do indexOfUsingEquivalencePerElement
16:09 colomon joined
Ven wendy++ # pictures 16:09
Sysaxed m: my @l := 1, 2, 3 ... *; say @l[-1] # I'm just wondering, what would be the syntax to create a list that is infinite in both sides? Or should I create two lists instead?
camelia rakudo-moar 21f01b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pGeEcAvTv9␤Unsupported use of a negative -1 subscript to index from the end; in Perl 6 please use a function such as *-1␤at /tmp/pGeEcAvTv9:1␤------> 3my @l := 1, 2, 3 ... *; say @l[-1]7⏏5 # I'm just…»
jdv79 is there work to get cloudy integrations for the 6.0 timeframe? stuff like aws beanstalk, or new relic monitoring, etc...? 16:10
would it be too early to work on that sort of thing? these days i can see it being a good thing if people can hit the ground running with support like that. idk. 16:11
lizmat m: my @a = -Inf..Inf; say @a[0] # Sysaxed , but not very useful
Ulti Sysaxed if it was infinite on both sides it would always be -Inf
camelia rakudo-moar 21f01b: OUTPUT«-Inf␤»
lizmat jdv79: feels like the right time to me 16:12
Sysaxed Ulti: hm, why? Considering that [0] is the middle of that list
well, "middle" 16:13
lizmat Sysaxed: [0] is the "left" most
16:13 krunen joined
Sysaxed lizmat: yes I see, but in terms of lists that are infinite in both sides... 16:13
lizmat the [1] ie the one up from that, but since -Inf + 1 = -Inf, you're not getting anywhere
*is
16:13 hoelzro_weechat left
lizmat perhaps when we get shaped arrays, but even then... 16:14
ugexe has anyone got panda to work on win32/jvm? i can get panda installed, and it installs its submodules/deps, but afterwards the 'fetch' doesnt actually fetch anything (hence the run of N/A win32 jvm test reports last night :( )
Sysaxed lizmat: well, [0] = 1, [1] = 2, [2] = 3 and [-1] = 0, [-2] = -1 and so on... That's what I expect, I guess. But I'm just wondering if that thing is possible, so nevermind...
Ulti Sysaxed [-1] on a list is the right most end not further left than [0] there is no "other side" 16:15
timotimo you can do that with a hash
Ulti so you'd expect -1 to be Inf maybe
Sysaxed Ulti: [-1] is an invalid syntax, actually
timotimo Ulti: actually, [-1] on a list is an exception/failure
not invalid syntax per se; you can define your own postcircumfix:<[ ]> that would accept that, i imagine 16:16
Sysaxed timotimo: well, it says that I should use [*-1]
timotimo yes
16:16 Rounin left
timotimo m: say (my @foo)[-1] 16:16
camelia rakudo-moar 21f01b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5xSY7jbvqm␤Unsupported use of a negative -1 subscript to index from the end; in Perl 6 please use a function such as *-1␤at /tmp/5xSY7jbvqm:1␤------> 3say (my @foo)[-1]7⏏5<EOL>␤» 16:17
timotimo oh, it does give a SORRY
i didn't realize
ugexe also for OS version: for JVM its reporting my OS version as 6.1 but on moar it says 6.3
Ulti actually on an infinite list it doesn't like * -1 either
timotimo well, how could it
Sysaxed and the fact that I should use *-1 made me think that I can use -1 to go into another direction. Not that it would be really useful, but just maybe...
Ulti timotimo last time I tried weird stuff on infinite lists they just became unlazy and attempted to fill all RAM 16:18
timotimo aye
it's not always infinitely smart
Ulti so its nice to see them say NO
timotimo aye 16:19
Ulti I think part of it is if you are playing in the REPL too 16:20
timotimo yes, the repl is very bad at handling :=
psch i had had another look at moreinput recently, fwiw 16:21
timotimo oh, nice
psch but that definitely does need a bit more design, as TimToady++ mentioned
timotimo i came to that conclusion 1.5 years ago, i believe
Ulti moreinput? the jonny5 branch?
16:22 rindolf joined
psch Ulti: i don't think so? moreinput is a placeholder for a feature that lets the REPL ask for more input when it realises the current statement wouldn't compile correctly 16:22
Ulti oh nice
that's something I'd want to make my slang work well with 16:23
psch timotimo: i had the nqp bit almost working, i.e. adding to $!target and $!pos worked and trying to match them also worked, but the match somehow failed
timotimo that's not the only thing that moreinput would be nice for
psch timotimo: and, well, the way &moreinput is used in STD.pm6 is definitely just an idea
err, not $!pos 16:24
$!orig and $!target it was
Ulti I already do a sorry if the literal isn't closed so if it keeps asking for input until there aren't any sorries then that will already work
timotimo our current REPL is a very terrible hack based on compiling statement for statement into new compilation units that just have the previous scopes as their outer
so we end up with a tower of babel like situation of stacked outers
psch back in ~90 &
timotimo 1.5 minutes? 16:25
16:25 LonelyGM joined
Ulti 1.5 hours? 16:25
psch no, yes
jercos 3 fiscal months?
psch actually afk now
Ulti hah
16:27 cschwenz left, colomon left
ugexe it woudl seem jvm is correct in OS version reporting (6.1 = windows 7), but moar is incorrectly reporting 6.3 (6.3 = windows 8.1) 16:30
16:37 LonelyGM left, diana_olhovik_ left 16:38 fhelmberger left, fhelmberger joined 16:40 khisanth_ is now known as Khisanth 16:42 cognominal joined 16:43 fhelmberger left, alini left 16:45 mr-foobar joined 16:52 kjs_ left 16:56 Ven left
dalek Heuristic branch merge: pushed 130 commits to rakudo/cpp by FROGGS 16:59
17:00 cognominal left 17:02 J-L joined 17:11 donaldh left 17:14 anaeem1 left, anaeem1 joined 17:18 anaeem1 left, muraiki_ joined 17:19 eli-se joined 17:20 Vlavv_ left 17:21 muraiki left, kjs_ joined
eli-se hi 17:21
17:27 kjs_ left 17:28 virtualsue left 17:35 kjs_ joined
muraiki_ hi 17:41
17:42 aborazmeh joined, aborazmeh left, aborazmeh joined, abraxxa left 17:52 diana_olhovik_ joined 17:53 madmuid joined 17:55 kjs_ left 17:56 aborazmeh left
rindolf eli-se: hi, sup? 18:01
muraiki_: sup?
eli-se nothing :P
just writing a compiler
rindolf eli-se: ah, for what?
eli-se language I work on
rindolf eli-se: ah.
masak sup, rindolf 18:02
rindolf masak: I went for a walk today. It was somewhat over an hour long.
18:02 Alina-malina left
rindolf masak: and I'm back at Inbox ZERO nirvana. 18:02
masak congratulations. 18:03
rindolf masak: how was your weekend?
masak rindolf: blissful.
rindolf masak: nice.
masak I'm currently speed-reading SICP for a reading circle. :)
18:05 perl6_newbee left
masak a *company* reading circle, with two colleagues. 18:05
because I work at a place where people want to read SICP \o/
rindolf masak: that's nice. 18:07
18:07 perl6_newbee joined
masak yes, I have high hopes. it's the first time we meet up for this. 18:08
18:09 aborazmeh joined, aborazmeh left, aborazmeh joined, xfix left, Alina-malina joined 18:12 abraxxa joined 18:13 aborazmeh left
muraiki_ speed reading sicp, hehe 18:17
sorry didn't see the sup earlier rindolf
rindolf muraiki_: that's OK.
muraiki_ I haven't used sicp, but I started learning programming with "how to design programs" which I've heard is sort of a spiritual successor
I thought it was a great book that helped me think about solving problems in a functional way 18:18
I do want to tackle sicp at some point, but there's so many things to learn...
masak SICP is kinda great too
muraiki_ oh yes, I've heard many great things about it 18:19
but it is a bit math heavy and I am very undereducated in math
I picked up "the haskell road to logic maths and programming" which supposedly teaches logic and proofs alongside fp in haskell 18:20
so I'm hoping that will help me think about math better :)
masak sounds nice :)
muraiki_ but first I have to learn some things that might have more of a chance of being used at work, heh
I want to use p6 but it doesn't quite address our problem 18:21
18:21 espadrine left
masak quote: "Here is a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all its successors." 18:23
pop quiz: who said this, and about which language?
nwc10 Knuth on Intercal? :-)
masak try not to google it; that's cheating :)
nwc10: surprisingly -- no :)
nwc10 I have no idea, so I'm going to wait 18:24
masak dinner &
timotimo hmm, BCPL?
masak (nope)
arnsholt I suspect it's ALGOL 68 18:25
Not sure who though
18:25 kjs_ joined
muraiki_ some crazy array based language 18:26
18:26 eli-se left
timotimo perl6 ought to get crazy arrays, too 18:28
18:29 Vlavv_ joined
nine_ So I finally finished backlogging the past two days and the clog ends at a cliff hanger. So typical! 18:35
18:35 andreoss joined 18:36 cognominal joined
andreoss how can i lookup source code of function/method implementation? 18:37
besides of doing grep across source code. 18:38
nwc10 andreoss: is that for some Perl 6 code, or a more general question? 18:39
andreoss for perl 6 of course 18:40
i want something like that for Perl 6 clojuredocs.org/clojure.core/map
like I want to see how map is implemented in Perl 6? is there a tool for that(within perl6doc may be) or just I should just start grepping the source tree? 18:42
18:42 sivoais left
nwc10 andreoss: *I* don't know. I admit that I'm not actually familiar enough with the Perl 6 implemenation to answer that. 18:42
18:42 sivoais joined
nwc10 I'd hope that someone like masak would have a good idea, but I think right now he's away eating. 18:43
18:43 Alina-malina left
psch which part on the clojure site is the implementation of map? 18:44
18:45 geever joined
andreoss psch: there is a link to source 18:45
psch aah, top right, now i see it
muraiki_ yeah I didn't notice it at first either, heh
psch yeah, we don't have that currently
muraiki_ yeah clojure has a source function so you can (source map)
psch i suppose we could have it on docs.perl6.org
we don't have source introspection either, and i don't know how workable it is
andreoss psch: i believe it's done on internal level though not by web site itself 18:46
i have this feature for clojure in emacs as well.
psch andreoss: yeah, i gathered that much from muraiki_++'s comment 18:47
andreoss: i don't think something like .source is planned in any way, and i don't in how far it is possible
vendethiel andreoss: I don't think there are others way right now. You might want to look at what the debugger is doing
18:47 cognominal left 18:48 perl6_newbee left
psch oh, right 18:48
makes me wonder if the debugger steps through CORE functions
i never paid attention to that
18:50 sivoais left, kjs_ left, Alina-malina joined 18:52 eli-se joined
muraiki_ "Prints the source code for the given symbol, if it can find it. 18:52
This requires that the symbol resolve to a Var defined in a
namespace for which the .clj is in the classpath."
eli-se woohoo
muraiki_ so all clojure's source does is grab it from a source file, heh
there's no crazy introspection going on
18:53 sivoais joined, Vlavv_ left
psch hm, i doubt that'd be useful for us 18:55
R* doesn't come with source afaik, and if you cloned the git repo already you might as well grep, imo 18:57
18:57 cognominal joined, spider-mario joined
psch i don't know if rakudobrew leaves the source around either 18:59
18:59 kjs_ joined, sivoais left 19:02 rindolf left, sivoais joined 19:05 colomon joined 19:06 Vlavv_ joined 19:10 sivoais left 19:11 coffee` left 19:12 J-L left 19:13 sivoais joined 19:14 rurban left 19:20 sivoais left
moritz lizmat: the branch is called richer-positional 19:20
19:22 ash-gti joined 19:23 sivoais joined
timotimo Rakudo * does come with source 19:24
hm, perhaps not on windows, though?
FROGGS the msi comes without I think 19:25
19:30 sivoais left 19:33 sivoais joined
FROGGS is somebody able to test this on jvm? gist.github.com/FROGGS/e3ec8bf0baf70458f6f3 19:33
applying that patch and running `make test` would be awesome
colomon jvm on os x okay? anything else that needs to be changed from current rakudo?
FROGGS osx should do too, yes
19:34 cognominal left
FROGGS nothing else besides that patch and make test 19:34
colomon gotta build jvm, starting now
FROGGS colomon++ # thank you
ash-gti github.com/github/linguist/issues/...-255581766 is closed now, so there is some limited support for perl6 syntax in github now. I have some more patches to enhance variable names to support unicode and I am working on matching package scopes (class, role, etc.) and method names
FROGGS ash-gti++ # nice! 19:35
ugexe sent a pr for rakudobrew to work on windows 19:37
FROGGS ugexe: is that MSVC or mingw specific? 19:38
japhb muraiki_: We have program-object.WHY <-> doc-object.WHEREFORE pointing at each other, but getting from the program-object to its declaration introspectively, not so much IIRC. 19:39
ugexe FROGGS: im building with MSVC. i didnt try with mingw
japhb When I'm trying to see implementation for Perl 6 setting stuff, I just look in my handy clone of rakudo and do: git grep 'method foo' src/core 19:40
ugexe just doing all the commands from vs2013 native tools command prompt
19:40 sivoais left 19:43 sivoais joined 19:45 bayprogrammer joined 19:46 telex left
dalek kudo/nom: 04d15d4 | usev6++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
Fix minor typo in error message
19:46
kudo/nom: 46942b0 | moritz++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
Merge pull request #386 from usev6/nom

Fix minor typo in error message
19:48 telex joined 19:49 sivoais left 19:50 kjs_ left, alini joined 19:53 sivoais joined
nwc10 FROGGS: gist.github.com/FROGGS/e3ec8bf0baf70458f6f3 passes all t/04-nativecall/*.t tests on "my" machine 19:55
however 'java version "1.7.0_71"' SEGVs on the 01 tests (with & without that patch)
right proper good software, that
19:56 LonelyGM joined 20:00 sivoais left 20:02 kjs_ joined, kjs_ left 20:03 sivoais joined
lizmat PSA: I'll be doing the Perl 6 Weekly again this week 20:03
please let me know of things *you* think should be in the P6W
FROGGS nwc10: okay, that should be good enough to apply that patch later, thanks 20:05
20:05 xenowoolfy joined
FROGGS though, I should probably look into that 1.7 issue if I get the chance 20:05
20:06 darutoko left
nwc10 it might be a 1.7.0_71 issue. 20:07
20:07 xenowoolfy left
nwc10 seems that blah_71 is soooo last year (ie October) 20:07
dalek kudo/nom: 4dcab36 | lizmat++ | src/core/native_array.pm:
Remove :$sink, as it will not be used anyway
20:08
colomon FROGGS: sorry, got distrated, but I’m trying your patch now 20:09
20:09 sivoais left 20:11 yqt joined
colomon FROGGS: Result: PASS 20:11
FROGGS awesome :o)
20:13 sivoais joined, bjz left 20:20 sivoais left, eli-se left 20:23 sivoais joined, dwarring joined 20:26 CurtisOvidPoe joined
LonelyGM good job :) o/ 20:28
FROGGS o/
20:30 sivoais left
LonelyGM It's been a couple of days only that Larry introduced me to the world of Perl6 and this IRC channel, since then I am waiting to get home and read the #perl6 log and see the updates on github. :) you guys are awesome 20:30
vendethiel LonelyGM: did the same, exactly a year ago (except I wasn't introduced to the lang by Larry!) -- I'm still reading the logs :P. 20:31
20:33 sivoais joined
LonelyGM vendethiel: I try to catch up as fast as I can to be able to help in this great work 20:33
20:33 skids joined
nwc10 LonelyGM: you are actually already in a very useful position to help. You can tell us what isn't obvious to a newcomer, and possibly how things could be documented better. 20:35
20:40 sivoais left
LonelyGM nwc10: thank you I try to phrase my technical difficulties, I actually love to view its aesthetics hopefully I will do something good soon with that love :p 20:42
20:43 sivoais joined
dalek perl6-examples: eafe392 | paultcochrane++ | categories/euler/prob024-moritz.pl: 20:44
perl6-examples: [euler] join answer of solution to problem 24
perl6-examples:
perl6-examples: This gives something that looks more like a number, which the user is likely
perl6-examples: to expect.
20:44 dalek left, dalek joined, ChanServ sets mode: +v dalek 20:45 coffee` joined 20:48 sivoais left, sivoais joined, sivoais left, sivoais joined, CurtisOvidPoe left 20:54 MadcapJake joined 20:55 brrt joined 20:59 eli-se joined, Ugator left 21:08 virtualsue joined
dalek kudo/cpp: bda0796 | FROGGS++ | lib/NativeCall/Compiler/GNU.pm:
distinguish between references and pointers
21:16
kudo/cpp: 43bf4fb | FROGGS++ | lib/NativeCall.pm:
distinguish between references and pointers
21:17
vendethiel FROGGS++
FROGGS: how does that work with xvalues? (T&&) 21:18
FROGGS I'm not sure :/
dalek kudo/nom: 67156c1 | FROGGS++ | lib/NativeCall.pm:
throw for wrong arity in native subs
21:19
21:19 kjs_ joined
dalek kudo/cpp: 04d15d4 | usev6++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
Fix minor typo in error message
21:19
kudo/cpp: 46942b0 | moritz++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
Merge pull request #386 from usev6/nom

Fix minor typo in error message
kudo/cpp: 4dcab36 | lizmat++ | src/core/native_array.pm:
Remove :$sink, as it will not be used anyway
kudo/cpp: 67156c1 | FROGGS++ | lib/NativeCall.pm:
throw for wrong arity in native subs
kudo/cpp: 8d11815 | FROGGS++ | / (3 files):
Merge branch 'nom' of github.com:rakudo/rakudo into cpp
eli-se C++ problems? 21:21
21:21 kjs_ left
vendethiel eli-se: hahahaha 21:22
TimToady done with all his talks on this road trip, so can relax now o/
vendethiel TimToady++ :-)
eli-se I wouldn't bother with C++ interop unless you support template instantiation.
vendethiel TimToady: do you happen to know when your FOSDEM talk record will be available? last time I checked it wasn't there :) 21:23
eli-se: Nim supports it!
TimToady no idear
eli-se It's incredibly difficult to implement.
lizmat vendethiel: when it becomes available, it should be in video.fosdem.org/2015/main_track-languages/ 21:24
timotimo don't you have to basically compile c++ yourself?
vendethiel lizmat: thanks!
eli-se: it was sponsored work, IIRC
eli-se timotimo You can't even parse C++ code without being able to interpret function bodies.
timotimo oh, constexpr?
eli-se :)
vendethiel :D 21:25
eli-se The result of a constexpr function can change the parse of a call to it.
From a template instantiation to a LT/GT comparison, for example.
Because somebody thought it was a good idea to use < and > for delimiting template arguments. 21:26
timotimo good thing we don't have [ and ] operators yet
vendethiel thinks that one person really wanted to have the Most Vexing Parse rule
"look at these nerds fight with our syntax! ha-ha!" 21:27
TimToady I guess we were luck that we'd already stolen < and > for something else :)
*lucky
21:27 Sysaxed left
FROGGS >.< 21:32
21:32 skids left
ugexe i think im having unexpected behavior with win32 jvm. With panda, it fails to do 'shell clone $git' (although it can do 'shell status'). switching to moar it works fine. im sure i can twist permissions aroudn to fix it, but is that expected? 21:33
gist.github.com/ugexe/a6cb621ad743e5b057e9 21:34
FROGGS I.... I have no explanation 21:36
21:36 kaare_ joined
FROGGS I can't even guess 21:36
but it is certainly not expected
timotimo ssh: Could not resolve hostname git: no address associated with name
what
something must be interpolating or newlines or something 21:37
FROGGS ohh, I think I know...
timotimo can you perhaps print "blah".perl instead of shell?
FROGGS do we turn slashes to backlashes for the jvm, as we do on moar?
timotimo oh god 21:38
git:\\github.com?
FROGGS that's my guess
timotimo eew. 21:39
i hate backslashes on windows so much
FROGGS lol
ugexe i had panda working with jvm on windows yesterday
although doing it manually and not with rakudobrew
FROGGS nqp/src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:962
args.add(cmd.replace('/', '\\'));
:P
lizmat p6weekly.wordpress.com/?p=442&...74d66e05e2 # Perl 6 Weekly draft, comments welcome! 21:40
timotimo thank you so much
eli-se Does the Perl 6 design docs actually say anything about static typing? 21:42
Or is it just an optimisation-time implementation hack?
timotimo please explain more? 21:43
vendethiel lizmat++ timotimo++ :-)
timotimo don't ++ me for being sick, vendethiel
or at least tell me "i like it much better when liz does the weekly" :P
vendethiel timotimo: i'm ++ing you recovery so that it's quicker :P
eli-se Because Perl 6 programs compile when you pass Any to a function that takes Int, for example. 21:44
Where Any is the static type, if Perl 6 has a static type system.
timotimo ah, ok, fair enough
vendethiel
.oO( I can be... both the top type and the bottom type! )
timotimo ah, compile-time errors when types don't match up
vendethiel yes 21:45
timotimo the optimizer is responsible for catching this in the cases where it already works, because it's analyzing calls in order to improve them (picking the right candidate in advance)
however, methods are late-bound and we don't have restrictions on what types of stuff methods are allowed to take in their signature given the supertypes
FROGGS lizmat: can you please mention that I fixed a long standoing rakudo-JVM bug that prevented URI to be used?
lizmat: it involved our scoped subs in combination with preompilation 21:46
lizmat will do!
timotimo in C++'s case, for example, you can statically type methods because you're not allowed to just change a method's return type, for example
lizmat anything worth mentioning about C++ NativeCall integration
?
FROGGS hmm, not yet
when the Box2D bindings are done probably, so we have a showcase 21:47
21:49 mohij joined
FROGGS ugexe: can you test that? gist.github.com/FROGGS/7f2b5d4a8ba363fd9b0e 21:49
I'll also build that and attempt a spectest
21:50 diana_olhovik_ left 21:55 spider-mario left
lizmat FROGGS: added: 21:57
<li><i>FROGGS</i>++ fixed a long standing bug on the JVM backend involving our scoped subs in combination with precompilation. This now allows e.g. the <b>URI</b> module to be used on the JVM backend.</li>
p6weekly.wordpress.com/2015/03/16/...ys-arrive/ # P6W published! 22:00
raydiak lizmat++ weekly looks good, only one small grammatical nit: "The reason why these do not work yet, are clear" ~~ s/are/is/ 22:05
22:05 gfldex left, espadrine joined
ugexe FROGGS: building now 22:06
lizmat raydiak++ (fixed nit)
too late for Pi day, but still pretty good: twitter.com/clujpm/status/577577896862199808 22:07
sjn lizmat++ # p6weekly 22:10
lizmat sjn++ for making it easy for me to use quotes from TheDamian :-) 22:11
sjn although, it would be nice if you somehow could mention that TheDamian also tave the Everyday Perl 6 talk in Oslo thw week before :D
gave* 22:12
the* typos* grammar*
22:12 diana_olhovik_ joined
lizmat mention added 22:13
sjn yay! \o/ 22:14
thanks! ^^
22:14 wicope left
TimToady sacks out & 22:14
(it being after midnight in .ro already...) 22:15
22:15 silug left
lizmat don't let the bed bats bite you! 22:18
hoelzro lizmat++ # p6w
I avoided reading the comments on that Reddit thread, for fear that they would be very biased against Perl 6 for the usual reasons
I'm pleased to see that only a small fraction fit that description! 22:19
jnthn o/ 22:21
yoleaux 12:10Z <lizmat> jnthn: problem with num32: #124083
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124083
yoleaux 12:11Z <lizmat> jnthn: problem with ininitialized num/num32/num64: #124084
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124084
lizmat jnthn: o/
jnthn is num with shock at these bugs...
lizmat it int that bad 22:22
hoelzro: that's why I mentioned reddit :-) 22:23
hoelzro lizmat: =)
jnthn m: my num32 @arr = 1.1e0,1.2e0,1.3e0; my num32 $s = 0e0; for @arr { say .WHAT } 22:24
camelia rakudo-moar 67156c: OUTPUT«(Num)␤(Num)␤(Num)␤»
jnthn m: my num32 @arr = 1.1e0,1.2e0,1.3e0; my num32 $s = 0e0; for @arr { .say }
camelia rakudo-moar 67156c: OUTPUT«1.10000002384186␤1.20000004768372␤1.29999995231628␤»
sjn is scanning faq.perl6.org, noticing that the naming question isn't covered there 22:25
timotimo ohai jnthn
jnthn o/ timotimo
timotimo i'm very sad my phi fact merging branch is causing so much fallout 22:26
jnthn m: my num32 $s = 0e0; say $s
camelia rakudo-moar 67156c: OUTPUT«0␤»
jnthn m: my num32 $s = 0e0; $s += 4e0; say $s 22:27
camelia rakudo-moar 67156c: OUTPUT«0␤»
sjn m: my num32 $n = 0.1; my num32 $m = 0.2; my num32 $o = 0.3; say 1 / ( $a + $b - $d );
camelia rakudo-moar 67156c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9RCKKLPfGU␤Variable '$a' is not declared␤at /tmp/9RCKKLPfGU:1␤------> 3m = 0.2; my num32 $o = 0.3; say 1 / ( $a7⏏5 + $b - $d );␤ expecting any of:␤ postfix␤»
jnthn uhh :)
m: my num32 $s = 0e0; $s = $s + 4e0; say $s
camelia rakudo-moar 67156c: OUTPUT«0␤»
sjn m: my num32 $n = 0.1; my num32 $m = 0.2; my num32 $o = 0.3; say 1 / ( $n + $m - $o );
camelia rakudo-moar 67156c: OUTPUT«This type cannot unbox to a native number␤ in block <unit> at /tmp/O9OrYQpU6j:1␤␤»
sjn oops
jnthn m: my num $s = 0e0; $s = $s + 4e0; say $s
camelia rakudo-moar 67156c: OUTPUT«4␤»
jnthn m: my num64 $s = 0e0; $s = $s + 4e0; say $s
camelia rakudo-moar 67156c: OUTPUT«4␤»
timotimo we must be playing it fast and loose with facts in some places (kind of like faux news?)
hoelzro lizmat: btw, I found another Channel bug: #124074
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124074
hoelzro and some sort of fun multithreading nightmar: #124073 22:28
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124073
jnthn timotimo: Maybe, but it's be a bit surprising we get away wiht it. 22:29
timotimo IKR.
jnthn Do you check that all the things in a PHI agree on the fact?
timotimo yes, or at least i think so 22:30
i wrote code that i hoped would do that
but i'm currently sick and feeling dizzy most of the time for some reason, so i wouldn't trust my code too much
jnthn There's some care needed in that known type can only apply not only if they all have the known type flag and the type is identical
s/not//
timotimo yes, i wrote code for that
jnthn ok
lizmat: Not immediately sure what's up with the num32 thing 22:31
timotimo github.com/MoarVM/MoarVM/compare/m...067a3R1161
lizmat jnthn: feels like something is wrong at the VM level to me
$ perl6-j -e 'my num32 $s = 0e0; $s = $s + 4e0; say $s' 22:32
4
no such pb on the JVM, apparently
although num32 init still seems faulty: 22:33
$ perl6-j -e 'my num32 $s; say $s'
NaN
jnthn lizmat: Well, nums are meant to be init to NaN 22:34
lizmat: but yes, I think it's VM level too
lizmat m: my num32 $a; $a++; say $a
camelia rakudo-moar 67156c: OUTPUT«1␤»
jnthn yeah, that's bust
lizmat seems ok to me? 22:35
jnthn m: my num $a; $a++; say $a;
camelia rakudo-moar 67156c: OUTPUT«NaN␤»
lizmat but I'm surprised to see such a high level thing as NaN to be in a num
jnthn huh?
NaN is an IEEE concept
lizmat ah, ok
yeah, that makes sense :-)
jnthn As are Inf and -Inf 22:36
timotimo does IEEE float have +0 and -0?(
jnthn Yes.
I asked in my class today why that's the case. :)
lizmat m: my num $a = -0e0; say $a 22:37
camelia rakudo-moar 67156c: OUTPUT«-0␤»
jnthn The answer I expected somebody may know is that it depends what size you approached from in various calculations.
*side
timotimo yeah
jnthn The answer I got was that apparently you care about psotive and negative luminosity of stars :)
timotimo oh, that's cool 22:38
lizmat m: my num32 $a = -0e0; say $a # num32 different again
camelia rakudo-moar 67156c: OUTPUT«0␤»
jnthn Yes, but I felt entirely unqualified to comment on it :)
lizmat: Yeah, I think something's up with num32
lizmat $ perl6-j -e 'my num32 $s = -0e0; say $s'
-0
so JVM ok 22:39
jnthn timotimo: I don't see any obvious bugs in what you wrote.
timotimo thank you :)
jnthn lizmat: Yes, moar is doing something wrong there. otoh, I wonder a bit if JVM is actually storing a single-precision number or not :)
sjn osdc.no/news/1309 # please submit talks for OSDC.no & NPW
timotimo first it segfaulted inside optimize_smart_coerce because "known type" was flagged and the type that's known was the null pointer, so ... wat.
jnthn Yes, but I think we guard against that somewhere else? 22:40
22:40 LonelyGM left
jnthn It should never happen though. 22:40
So something's not right there.
timotimo i put a guard into smart_coerce to prevent that problem, but yeah ... shouldn't happen in the first place
jnthn aye
So we should probably figure out what sets it to NULL while setting the "known type" flag 22:41
timotimo yup
i can do that, actually
jnthn sjn: Will submit something later in the week, when I'm done with teaching and having beer-liking colleagues in town :)
timotimo my brane should feel up to the task
jnthn My brain taught 30 people today, and is a tiny bit frazzled :) 22:42
sjn pmichaud: ^ URL's for you too :)
jnthn: great! :D
sjn hopes as many as possible submits a talk, so we can have a proper Perl 6 gathering in Oslo again.
jnthn sjn: I drank stout in that cellar place with the awesome log fire and agreed to give a half-day workshop thingy on Perl 6, as I remember it :) 22:43
sjn jnthn: lots of opportunities here, be creative :D
jnthn sjn: So I'll submit that and then some "normal" talk, I think.
sjn we have at least two days to play with
jnthn Maybe I'll submit an abnormal talk too, then :P 22:44
sjn reserving a "Perl 6 demo room" or a hackathon or an unconference track...
jnthn sjn: btw, I *will* be in Oslo next week for a little bit after all
sjn oh, cool!
jnthn So if any Oslo.pm folks fancy, say, Crow Bar, on 23rd, I'd be up for it. :) 22:45
sjn heeh
that may just happen :)
jnthn likes that place :) 22:46
sjn mm
will you be staying at the same hotel as last week?
dalek ast: 591288e | lizmat++ | S09-typed-arrays/native-num.t:
Add test for NaN,-Inf,Inf on native num arrays
jnthn No idea.
sjn ook
jnthn I don't actually know what part of town I'll be teaching in
Might be out in hell fire. 22:47
sjn hehe
ping me or krunen or arnsholt when you know! 22:48
jnthn Will do.
timotimo ah
iter_facts is a very bad offender
dalek Heuristic branch merge: pushed 18 commits to rakudo/newio by lizmat
timotimo seems like someone isn't setting up the array_iterator_type and hash_iterator_type in nqp, which isn't terribly surprising 22:49
22:49 lichtkind_ joined
timotimo oh wow 22:50
that's a very bad miss %)
and it's my fault, as is to be expected
jnthn lizmat++ # p6weekly 22:51
timotimo i'm glad i noticed such a grave mistake before the release this time
22:51 lichtkind left
timotimo but it's been in there for $longtime i believe 22:52
jnthn isn't going to attempt to land his current spesh-related branch ahead of the release.
22:53 skids joined 22:54 LonelyGM joined
timotimo i'm sorry i implied that "we" are playing it fast and loose with types; I have been the one %) 22:54
let's see if that was the only place moar's been messing up facts 22:55
OK, XML still doesn't build 22:56
22:57 diana_olhovik_ left
jnthn Teaching tomorrow again, so I should probably sleep :) 22:59
o/
lizmat good night, jnthn. will soon follow :-)
LonelyGM good night everyone! :) 23:01
lizmat LonelyGM o/
23:02 abraxxa left 23:03 LonelyGM left, MadcapJake left, MadcapJake joined 23:04 skids left, brrt left, brrt joined
timotimo huh 23:04
23:04 brrt left 23:05 skids joined
timotimo Cannot unbox a type object 23:05
at src/gen/m-Perl6-Optimizer.nqp:516 (/home/timo/perl6/rakudo/../install/languages/nqp/lib/Perl6/Optimizer.moarvm:delete_unused_magicals:17)
23:06 aborazmeh joined, aborazmeh left, aborazmeh joined
dalek kudo/nom: 051c602 | lizmat++ | src/core/native_array.pm:
Make my int @a = Range about 1000x faster
23:06
timotimo ooooh
that's a lot of fast
lizmat Before: $ 6 'my int @a = ^10000' # real0m17.962s
After: $ 6 'my int @a = ^10000' # real0m0.282s 23:07
23:07 MadcapJake left
lizmat speedup because it doesn't need to build a list before assigning 23:07
23:07 MadcapJake joined
timotimo neato 23:08
23:08 MadcapJake left
lizmat m: my num @a = ^10000 # should this work ? 23:08
camelia rakudo-moar 67156c: OUTPUT«This type cannot unbox to a native number␤ in method STORE at src/gen/m-CORE.setting:11213␤ in block <unit> at /tmp/GZwDN02eFi:1␤␤»
23:09 MadcapJake joined
timotimo mhh, this is an unfortunate thing 23:09
lizmat is going to sleep on that one
23:14 adu joined 23:20 mephinet left, lnr joined 23:21 mephinet joined 23:30 mohij left 23:36 eli-se left 23:44 geever left 23:46 Ben_Goldberg joined 23:47 aborazmeh left
dalek kudo/nom: 0f780b2 | timotimo++ | src/Perl6/Optimizer.nqp:
BlockVarOptimizer's $!poisoned can be a native int

gives a tiny bit better code-gen. also, this tripped up one of my opts, so kudos to this non-native int attribute for kicking my butt :)
23:52
23:59 coffee` left