»ö« 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:04 vendethiel joined 00:10 raiph joined
dalek ast: e7442ea | Mouq++ | S12-methods/how.t:
Add test for RT #76928
00:15
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76928
skids m: grammar f { regex g { a }; }; f.^add_method("O", rx/b/); f.^methods».name.grep({ $_.chars < 2}).print # how to name that rx? 00:16
camelia rakudo-moar 3da1bb: OUTPUT«g»
00:16 madmuid left
Mouq m: grammar f { regex g { a }; }; my &O = rx/b/; say &O.set_name("O"); f.^add_method("O", &O); f.^methods».name.grep({ $_.chars < 2}).print 00:19
camelia rakudo-moar 3da1bb: OUTPUT«O␤gO»
skids Mouq++ 00:20
Mouq m: &infix:<+>.set_name("nonsense"); say &[+].name # Not so sure I approve :P
camelia rakudo-moar 3da1bb: OUTPUT«nonsense␤»
Mouq But it seems like the only thing that cares what the routine thinks its name is, is the routine itself 00:21
00:27 vendethiel left 00:29 BenGoldberg joined, vendethiel joined 00:30 atweiden joined
skids m: grammar f { regex g { a }; }; f.^add_method("O", do { $_ = rx/b/; $_.set_name("O"); $_ }); f.^methods».name.grep({ $_.chars < 2}).print; f.parse("b", :rule<O>).say; # darn 00:30
camelia rakudo-moar 3da1bb: OUTPUT«gOCannot find method 'postcircumfix:<( )>'␤ in method parse at src/gen/m-CORE.setting:15686␤ in block <unit> at /tmp/YPhTNfOMo6:1␤␤»
00:33 agentzh left
Mouq m: grammar f { regex g { a }; }; f.^add_method("O", do { $_ := rx/b/; $_.set_name("O"); $_ }); f.^methods».name.grep({.chars < 2}).print; f.parse("b", :rule<O>).say; 00:33
camelia rakudo-moar 3da1bb: OUTPUT«gO「b」␤»
Mouq s/=/:=
00:42 laouji joined
J-L Out of curiosity, is there a way I can set $_ without using $_? I know I can read $_ with just .perl . (At the command line, sometimes I try to avoid $_, for shell reasons.) Example: 00:44
m: (map { .perl ** 2 }, (1 .. 10)).say; # shows perfect squares from 1 to 100 00:45
camelia rakudo-moar 3da1bb: OUTPUT«1 4 9 16 25 36 49 64 81 100␤»
00:49 coffee` left
Mouq J-L: Sometimes. .=foo() and s/// work on $_ 00:51
00:51 vendethiel left 00:53 J-L left
skids J-L: given { } sets the topic. 00:54
m: given 42 { .say } 00:55
camelia rakudo-moar 3da1bb: OUTPUT«42␤»
raiph m: .say for 5
yoleaux 11 Mar 2015 22:11Z <jnthn> raiph: 122892 and 122253 were about the same issue; I merged them, and then did the work needed to resolve them.
camelia rakudo-moar 3da1bb: OUTPUT«5␤»
raiph jnthn++
skids Mouq: thanks again. 00:56
01:03 colomon left, colomon joined 01:08 fhelmberger joined 01:11 vendethiel joined 01:13 fhelmberger left 01:27 colomon left 01:29 colomon joined 01:38 vendethiel left 01:40 espadrine left 02:03 raiph left 02:04 raiph joined 02:07 cognominal joined 02:11 cognominal left
skids m: "aa" ~~ m/(a) ($0)/.gist.say # Should work? 02:15
camelia rakudo-moar 3da1bb: OUTPUT«Nil␤»
02:15 colomon left 02:16 jfb joined, jfb left
BenGoldberg m: .say given 42; .say for 42; 02:16
camelia rakudo-moar 3da1bb: OUTPUT«42␤42␤»
02:17 grondilu left 02:21 cognominal joined 02:22 colomon joined 02:32 silug left 02:35 colomon left 02:36 colomon joined 02:39 pullphinger joined, pullphinger15 joined 02:40 pullphinger15 left
Mouq m: "aa" ~~ m/(a) $0/.gist.say 02:41
camelia rakudo-moar 3da1bb: OUTPUT«「aa」␤ 0 => 「a」␤»
dalek kudo/nom: 595ffe3 | Mouq++ | src/core/Junction.pm:
Be more careful about preserving the values of Junctions

This allows autoviv to work in things like:
   my @a := [1,2]; @a[1|2] //= 3; say @a
02:44
02:46 silug joined
skids Mouq: yeah but I need the second () in the ungolfed version. I don't think it is supposed to work, P5 does not work that way either, the backrefs get reset by the (. 02:47
02:50 raiph left
skids m: grammar f { regex TOP { (a) :my $a = "$0"; ($a) } }; f.parse("aa").gist.say # Though this I would expect to work, and doesn't 02:57
camelia rakudo-moar 3da1bb: OUTPUT«(Any)␤»
03:00 yeahnoob joined 03:05 eiro left 03:06 eiro joined
Mouq m: grammar f { regex TOP { (a) {} :my $a = "$0"; ($a) } }; f.parse("aa").gist.say 03:07
camelia rakudo-moar 3da1bb: OUTPUT«「aa」␤ 0 => 「a」␤ 1 => 「a」␤»
Mouq :P
My rule for regexes is "if it doesn't work, through a {} in"
skids I need to avoid a sequence point, unfortunately.
Mouq Ah
03:20 eiro left 03:23 noganex joined 03:26 noganex_ left 03:28 eiro joined, BenGoldberg left 03:29 BenGoldberg joined, yeahnoob left, BenGoldberg left 03:30 yeahnoob joined, BenGoldberg joined 03:31 cognominal left
dalek kudo/nom: e84f718 | Mouq++ | src/core/operators.pm:
Allow undef() to be rw (fixes RT #117777)
03:31
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117777
03:33 BenGoldberg left 03:34 BenGoldberg joined, BenGoldberg left 03:35 BenGoldberg joined
dalek ast: 9a695d3 | Mouq++ | S32-scalar/undef.t:
Add tests for RT #117777
03:41
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117777
03:42 chenryn joined 03:50 yeahnoob left, yeahnoob joined 04:02 FROGGS_ joined 04:03 rurban joined 04:05 FROGGS left 04:26 rurban left
Mouq .ask jnthn Does gist.github.com/Mouq/1420b193252f0cbaec31 seem like a sane fix to RT #118555 ? I'm hesitant to patch BOOTSTRAP.nqp 04:31
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118555
yoleaux Mouq: I'll pass your message to jnthn.
04:35 laouji left, laouji joined
Mouq What should "sub foo(&x?) { &x() }; foo" do? (RT #113990) I'm inclined to think that &x should default to either { Mu } or -> |c { return |c } 04:53
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=113990
Mouq *sub (|c) { return |c }
(This is just a question for general opinions… I don't think there's any spec on this) 04:54
04:54 Alina-malina left 05:03 nebuchad` joined 05:04 [particle]1 joined 05:06 _sri_ joined, btyler_ joined, Maddingu1 joined 05:07 danstone1 joined 05:08 chenryn left, xinming_ joined 05:09 lestrrat left, _sri left, xinming left, [particle] left, pierrot left, danstoner left, pierrot joined, betterwo1ld joined, nebuchadnezzar left, btyler left, Bucciarati left, Maddingue left, betterworld left, Bucciarati joined, risou left, pierrot is now known as Guest43753, [ptc] left 05:10 risou joined, [ptc] joined 05:11 Guest43753 is now known as pierrot, lestrrat joined, pierrot is now known as Guest1016 05:12 Guest1016 is now known as pierrot, pierrot left, pierrot joined 05:19 vendethiel joined 05:43 atweiden left, cognominal joined 05:44 BenGoldberg left, vendethiel left 05:46 yeahnoob left 05:47 chenryn joined
raydiak o/ 05:48
05:51 yeahnoob joined 05:58 mr-foobar left 06:06 [Sno] left 06:23 vendethiel joined 06:49 Akagi201 joined 06:51 asdf12z_ left 06:52 yeahnoob left 06:53 cognominal left 07:00 Possum left, chenryn left 07:01 diana_olhovik_ joined 07:04 prime left 07:05 prime joined, telex left 07:06 telex joined 07:09 wicope joined 07:10 chenryn joined, virtualsue joined
moritz : sub foo(&x?) { &x() }; foo 07:11
m: sub foo(&x?) { &x() }; foo
camelia rakudo-moar e84f71: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤ in sub foo at /tmp/FHAVO5LdsS:1␤ in block <unit> at /tmp/FHAVO5LdsS:1␤␤»
07:12 nebuchad` is now known as nebuchadnezzar
moritz Mouq: rakudo's reaction looks quite sane to me (though I don't know what cs = 0 means) 07:12
07:15 yeahnoob joined 07:16 David___ joined
David___ Hello, where can I find latest version of the perl6 books/resouces.. looking at using perl6 it seems that it is few years old .. Is it not longer maintained? 07:16
nwc10 David___: I don't know the best answer, but I believe that the page at perl6.org/documentation/ is actively maintained, and hence will link to current stuff 07:18
David___ Yep looking at that link it seems like it is still filled with unfinished documentation and few nice presentation.. probably this language is still not production ready.. 07:20
07:21 Possum joined 07:23 rindolf joined 07:24 darutoko joined 07:26 vendethiel left 07:28 rindolf left
raydiak Mouq: I think being able to tell if the function was passed or not via its definedness or boolness is more useful than providing any sort of default routine like we have for array and hash containers, one of the differences being that array/hash at least bool to false when empty but any defined routine is true (without a mixin or custom class overriding Bool) 07:31
07:33 smls joined 07:34 vendethiel joined
Mouq raydiak: moritz: Hm, yeah… Perhaps we could still provide a default Callable() that would die with a better error? 07:35
07:35 FROGGS_ left 07:36 lizmat joined 07:37 David___ left 07:46 [Sno] joined 07:47 Alina-malina joined
raydiak Mouq: agreed 100% the error is LTA 07:48
07:50 virtualsue left
raydiak "cannot invoke this object" works, but "repr uninstantiable" not as much...maybe more like "cannot invoke an undefined value" or along those lines 07:51
Mouq "Tried to invoke an undefined routine"? 07:52
07:53 Ven joined
raydiak sounds good to me 07:54
07:55 rurban joined
timotimo o/ 07:57
raydiak o/
07:58 espadrine joined 08:01 vike left
bartolin good morning, #perl6 08:01
did I mention, that it's quite motivating to see all that progress on RT tickets?
moritz Mouq: providing a default just to produce a better error message sounds wrong to me 08:03
08:03 vike joined
moritz Mouq: it messes with introspection 08:03
m: Mu()
camelia ( no output )
smls Is there something like 'redo' but for starting a (for) loop from the beginning rather than just repeating the current iteration? 08:04
08:04 yeahnoob left
moritz no 08:05
and I can't imagine how it could work
for lines() -> { redo-from-start if (state $)++ == 10 } 08:06
where would it get the lines from?
smls the same way it would if the for loop was wrapped in a "while { }" and you "last"ed the for loop 08:07
08:08 FROGGS joined
smls the result might not be useful with things like lines() but could be for other things 08:08
moritz oh, it's specced
it's called goto
LOOP: for lines() -> { goto LOOP if if (state $)++ == 10 }
ss/if if/if/ 08:09
smls ok 08:10
NYI though
moritz aye 08:11
Ven o/, #perl6 08:13
smls I was just wondering if in gist.github.com/smls/83829c30fdc22acaffbb I could replace the "loop (...) { ... $i++; ... $i = 0; ... }" with something more like "for (0..$n) { ... ; ... restart-loop; ... }"
to make it feel less C-like :P
Ven smls: without parens around the for (), even :P
08:13 Rounin joined
smls tsk 08:13
08:13 PerlJam left 08:14 dalek left
smls I know it could be implemented more elegantly as a recursive alrogithm, but without optimized tail recursion it would probably get into stack overflow problems on larger inputs 08:15
08:15 brrt joined
timotimo Mouq: i like your recent commits :3 08:15
08:16 avuserow left, Util left 08:17 JimmyZ left
moritz smls: sounds like dynamic programming might be a better solution 08:17
smls: though I haven't thought much about it yet
brrt \o 08:18
08:18 vendethiel left
timotimo FROGGS: do you think we should do analysis of a report's failure modes and signal "native library missing" differently from "failed"? 08:19
moritz uhm, native library missing should ideally be captured at configure time 08:20
08:21 Maddingu1 is now known as Maddingue
Rounin Don't even go there... Today I'm linking C# with Java linked with C DX{ 08:21
moritz Rounin: sounds like great fun 08:22
08:22 yeahnoob joined
timotimo "configure time"? what's that? :) 08:22
Rounin moritz: It's quite an adventure! Who knew there were so many places where one might place lib/ folders?
timotimo i can imagine a module that could be used like { use RequireNativeLibrary "gtk3" } that could cause BEGIN-time failure rather than test-time failure 08:23
but seeing reports for your module failing to install because some smoker doesn't have the native library is ... annoying 08:24
08:25 zakharyas joined
FROGGS timotimo: in P5 you usually want to spit out an NA 08:33
smls m: .say for ([X] <a b c>, <a b c>).tree.list # this works 08:34
camelia rakudo-moar e84f71: OUTPUT«a a␤a b␤a c␤b a␤b b␤b c␤c a␤c b␤c c␤»
smls m: .say for ([X] <a b c> xx 2).tree.list # this doesn't
camelia rakudo-moar e84f71: OUTPUT«a␤b␤c␤a␤b␤c␤»
timotimo FROGGS: how should we probe for that kind of failure?
smls how can I make the 2nd example work ^^ ?
timotimo shall we teach panda or cpandatesters?
smls i.e. calculate the cartesian product of a list with itself 08:35
s/cartesian product/permutations/
FROGGS timotimo: the best way would be to have a dependency section of C libs or tools or header files that panda could check 08:36
08:36 psch left
timotimo i thought so, too 08:36
however, we have some code in the modules that gives different native library names for different OSes and such 08:37
smls m: my @a = <a b c>; .say for ([X] @a, @a, @a).tree.list # as long as the arguments to [X] are listed manually, it works
camelia rakudo-moar e84f71: OUTPUT«a a a␤a a b␤a a c␤a b a␤a b b␤a b c␤a c a␤a c b␤a c c␤b a a␤b a b␤b a c␤b b a␤b b b␤b b c␤b c a␤b c b␤b c c␤c a a␤c a b␤c a c␤c b a␤c b b␤c b c␤c c a␤c c b␤c c c␤»
smls ...but when repeating them with xx, [X] threats thema as a single flat list 08:38
smls can't wait for the GLR to arrive and (hopefully) make list-of-lists handling intuitive. 08:39
08:41 pdcawley joined
timotimo m: my @a = <a b>; .say for ([X](@a; @a; @a)) 08:42
camelia rakudo-moar e84f71: OUTPUT«a␤a␤a␤a␤a␤b␤a␤b␤a␤a␤b␤b␤b␤a␤a␤b␤a␤b␤b␤b␤a␤b␤b␤b␤»
timotimo does anything regarding ; help you? 08:43
smls I don't think so
08:44 vendethiel joined, pdcawley left
timotimo didn't actually look at what you were trying to do 08:45
smls m: say (<a b c>; <a b c>).perl; say (<a b c> xx 2).tree.list.perl; # Those two expressions return the same result... 08:47
camelia rakudo-moar e84f71: OUTPUT«("a", "b", "c"; "a", "b", "c")␤("a", "b", "c"; "a", "b", "c")␤»
smls m: .say for ([X] (<a b c> xx 2).tree.list).tree.list # yet as an argument to [X], the non-literal one does not work as expected 08:48
camelia rakudo-moar e84f71: OUTPUT«a b c␤a b c␤»
08:48 eli-se joined
smls a bug, or a correctly-implemented peculiarity of **@_ or "is parcel" arguments (or whatever [X] uses to do its magic) 08:50
?
timotimo i don't know :( 08:51
08:53 virtualsue joined
TimToady Good morning everyone, you're on screen at Morgan Stanley, Budapest 08:54
yoleaux 11 Mar 2015 23:45Z <Mouq> TimToady: Do these look OK to you? irclog.perlgeek.de/perl6/2015-03-11#i_10262758
moritz good morning TimToady :-)
t/spec/S12-class/inheritance.t complains on current rakudo-m with You planned 40 tests but ran 39.
Could not find symbol '&NotComposed' in method <anon> at src/gen/m-CORE.setting:15247 08:55
sounds like an error reporting fail
and sounds like it's my fault :(
TimToady if I demo weird things here, it'll be because I'm showing things off 08:57
moritz oh, I have a local, uncommitted test here :/
smls say "{<Hi Hello Hey G'day Morning>.pick}, Budapest!"
m: say "{<Hi Hello Hey G'day Morning>.pick}, Budapest!"
camelia rakudo-moar e84f71: OUTPUT«Hello, Budapest!␤»
TimToady smls++
08:58 itz_ left
timotimo good morning TimToady and audience! 09:00
09:02 virtualsue_ joined
TimToady m: v1.2.3 ~~ v1.2.4 09:03
camelia ( no output )
TimToady m: say v1.2.3 ~~ v1.2.4
camelia rakudo-moar e84f71: OUTPUT«False␤»
09:03 virtualsue left, virtualsue_ is now known as virtualsue
TimToady m: say v1.2.3 ~~ v1.2.2 09:03
camelia rakudo-moar e84f71: OUTPUT«False␤»
TimToady m: say v1.2.3 ~~ v1.2.2+
camelia rakudo-moar e84f71: OUTPUT«True␤»
09:03 itz joined
TimToady m: say v1.2.3 ~~ v1.2 09:03
camelia rakudo-moar e84f71: OUTPUT«True␤»
moritz m: say v1.2.3 ~~ v1.2.0 09:04
camelia rakudo-moar e84f71: OUTPUT«False␤»
09:08 vendethiel left 09:09 lizmat left 09:10 masak_webchat joined
masak_webchat anyone else having trouble logging into hack.p6c.org? 09:10
I get the MOTD, the "Last login", and then just a hang 'stead of a bash prompt.
09:11 brrt left
masak_webchat hopes he's not disturbing some talk or other with admin trivia 09:11
timotimo i have trouble, too. let's all hammer the sshd with connection attempts until it works again! ;) 09:12
09:13 lizmat joined, espadrine left 09:14 kjs_ joined 09:15 kjs_ left 09:17 chenryn left 09:18 chenryn joined
moritz masak_webchat: trying now 09:19
09:19 Ven left, eli-se left 09:20 cschwenz joined, Akagi201_ joined 09:21 kjs_ joined
timotimo yesterday ashgti's changes to perl.tmbundle were merged into the textmate/perl.tmbundle repository 09:21
09:23 Akagi201 left
moritz not having much luck through the net, trying the VM console now 09:24
timotimo .o( entropy completely drained? ) 09:26
09:27 lizmat left 09:31 slavik left
jnthn morning o/ 09:33
yoleaux 04:31Z <Mouq> jnthn: Does gist.github.com/Mouq/1420b193252f0cbaec31 seem like a sane fix to RT #118555 ? I'm hesitant to patch BOOTSTRAP.nqp
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118555
timotimo top of the morning to you, jnthn 09:34
09:35 lizmat joined
jnthn .tell Mouq Only worry is that while this fixes the slow-path binder used on Moar, it doesn't fix it for bind lowering (where we compile many common/simple signatures), nor JVM...and I wonder if we could patch it a different way that fixes the 3 at once. 09:35
yoleaux jnthn: I'll pass your message to Mouq.
09:35 chenryn left 09:36 fhelmberger joined
jnthn .tell Mouq For example, adding a default closure that makes an appropriately typed array/hash when we construct the Parameter object in the first place. 09:36
yoleaux jnthn: I'll pass your message to Mouq.
09:36 chenryn joined 09:37 coffee` joined 09:38 rindolf joined, vendethiel joined 09:43 yeahnoob left 09:45 Ven joined 09:47 masak left 09:51 coffee` left, chenryn left 09:54 chenryn joined 09:55 dakkar joined 09:59 espadrine joined
masak_webchat moritz: oh, so you can reproduce the problem? that's both good news and bad news, I guess... 10:00
masak_webchat waits, stuck in webchat limbo
nwc10 good *, masak_webchat :-) 10:01
10:02 vendethiel left 10:03 eli-se joined, Akagi201_ left 10:04 Akagi201 joined, [Coke] left
jnthn Punctuation aside, masak_webchat is an anagram of "wat?! has me back!" 10:05
tadzik how do you come up with this stuff :P 10:06
yoleaux 11 Mar 2015 21:36Z <FROGGS> tadzik: github.com/rakudo/rakudo/commit/7b...f80e3dafba
tadzik FROGGS: oooh, thanks
bartolin m: my int $i = 1; my $alias := $i; $alias++; say $i 10:07
camelia rakudo-moar e84f71: OUTPUT«2␤»
bartolin this dies with rakudo.jvm and leads to spectest failures in S02-types/native.t
jnthn wonders why 10:08
What does it die with, ooc?
10:08 Akagi201 left
bartolin mom 10:08
jnthn I musta translit'd the Moar impl wrong somewhere...
10:09 alini joined
bartolin justpaste.it/jwg1 # error message for rakudo.jvm 10:11
moritz I can't connect to hack via the hypervisor console, I fear I must reboot it
10:11 fhelmberger left
jnthn bartolin: hmmm, hard to guess...I'll have to have a dig 10:11
10:12 fhelmberger joined
bartolin I'm going to fudge the tests for jvm for the moment. ++jnthn :-) 10:12
10:13 Mouq left, sergot left
moritz but I did get CPU stats, which seem to suggest that one virtual CPU was running at 100%, and the rest was mostly idle 10:13
machine rebooted; hack is pingable 10:15
but ssh-connecting hangs :( 10:16
10:19 masak_webchat left 10:22 vendethiel joined, masak joined
masak yay 10:22
moritz from the host I can use the network just fine 10:24
masak moritz: any idea what happened?
moritz masak: no :(
masak makes a note to be more resilient to hack.p6c.org shutdown than he was this time 10:25
timotimo do we have a solution for what to do when a user asks for .ords on a NFG string with "made up" combined characters? 10:26
moritz timotimo: .ords should operate on NFC level 10:27
that is, not on grapheme level
o wtf
10:27 coffee` joined
moritz apache on hack is available 10:27
10:27 alini left
bartolin jnthn: fyi, I opened ticket #124051 for the JVM failures above and fudged (skip) the tests for now 10:28
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124051
timotimo OK
moritz ssh -4 hack also works 10:29
so, IPv6 trouble :(
timotimo yeah, "no route to host" for -6 :(
10:30 psch joined
moritz ok, I've taken down the IPv6 DNS entry for now 10:30
psch o/
moritz no time to debug in more detail :( 10:31
psch my irssi screen on hack disappeared, in case that's a hint
moritz psch: I force-rebooted the VM, so no surprise here
psch ah, ok
jnthn: the bug bartolin mentioned is a bit more general than native.t alludes to. irclog.perlgeek.de/perl6/2015-03-11#i_10256934 is what i found out. your last hint was JAST/Compiler.nqp, but i don't see through that 10:33
10:33 pecastro joined 10:34 Ven left 10:38 kjs_ left 10:39 kjs_ joined 10:40 eli-se left 10:41 donaldh joined, kjs_ left 10:43 kjs_ joined 10:44 rindolf left 10:45 eli-se joined 10:46 chenryn left
eli-se woo 10:50
Perl is great.
timotimo glad to hear it :3 10:51
masak \o/
eli-se all versions from 5 to 6
masak Perl 4 is so-so :P
eli-se reminds me of Guido during a talk 10:52
he asked the audience who used Python 3 and some people raised their hand
he asked the audience who used Python 2 and some people raised their hand
then he asked himself what version the people used that didn't raise their hand and the conclusion was that they used Python 1 :P 10:53
moritz :-)
timotimo that sounds scary
moritz is sure that Perl 4 was great at its time
masak but it was a very different time
moritz right 10:54
and other expectations towards programming languages
eli-se maintaining old Python 1 systems sounds fun 10:55
10:55 eli-se left
masak .oO( * eli-se quickly left, realizing that there was an old Python 1 system somewhere to maintain ) 10:58
11:01 laouji left, sergot joined
moritz does anybody want to help me debug IPv6 issues on hack? 11:02
psch doesn't get IPv6 from his ISP 11:03
timotimo i can try
moritz timotimo: ip -6 route says that 2001:780:101:ff00::2:1 is the defualt gateway 11:04
but all the 2001:780:101:ff00::2:* addresses are routed to hack 11:05
so something is fishy
what should the default gatway be?
timotimo is that on the vm host? 11:06
moritz oh, probably 2001:780:101:ff00::1
11:06 cognominal joined
moritz timotimo: on the guest 11:06
timotimo if it's on the guest it should either be the host or the same as what the host has, i suppose? which is what your "isp" gives you
moritz yes, it's 2001:780:101:ff00::1 on the host
and I can ping6 this from the guest 11:07
can I reconfigure an interface according to /etc/network/interfaces without taking it down?
timotimo don't really know how the network stuff on debian works :( 11:08
11:08 dalek joined, ChanServ sets mode: +v dalek
moritz root@hack:/etc# route -A inet6 add default gw 2001:780:101:ff00::1 11:09
SIOCADDRT: Invalid argument
I hate these unhelpful error messages
11:12 vendethiel left 11:13 pullphinger left
timotimo yes! 11:14
oh
you want -6 or --inet6
moritz that's 'ip' syntax
not 'route' syntax :-)
timotimo nope, i was wrong
the section of man route about "-A" was weird 11:15
moritz just googled around and didn't bother with the man page 11:16
bartolin moritz: I would expect the host to be the gateway for the vm. (though I don't know the network setup on hack.) 11:18
11:18 chenryn joined
smls My favorite Linux error message is "foo: No such file or directory", which can mean a bunch of different things, most of which have nothing to do with the existence of the file/program "foo"... ;) 11:18
11:20 cognominal left
timotimo bartolin: depending on how the network interfaces are connected, i.e. via a bridge to the host's interface, you could use the same gw the host uses 11:20
11:22 vendethiel joined
bartolin timotimo: you're right, it depends on the network setup 11:23
timotimo everything does, always 11:24
bartolin (I've got a working ipv6 setup where the KVM guest uses a bridge and uses the host as its gateway) 11:25
*g*
moritz: I could take a look, but it probably would make sense only with an account.
11:27 cognominal joined 11:33 lizmat left 11:35 lizmat joined, abraxxa joined
[ptc] what is the error message "You cannot create an instance of this type" trying to tell me? 11:40
does it mean that I can't have a module and a class of the same name?
psch [ptc]: the error message just means you're trying to instantiate the module 11:42
m: module A { }; A.new
camelia rakudo-moar e84f71: OUTPUT«You cannot create an instance of this type␤ in method bless at src/gen/m-CORE.setting:967␤ in method new at src/gen/m-CORE.setting:953␤ in block <unit> at /tmp/iX9i74SsrP:1␤␤»
11:43 xfix joined
psch m: module A { class A { } }; A::A.new 11:43
camelia ( no output )
jnthn m: module A { }; class A { }; 11:44
camelia rakudo-moar e84f71: OUTPUT«5===SORRY!5=== Error while compiling /tmp/q3O2SumD5J␤Redeclaration of symbol A␤at /tmp/q3O2SumD5J:1␤------> 3module A { }; class A7⏏5 { };␤ expecting any of:␤ generic role␤»
[ptc] psch: thanks. I knew I was doing something wrong
jnthn That's what you should get it you actually try to have a module and a class of the same name in the same scope.
*if
psch m: module A { class A is export { } }; import A; # or maybe something like this 11:45
camelia rakudo-moar e84f71: OUTPUT«5===SORRY!5=== Error while compiling /tmp/93QME9IH0N␤Cannot import symbol A from A, because it already exists in this lexical scope␤at /tmp/93QME9IH0N:1␤------> 3le A { class A is export { } }; import A7⏏5; # or maybe something like this␤»
11:47 vendethiel left 11:48 skids left
moritz from hack I can now ping6 google.com 11:48
... and now I can ping6 hack too 11:49
bartolin \o/ moritz++ 11:51
11:51 cognominal left 11:53 cognominal joined
moritz turns out I had the gateway address bound to the local interface 11:56
11:56 cognominal left
moritz which is, like, total bs 11:56
timotimo oops :) 11:57
moritz part of the problem was that I haven't rebooted hack before 11:58
and I did the network configuration manually, and then only when it worked, dumped it to /etc/network/interfaces 11:59
but didn't test it
timotimo seems legit ;)
moritz (because I couldn't, at least not without interrupting the network connection)
timotimo Stage parse : 28.425
psch moritz++
timotimo we've been at the same time for a long time, could that be?
but i've got a feeling that the setting kind of grew in the mean time 12:00
12:04 cognominal joined
[ptc] is there anything holding back the change to Test.pm which enables hyphenated testing functions (PR #371)? 12:08
it'd be nice to use e.g. done-testing() instead of done_testing() ....
if the patch needs to be improved, just let me know, and I'll update it 12:09
12:10 kjs_ left 12:13 kjs_ joined
masak [ptc]: do people still do `done_testing`? I've been on `done` for years now... 12:13
[ptc] masak: yeah, I should have used a better example... my bad. 12:14
masak I'm mildly opposed to messing with a stable API such as Test.pm just because some of us like hyphens better than underscores... 12:15
it feels like one kind of avoidable ecosystem turmoil.
[ptc] masak: there was an explicit request to make the change 12:16
moritz by whom?
[ptc] masak: jnthn and perlpilot
mentioned here: github.com/rakudo/rakudo/pull/366
12:17 iv joined
jnthn Well, what I want is consistency. And my attempt to argue the easiest achieve that by making the small handful of things that use - instead use _ (like is-prime) were met with howls from kebab-lovers. 12:18
[ptc] from my point of view it's not a big issue, it just occured to me while writing some tests
jnthn So, now we get to change All The Things to use -
masak with a deprecation cycle involved, I guess it could be OK. 12:19
timotimo %)
jnthn Thankfully, lizmat++ gave us good deprecation handling. :)
masak especially as the semantics is changing slightly (for the better) too, and there could be some (unlikely) test failures due to that.
12:19 vendethiel joined 12:20 xtreak joined
timotimo FWIW, current rakudo nom has a summary score of 103.6 compared to the baseline of 2015.02 which is 100 12:21
jnthn timotimo: ...context?
timotimo a random perl6-bench i just ran
masak is that good or bad?
iv What does the :D mean in Supply's type signatures where the receiver is "Supply:D"?
timotimo that's good 12:22
masak iv: "defined"
timotimo also "happy"
moritz you can't pass a type object there
iv An actual instance?
masak timotimo: as in ":Don't worry, be happy"? :)
iv: pretty much.
iv: though things can be instances and still undefined, even though that's rare.
iv Ok, thanks. Can you point me to the docs on that?
masak m: class C { method defined { False } }; my $c = C.new; say $c.defined 12:23
camelia rakudo-moar e84f71: OUTPUT«False␤»
masak m: class C { method defined { False } }; my $c = C.new; sub foo(C:D $x) { say "alive!" }; foo($c)
camelia rakudo-moar e84f71: OUTPUT«alive!␤»
12:23 [Coke] joined
masak ...huh. 12:23
jnthn masak: Uh, it's about "is this a type object" 12:24
masak iv: see design.perl6.org/S12.html#Abstract_...rete_types 12:25
iv Thanks! :)
masak jnthn: yeah, seems you're right. I must be running my brain on old doc or something.
jnthn doc.perl6.org/language/classtut talks a bit about the Perl 6 object system and may also be useful
(explains what "type object" means) 12:26
masak: Given we want to multi-dispatch on :D/:U, it'd be a little unfortunate if the check cost a method call :)
masak *nod*
so the *only* way to be :D is to not be a type object, and not a failure? 12:27
jnthn At the moment we don't even make Failure a special case for that.
12:28 Ven joined
jnthn Though we probably could without totally ruining optimizability. 12:28
12:30 xinming_ left, chenryn left 12:31 xinming joined 12:37 kaare_ left
iv Dang, ran out of memory compiling Rakudo 12:43
moritz you need ~1GB for the moarvm backend
and more for the JVM backend (~3GB last I tried)
iv Noted.
Time to spin up an OpenBSD current machine for it. The port needs updating too… 12:44
moritz and since the MoarVM backend is moar fun usually anyway, that's what I use
12:46 kjs_ left
dalek kudo-star-daily: 6e3b312 | coke++ | log/ (9 files):
today (automated commit)
12:46
12:48 eli-se joined 12:51 kjs_ joined 12:52 [Sno] left, [Sno] joined 12:56 eli-se left
FROGGS is very pleased about github.com/coke/rakudo-star-daily/...1d95756751 13:00
Ven FROGGS: wow! what happened there? 13:01
jnthn FROGGS happened!
moritz also very happy
FROGGS++
nwc10 use more 'FROGGS'; 13:02
but how?
moritz cloning!
offer him a Perl 6 full time job!
FROGGS moritz: I'd take it right away
13:03 cognominal left, kjs_ left
tadzik kickstarter! 13:04
moritz paying a full-time software developer is expensive :( 13:05
13:05 vendethiel left
moritz I'd say in Germany you pay between 40k and 80k salary, and then double it for anciliare wage costs 13:06
(taxes, health insurance, ...)
and while the Perl 6 community is generous, I don't know if they'll be generous enough to afford around 120kEUR/a 13:08
13:10 rindolf joined
masak FROGGS++ 13:11
colomon What the heck did FROGGS++ do that sped things up that much!?!
Ven ^
masak there are also other avenues that skilled Perl 6 developers might consider taking, which would allow them to both have the salary and time for Perl 6... 13:12
(we're hiring)
FROGGS colomon: I did nothing about speed
colomon: I fixed two modules (and almost a third)
iv masak: Who are we?
13:12 ShimmerFairy left
Ven masak: :P 13:12
psch is probably not skilled enough — and couldn't relocate anyway 13:13
masak iv: edument.se/
colomon FROGGS: ??????
Ven FROGGS: how did the speed go down so low then :P?
masak hm, edument.se/en/ is a better link
colomon hmm, panda install failing on hack.p6c.org? 13:14
iv That is fairly close to what I do now. :)
masak iv: tell me more. what do you do? 13:15
13:16 kjs_ joined
iv masak: I work at reaktor.com/ as a consultant. A 13:16
-A
Ven totally speaks swedish and can completly understand :P 13:17
iv My Swedish is awful. :(
masak a 300-person company. cool.
jnthn My Swedish is awful but it didn't stop me :P
moritz jeg snakker bare litt norsk
masak goodenuf
FROGGS colomon: you might need to pull rakudo 13:18
jnthn
.oO( I snack on bare little Norwegians?! )
iv Even I understood that, and I don't speak Norwegian :)
colomon FROGGS: smoke test always updates rakudo before trying panda.
masak jnthn: ah, the dangers of word-for-word translation :P
jnthn :D
13:18 kjs_ left
iv …or I thought I don't 13:19
FROGGS colomon: then please look at your panda folder, there might be gazillions of .panda-work folders
moritz big Norwegians aren't as tasty :-)
masak jnthn: in your defense, "bare little Norwegians", lightly salted, could totally be a Swedish favorite snack in a slightly different parallel universe. they'd be salty crackers of some kind.
colomon FROGGS: not anywhere I can see
13:20 skids joined
jnthn masak: In this one, we ended up with salted licorice :P 13:20
masak iv: what do you consider your areas of expertise to be?
colomon FROGGS: though on the other hand, I think panda built just now.
:\
colomon sees moritz is using hack too. ;) 13:21
iv masak: teaching (I gave workshops at Helsinki uni), understanding the client, programming (functional, frp).
Currently I mostly hate on browsers. 13:22
tadzik a dream job :)
iv Do we have automated builders for different OSs? 13:23
nwc10 I'm not aware of any 13:24
13:25 ShimmerFairy joined 13:27 virtualsue left
iv Would that be useful at this point in time? 13:29
nwc10 I think so. 13:30
moritz iv: very much so 13:31
masak iv: what do you teach? sorry for being so curious. :) 13:38
(I teach quite a bit these days, too)
13:39 virtualsue joined
Ven would certainly consider teaching to be the best outcome.. 13:39
dalek kudo/nom: 699f9b0 | TimToady++ | src/core/Any.pm:
fix copy-pasto in minmax
13:41
13:42 evillemez joined, virtualsue_ joined 13:43 vendethiel joined, virtualsue left, virtualsue_ is now known as virtualsue
dalek ast: 29d4133 | usev6++ | S32-io/dir.t:
Add test for RT #123308
13:46
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123308
13:52 kjs_ joined
dalek ast: b507033 | TimToady++ | S03-operators/minmax.t:
test minmax on ranges
13:54
13:56 larion joined 14:08 xinming left 14:10 xinming joined
dalek ast: 0f4b5b6 | usev6++ | S29-os/system.t:
Add test for RT #104794
14:12
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=104794
dalek Heuristic branch merge: pushed 20 commits to perl6-examples by paultcochrane
14:13 kjs_ left 14:25 chenryn joined
iv masak: Bacon.js and Git lately. 14:25
masak oh, cool.
moritz bacon.js sounds tasty 14:26
masak haven't been teaching so much jQuery (mostly other JavaScript stuff), but been teaching plenty Git over the past years.
moritz no idea what it does :-)
iv It's like Supply. :)
jnthn If you put bacon.js in a git repo, does it save your bacon? :)
masak iv: if we ever meet, let me buy you a $beverage and we can talk about teaching experiences :)
jnthn: that joke... was not kosher. 14:27
14:27 chenryn left
iv masak: I'll try to remember 14:27
14:27 chenryn joined
masak jnthn: now I'm tempted to build some wildly successful framework, and then name it "Pork", *purely* for the pleasure of knowing that thanks to me, thousands of professionals around the world go around saying "Pork" in their daily work :P 14:28
14:31 vendethiel left, chenryn left
moritz masak: especially the muslims 14:32
masak surely saying "pork" isn't taboo? 14:33
it's ingesting it, no? 14:34
masak .oO( do not take pork's name in vain )
[ptc] so long as it brings home the bacon 14:35
14:36 chenryn joined 14:38 Foxcool_ joined, larion left
moritz might still be a bit... tasteless 14:39
14:39 Foxcool left
iv So bad. 14:40
masak .oO( just add more salt )
jnthn
.oO( stop the insalts! )
14:42
masak didn't mean to add insalt to injury. 14:43
sorry, Muslims. I'll name my product something harmless and innocuous, like "Holy Profit!"
14:46 xtreak left 14:48 myp left 14:51 myp joined
jnthn I slam that idea, jew should sikh a better name to not hindur your framework...buddha bit of thought into it, and leave the confucian bahaind you... 14:51
14:51 Ven left
masak :P 14:52
jnthn m: say "{ 7 / 148 } puns per character" 14:55
camelia rakudo-moar 699f9b: OUTPUT«0.047297 puns per character␤»
moritz wonders if jnthn++ spent the last 8 minutes crafting that pun
jnthn Bah, less than 5% pun ratio...
14:56 rmgk is now known as Guest19475, rmgk_ joined, Guest19475 left, rmgk_ is now known as rmgk
jnthn yay, I'm done with $dayjob tasks for today and can do Perl 6 things now :) 14:59
15:02 vendethiel joined 15:06 Ven joined, Ven left 15:09 J-L joined 15:10 Ven joined
J-L Hey, the Wikipedia article on "Faro shuffle" has code implementations of it written in Python, Perl5, and Perl6. It offers a nice comparison. And with a few tweaks (so that it doesn't end early), it can be used as a speed comparison. 15:12
15:13 Ven_ joined 15:14 Util joined
nwc10 jnthn: such as more puns? 15:14
15:14 Ven left
jnthn Well, deleting 18 lines of code while fixing the build and removing a failure mode right now... :P 15:17
15:18 Ven_ left, Ven joined, telex left
masak en.wikipedia.org/wiki/Faro_shuffle 15:19
nwc10 while juggling chainsaws riding a unicycle?
masak don't be silly 15:20
chainsaws can't ride the unicycle
15:20 telex joined
psch misread that as "unicorns" and found the image messy 15:20
jnthn Of course, the internet does actually have a video of somebody juggling with a chainsaw while riding a unicycle... 15:25
jnthn feels less scared about having to patch the bit of the deserializer handling reposessions now... 15:26
15:26 J-L left, J-L joined 15:31 aborazmeh joined, aborazmeh left, aborazmeh joined
dalek : 9d69896 | usev6++ | misc/rt.perl.org/tickets_closed_parrot_only.txt:
Some more closed 'parrot only' tickets
15:32
15:39 aborazmeh left 15:42 kjs_ joined, chenryn left 15:44 chenryn joined 15:45 evillemez left, evillemez joined, evillemez left 15:48 Rounin left 15:49 dj_goku joined
masak has this ever been addressed re .unpack: (a) it's a method on Buf, which feels right -- but (b) a very common Perl 5 use case seems to be reading a *text* file and extracting fields with &unpack, which assumes we're starting from a Str, not a Buf 15:49
...? 15:50
put differently, it feels like Perl 5's &unpack is surfing its Str/Buf confusion a little to make &unpack more useful.
and we don't do/have anything like that in Perl 6. 15:51
15:51 eli-se joined
eli-se hi 15:51
masak aloha, eli-se
15:53 chenryn left 15:54 eli-se left
jnthn .tell FROGGS I just noticed in SerializationReader on JVM, in the repossess method, there are a copule of /* XXX TODO */ that may explain some bug or two 15:55
yoleaux jnthn: I'll pass your message to FROGGS.
FROGGS O.o 15:56
yoleaux 15:55Z <jnthn> FROGGS: I just noticed in SerializationReader on JVM, in the repossess method, there are a copule of /* XXX TODO */ that may explain some bug or two
FROGGS we have bugs? eeks
masak one or two 15:57
jnthn Well, probably...
FROGGS why do we add bugs to our code base in the first place? :P
masak it's cheaper than getting everything right up front 15:58
tadzik when will we learn
masak never
tadzik perhaps there's a bug in our learning subroutines...
masak it's bugs all the way down 16:01
16:03 chenryn joined 16:05 PerlJam joined
PerlJam greetings 16:07
masak PerlJam! \o/
PerlJam masak! :)
donaldh jnthn: there's a behavioural difference between moar and jvm for QAST::WVal.new[0] 16:11
nqp-j gives java.lang.RuntimeException: This type does not support positional operations
16:11 perl6_newbee joined
donaldh This may or may not be the root cause of a leaking UnwindException 16:11
donaldh is still investigating. 16:12
jnthn donaldh: OK. I don't think it makes sense in either.
16:12 eli-se joined
donaldh But I expect that there is an intentional UnwindException involved in a wrapping try block and that it is getting populated with the wrong target. 16:14
eli-se Today I learned a lot.
donaldh jnthn: Any hints for debugging, or just hard work TM
jnthn Not sure off hand...do you know where the QAST::WVal.new[0] access is going on? 16:15
masak eli-se: glad to hear it! sounds wonderful! 16:16
Ven masak: you don't want to know how they implemented COMEFROM :P 16:17
eli-se COMEFROM is easy to implement.
Labels become gotos and comefroms become labels.
masak right.
16:18 chenryn left
masak do you, pray tell, require at most one COMEFROM per label? :) 16:18
PerlJam that doesn't sound very perlish ;)
eli-se UB otherwise :p
16:19 dwarring left
masak eli-se: aww. opportunity for parallelism. :) 16:19
donaldh jnthn: just checking.
eli-se I do have something similar to COMEFROM. 16:20
You can add hooks to functions.
16:20 chenryn joined
masak eli-se: hooks? to functions? madness, I tell you! madness! 16:21
donaldh jnthn: github.com/rakudo/rakudo/blob/nom/....nqp#L4776 16:22
eli-se I'm not yet sure how I want to implement it.
It'll probably be a library feature.
masak eli-se: I'm curious if I could get you to help us work on 007 :)
eli-se What is 007?
16:23 gfldex joined
masak eli-se: it's a Perl 6/Python hybrid with the explicit goal to experiment with macros. 16:23
16:23 Ven left
masak masak.github.io/007/ 16:23
jnthn donaldh: Hm. Does making that try { ... } fix it?
(that is, putting a block around the epxression)
eli-se masak: I don't want to touch Python with a three meter pole. 16:24
I do it enough at work already. :v
masak the syntax of 007 is Perl-y. some of the semantics, where it makes sense, is Python-ish.
but, more than that: experiments! macros! experiments with macros! :) 16:25
16:31 chenryn left
donaldh jnthn: no, try { ... } doesn't help. 16:33
16:34 eli-se left 16:35 Ven joined
donaldh well the unwinder escapes the immediately surrounding try so I guess the unwindTarget must be wrong. 16:37
That gives me some bytecode I can stare at ;-) 16:38
TimToady hi folks, we're now on screen again in Budapest 16:41
so don't say anything bad about Python
Ven \o/
TimToady oops, too late... 16:42
dalek rl6-roast-data: 0da0430 | coke++ | / (9 files):
today (automated commit)
kudo/parameterize-cleanup: 976eeaf | jnthn++ | src/core/ (2 files):
Switch Array/Hash to use method ^parameterize.
kudo/parameterize-cleanup: b7dc805 | jnthn++ | src/core/ (2 files):
Switch a few places to use .^parameterize.
16:42 Khisanth left
[Coke] nqp-p still failing nqp::index tests. 16:43
jvm failing 9 tests due to 2 aborts. 16:44
moar jit clean. moar nojit failing a flapper.
donaldh &
masak Python ain't so bad. it's just a very different local optimum compared to Perl.
16:45 donaldh left
[Coke] "could be worse, could be coldfusion" </daily> 16:45
16:47 madmuid joined
masak :P 16:48
jnthn FROGGS: About? 16:49
lizmat .botsnack
yoleaux :D
Ven [Coke]: have you considered writing a learnxinyminutes for coldfusion? :P I'd love to read it!
jnthn FROGGS: ah, no worries 16:50
lizmat starts backlogging the past 2 days 16:51
FROGGS jnthn: I am here 16:53
[Coke] Ven: no, that would be horrible.
Ven [Coke]: why? :)
dalek kudo/parameterize-cleanup: a6a8793 | jnthn++ | src/Perl6/Metamodel/ClassHOW.nqp:
Allow method ^foo() { ... } to work in augment.
kudo/parameterize-cleanup: a93f156 | jnthn++ | lib/NativeCall.pm:
Fix method ^name() { ... } now we actually use it.
kudo/parameterize-cleanup: 9f637e7 | jnthn++ | lib/NativeCall.pm:
Switch NativeCall types to use ^parameterize.
FROGGS oy! 16:54
jnthn++
jnthn FROGGS: I was patching NativeCall and confused myself, then figured it out :)
TimToady anyone wanna show off Perl 6 while you're on screen here? 16:56
FROGGS jnthn++ # awesome outfigurer
16:57 Ven left
FROGGS m: say 42 # \o/ 16:57
camelia rakudo-moar 699f9b: OUTPUT«42␤»
TimToady that's...not very fancy
lizmat m: sub showoff($a) { say $a }; showoff(<Perl 6>)
camelia rakudo-moar 699f9b: OUTPUT«Perl 6␤»
TimToady
.oO(she's such a tease)
16:58 lichtkind joined
TimToady m: say [*] 2..100 16:58
camelia rakudo-moar 699f9b: OUTPUT«93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000␤»
masak m: .say for 10 ... 1, "LIFTOFF"
camelia rakudo-moar 699f9b: OUTPUT«10␤9␤8␤7␤6␤5␤4␤3␤2␤1␤LIFTOFF␤»
PerlJam masak: you forgot the *CRASH* after liftoff ;>
masak m: say 1/3 + 1/3 + 1/3 # exact answer
camelia rakudo-moar 699f9b: OUTPUT«1␤»
16:59 vendethiel left
FROGGS m: use NativeCall; my class Coffee is repr<CStruct> { has uint8 $.milk }; say Pointer[Coffee].new.deref 16:59
camelia rakudo-moar 699f9b: OUTPUT«(Coffee)␤»
TimToady I'll leave you guys up while there doing the preliminaries...
masak m: say "MW" ~ "HA" x 100 ~ "!" # big mistake, TimToady :) 17:00
camelia rakudo-moar 699f9b: OUTPUT«MWHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA!␤»
TimToady *they're
jnthn m: my $english = 'while there doing'; $english ~~ s[there] = "they're"; say $english
camelia rakudo-moar 699f9b: OUTPUT«while they're doing␤»
jnthn :P
17:00 vendethiel joined
masak m: my $who = "TimToady"; say "Who is going to regret leaving us up while doing the preliminaries?"; say "$who, that's who!" 17:01
camelia rakudo-moar 699f9b: OUTPUT«Who is going to regret leaving us up while doing the preliminaries?␤TimToady, that's who!␤»
jnthn m: say "Who let dogs out? ", 'Who? ' xx 3
camelia rakudo-moar 699f9b: OUTPUT«Who let dogs out? Who? Who? Who? ␤»
FROGGS >.< 17:02
masak m: say "What happens when an unstoppable \x2604 meets an immovable \x2603?"
camelia rakudo-moar 699f9b: OUTPUT«What happens when an unstoppable ☄ meets an immovable ☃?␤»
masak (can I do that one with the character names somehow?) 17:03
jnthn m: say "\c[CAT FACE WITH TEARS OF JOY]"
camelia rakudo-moar 699f9b: OUTPUT«😹␤»
hahainternet irlolled at ^
PerlJam For some reason I always expect to use \u instead of \c there 17:04
17:04 avuserow joined
masak m: my @array = "hip" xx 2; say join " ", @array, @array.^name, "!" 17:04
camelia rakudo-moar 699f9b: OUTPUT«hip hip Array !␤»
masak PerlJam: too much Java or JavaScript, perhaps?
PerlJam: (I did the same just now, though)
TimToady Okay, no more fun. 17:05
see you later &
masak m: say "What happens when an unstoppable \c[COMET] meets an immovable \c[SNOWMAN]?"
camelia rakudo-moar 699f9b: OUTPUT«What happens when an unstoppable ☄ meets an immovable ☃?␤»
masak \o/
TimToady: good luck!
dalek kudo/parameterize-cleanup: 9ef86e6 | jnthn++ | src/Perl6/Metamodel/ClassHOW.nqp:
Kill off the PARAMETERIZE_TYPE hack.
17:06
lizmat was finally starting to grok PARAMETERIZE_TYPE 17:07
17:07 aborazmeh joined, aborazmeh left, aborazmeh joined
jnthn lizmat: The knowledge is about transferable. :) 17:08
lizmat I hope so :-)
jnthn lizmat: It's just removing a level of indirection and keeping meta-programming and programming apart.
lizmat jnthn++
jnthn You can see the patches I did in that branch leading up to it to see how things changed. 17:09
Though don't try and run the branch yet, it depends on a local Moar change I have that seems to break something else... 17:10
lizmat will check after backlogging completes
J-L Hey, I'm getting a strange error in Perl6 when I try to run: 'hello'.^methods.sort.say; 17:13
I get a lot of: Code object coerced to string (please use .gist or .perl to do that) ...
jnthn .sort(*.name)
masak m: say "hello".^methods.sort(*.name) 17:14
camelia rakudo-moar 699f9b: OUTPUT«ACCEPTS BUILD Bool DUMP Int Num Numeric Str Stringy WHICH WHY chomp chop codes comb encode gist indent lines match ords path perl pred samecase samespace split subst subst-mutate succ trans trim trim-leading trim-trailing unival univals wordcase words␤»
skids Some of the methods on base types are lowlevel and don't yet do some introspects.
masak J-L: what jnthn++ said.
PerlJam J-L: ^methods will get you the actual "method objects" and when you try to say them, you get what you got
lizmat it's at times like this that I wonder whether we could need a .Sort implicit coercer
for sorting 17:15
PerlJam lizmat: .COLLATE maybe? :)
masak that implies that there is one order per type, which I don't think is true.
lizmat yeah, something like that
masak not even one canonical order per type.
J-L Ah, nice. Thanks. 17:16
17:16 aborazmeh left, Ovid joined
J-L Out of curiosity, does this .sort(*.name) use a Schwartzian transform? 17:17
PerlJam Ovid! o/
17:17 Ovid is now known as Guest64948
Guest64948 Hi there. 17:17
skids o/ Guest
masak hi, Guest64948^WOvid
17:18 Guest64948 is now known as CurtisOvidPoe
CurtisOvidPoe Dang it :) 17:18
If I have a sub call like doit(<a b c>), how do I flatten that hard-coded list?
lizmat doit( |<a b c> )
PerlJam always or just for one call?
CurtisOvidPoe PerlJam: Just wanted to know it for that one call. 17:19
lizmat m: sub foo($a,$b,$c) { say $a; say $b; say $c }; foo( |<a b c> )
camelia rakudo-moar 699f9b: OUTPUT«a␤b␤c␤»
17:20 madmuid left
J-L Question: If I want to compare two arrays to see if they have identical contents (they each hold only strings), what's the better way to do it? With ~~ or eqv ? Or another way? 17:20
moritz eqv 17:21
lizmat if they only contain strings, 'eq' might be faster ?
17:22 mr-foobar joined
masak >>eq<< in that case 17:22
oh, wait.
moritz m: say ['a b', 'c'] eq ['a', 'b c']
camelia rakudo-moar 699f9b: OUTPUT«True␤»
masak I see what you mean, lizmat.
moritz don't use eq on arrays
masak heh.
I didn't even think of that. but yeah, not good.
lizmat moritz++ to point out the error of her ways
masak >>eq<< ought still work. but it will throw an exception if the arrays are of different length -- probably not what you want. 17:23
17:23 eli-se joined 17:24 vendethiel left
eli-se hii 17:24
masak :)
17:25 smls left
J-L Example of the array comparison I'm asking about: Say I have two decks of cards (@cards1 and @cards2), each containing 52 strings (representing the 52 cards). How would I comapre them to see if they're in the exact same order? @cards1 ~~ @cards2 or @cards1 eqv @cards2 ? 17:26
masak J-L: both work.
J-L: I'd use eqv because it's narrower in semantics.
and so it leaves fewer questions for the avid reader. 17:27
J-L An unrelated question: Can I declare a variable const in Perl6?
masak m: constant foo = 42; say foo
camelia rakudo-moar 699f9b: OUTPUT«42␤»
masak m: constant $foo = 42; say $foo
camelia rakudo-moar 699f9b: OUTPUT«42␤»
skids J-L: Though I wouldn't call it a "variable constant" personally :-) 17:28
J-L Excellent! I've been waiting for a long time for "constant". 17:30
m: my @a = (1 .. 3); say @a ~~ (1 .. 3); say @a eqv (1 .. 3); 17:31
camelia rakudo-moar 699f9b: OUTPUT«True␤False␤»
[Coke] p5 has Readonly, which is pretty nice. (ROODE++)
J-L It looks like ~~ can handle arrays compared with lists, whereas eqv seems to return False.
masak J-L: yes. 17:32
eqv is stricter about types, both of the containers and the elements.
with ~~, the type on the left often adapts/coerces to the type on the right.
J-L So in the Perl6 example at en.wikipedia.org/wiki/Faro_shuffle#...ce_aspects , should I have used ~~ or eqv when comparing @deck and @originalDeck ? 17:33
lizmat itz: re irclog.perlgeek.de/perl6/2015-03-10#i_10253632 , I can reveal that there will be a talk by Andrew Shitov, doing a live demonstration of Perl 6's grammars
.oO( from the list of unusual suspects )
17:34
J-L [Coke]: The Perl5 Readonly module is nice, but I don't think it's a core module. 17:35
17:37 cschwenz left
masak seems it isn't. 17:37
however, it's super-easy to install non-core modules in Perl 5! :D
cpanminus comes to mind. 17:38
17:38 avuserow left, avuserow joined
moritz metacpan.org/pod/release/XSAWYERX/...od#b-b-B-B 17:40
17:40 vendethiel joined
J-L masak: I've been using cpanminus a bit lately. However, I often write code that needs to be run by anyone (in my or customers' companies), whether they have access to CPAN or not. I gotta work with what they already have. 17:41
moritz it's nice to see Perl 5 getting cooll Unicode features
but it's a bit sad that they are hidden behind rather cryptic regex features
skids J-L: As long as both @vars are bound to the same type of object eqv is better.
m: my @a = (1 .. 3); @a.WHAT.say; my @b = (1,2,3); @b.WHAT.say; say @a eqv @b;
camelia rakudo-moar 699f9b: OUTPUT«(Array)␤(Array)␤True␤»
skids m: my @a = (1 .. 3); @a.WHAT.say; my @b := (1,2,3); @b.WHAT.say; say @a eqv @b; 17:42
camelia rakudo-moar 699f9b: OUTPUT«(Array)␤(Parcel)␤False␤»
J-L Question about the Z(ipper) operator: I can zipper together two arrays with: (<a b c>) Z (1..3), but how do I make a nested list of lists? That is, I want to get: ((a,1),(b,2),(c,2)) 17:43
skids m: ((<a b c>) Z (1..3)).perl.say # you already have it you just need to keep it from collapsing when you use it. 17:44
camelia rakudo-moar 699f9b: OUTPUT«(("a", 1), ("b", 2), ("c", 3)).list␤»
J-L skids: In that case, how do I collapse it? 17:45
moritz m: say .perl for ((<a b c>) Z (1..3)).tree 17:46
camelia rakudo-moar 699f9b: OUTPUT«("a", 1; "b", 2; "c", 3).item␤»
17:46 dj_goku left
moritz m: say .perl for (<a b c> Z (1..3)).tree 17:46
camelia rakudo-moar 699f9b: OUTPUT«("a", 1; "b", 2; "c", 3).item␤»
moritz m: say (<a b c> Z (1..3)).tree.perl
camelia rakudo-moar 699f9b: OUTPUT«("a", 1; "b", 2; "c", 3).item␤»
moritz seems it doesn't work as it used to :(
17:48 madmuid joined
skids m: ((<a b c>) Z (1..3)).flat.perl.say # J-L 17:49
camelia rakudo-moar 699f9b: OUTPUT«("a", 1, "b", 2, "c", 3).list␤»
17:49 asdf12z_ joined
skids J-L: or do anything that autflattens. 17:49
*auto 17:50
But I would not learn too hard on that aspect right away if you have other stuff to learn, wait until after the GLR.
17:51 Khisanth joined
J-L GLR? 17:51
geekosaur great list refactor 17:52
J-L Sounds monumental!
masak J-L: since metacpan.org/pod/App::FatPacker, the "clients need to be able to use my stuff without downloading dependencies" excuse has mostly lost its teeth and is mostly just a bad excuse :)
17:54 [Sno] left
CurtisOvidPoe How do I do the Perl 5 equivalent of $object->isa($thing)? 17:54
skids J-L: pmthium.com/2014/10/apw2014/ # to catch you up
17:57 espadrine left
J-L masak: Whoa! I never knew about App::FatPacker. I'm looking into it now. 17:58
skids: Thanks for the advice about the GLR.
moritz CurtisOvidPoe: $obj ~~ TheType
17:58 zakharyas left
FROGGS timotimo: btw: wiki.cpantesters.org/wiki/CPANAuthorNotes "How can I stop getting FAIL reports for missing libraries or other non-Perl dependencies?" 17:58
17:59 dakkar left, spider-mario joined
CurtisOvidPoe moritz: it’s not quite working. Writing a function that accepts a string *or* an IO::Path object. This subject doesn’t quite work: subset IOThing where * ~~ Str | IO::Path; 18:00
And then I have sub some_func(IOThing $top) {…}
But if I pass in the name of a directory as a string, it’s not working.
18:01 mohij joined
CurtisOvidPoe m: subset TypeCheck where * ~~ Str; sub foo(TypeCheck $bar) {say $bar}; foo(“this”) 18:01
camelia rakudo-moar 699f9b: OUTPUT«Constraint type check failed for parameter '$bar'␤ in sub foo at /tmp/sZnVTtHcig:1␤ in block <unit> at /tmp/sZnVTtHcig:1␤␤»
CurtisOvidPoe What did I miss? 18:02
moritz CurtisOvidPoe: * doesn't work magically with ~~ 18:03
m: subset TypeCheck where { $_ ~~ Str|IO::Path}; say 'foo' ~~ TypeCheck
camelia rakudo-moar 699f9b: OUTPUT«True␤»
CurtisOvidPoe So how can I write a subset that checks if something is either a string or an IO::Path object?
Ah,t hanks :)
moritz you're welcome
TimToady I'm baaack
18:04 FROGGS left
TimToady CurtisOvidPoe: thanks for your .1 + .2 - .3 example, I used it tonight 18:04
CurtisOvidPoe Cool! 18:05
What was the context? 18:06
TimToady a talk in Budapest, Things I Do For Fun 18:07
the immediate context was design principles we've accumulated
"Math just is."
CurtisOvidPoe Hopefully Perl 6 might eventually stop people from saying “well, of course floating point addition isn’t associative!” 18:09
(Which is true, but it means floating point addition gives the wrong answer in some cases) 18:10
[Coke] J-L: we've discussed this before, but it's pretty easy to bundle modules with your app.
18:10 hannibal777 joined
[Coke] ah, masak++ covered it. J-L++ 18:10
hannibal777 Hi 18:11
[Coke] hannibal777: hi
hannibal777 Tim
I wanted to ask during your talk
18:12 Hor|zon left
hannibal777 You said that you were writing perl6 with perl6. 18:12
Isn't that a paradox?
Also, when you were talking about math, do: -3 modulo 5. Can Perl 6 handle minus modulo? 18:13
moritz hannibal777: it's not more of a paradoxon than gcc being written in C/C++
m: say (-3) % 5
camelia rakudo-moar 699f9b: OUTPUT«2␤»
TimToady superstitious parens 18:14
hannibal777 Nice. :-)
moritz hannibal777: en.wikipedia.org/wiki/Bootstrappin...mpilers%29
m: say -3 % 5 # now less superstitious
camelia rakudo-moar 699f9b: OUTPUT«2␤»
TimToady m: say -5 %% 5
camelia rakudo-moar 699f9b: OUTPUT«True␤»
hannibal777 say (-5)*5 % 558 18:15
moritz hannibal777: add the 'm: ' prefix 18:16
hannibal777 m: say (-5)*5 % 558
camelia rakudo-moar 699f9b: OUTPUT«533␤»
TimToady m: constant fib = 0,1, *+* ... *; say fib[^20]
camelia rakudo-moar 699f9b: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181␤»
hannibal777 m: say (12) - 20 % 24 18:17
camelia rakudo-moar 699f9b: OUTPUT«-8␤»
hannibal777 m: say 2*2^-1 % 26 18:18
camelia rakudo-moar 699f9b: OUTPUT«one(4, 25)␤»
moritz m: say 2 * 2**-1 % 26 18:20
camelia rakudo-moar 699f9b: OUTPUT«1␤»
hannibal777 m: say 666558^-1 % 55 18:21
camelia rakudo-moar 699f9b: OUTPUT«one(666558, 54)␤»
jnthn m: subset TypeCheck where Str|IO::Path; say 'foo' ~~ TypeCheck 18:24
camelia rakudo-moar 699f9b: OUTPUT«True␤»
hannibal777 m: say int(rand(10))
camelia rakudo-moar 699f9b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/baCwmRBmS8␤Unsupported use of rand(N); in Perl 6 please use N.rand for Num or (^N).pick for Int result␤at /tmp/baCwmRBmS8:1␤------> 3say int(rand7⏏5(10))␤»
jnthn CurtisOvidPoe: You can write it like ^^
CurtisOvidPoe: Since where implies smartmatch
moritz jnthn++ 18:25
hannibal777 m: say 2.rand
camelia rakudo-moar 699f9b: OUTPUT«1.19064193531821␤»
hannibal777 m: say ^2.rand 18:26
camelia rakudo-moar 699f9b: OUTPUT«0..^0.905186446861063e0␤»
hannibal777 m: say ^2.pick
camelia rakudo-moar 699f9b: OUTPUT«0..^2␤»
18:26 vendethiel left
moritz precedence 18:27
TimToady need parens
moritz m: say (^2).pick
camelia rakudo-moar 699f9b: OUTPUT«1␤»
moritz m: say (^2).pick
camelia rakudo-moar 699f9b: OUTPUT«0␤»
moritz m: say (^2).pick for ^10
camelia rakudo-moar 699f9b: OUTPUT«0␤1␤0␤1␤0␤1␤1␤0␤0␤0␤»
TimToady m: use Inline::Perl5; use YAML::XS; 18:28
camelia rakudo-moar 699f9b: OUTPUT«===SORRY!===␤Could not find Inline::Perl5 in any of: /home/camelia/rakudo-inst-1/languages/perl6/lib, /home/camelia/rakudo-inst-1/languages/perl6␤»
18:30 dwarring joined
hannibal777 why would you match an inferior version with a superior one? 18:30
18:33 kjs_ left 18:34 eli-se left
moritz m: say v1 ~~ v2 18:34
camelia rakudo-moar 699f9b: OUTPUT«False␤»
moritz hannibal777: since a smaller version doesn't match a larger version, I'm not sure what you mean
18:35 pecastro left
hannibal777 Oh this was a question regarding a question which was asked during the talk here in Budapest. 18:37
I can understand that you want backward compatibility between long term libraries but to be honest, I would prefer the newer one. 18:38
Although Larry did say they are like sisters.
18:38 madmuid left
[Coke] hannibal777: I am also not sure what you mean. 18:41
can you restate your question?
hannibal777 The question the person had is: I don't know perl 6 so can I use perl 5 libraries in perl 6. :-) 18:42
18:43 diana_olhovik_ left 18:45 mohij left
btyler_ hannibal777: yep, check out Inline::Perl5 18:45
it embeds a perl5 in perl 6, so you can load and use perl 5 code 18:46
skids
.oO(All UR libs R belong to us)
18:47
flussence
.oO( perl6 is only 90 minutes newer than perl5 right now )
18:49 vendethiel joined, mohij joined
masak hannibal777: re "writing X in X". usually what happens is that X is written in Y first, and then Y is gradually removed and replaced with X. which avoids the paradox. 18:50
hannibal777: but there are still interesting challenges where the "upper" compiler which is building the "lower" compiler needs to be very careful about the order in which basic concepts are introduced.
18:51 madmuid joined
masak hannibal777: we call that whole set of problems "cirularity" around here. it's gnarly, but not impossible. 18:51
flussence star: use Inline::Perl5; use Encode::GSM0338:from<Perl5>;
camelia star-m 2015.02: OUTPUT«===SORRY!===␤Could not find Inline::Perl5 in any of: /home/camelia/rakudo-star-2015.02/install/languages/perl6/lib, /home/camelia/rakudo-star-2015.02/install/languages/perl6, /home/camelia/rakudo-star-2015.02/install/languages/perl6/site␤»
..star-p 2015.02: OUTPUT«===SORRY!===␤Could not find Inline::Perl5 in any of: /home/camelia/rakudo-star-2015.02/install/lib/parrot/6.10.0/languages/perl6/lib, /home/camelia/rakudo-star-2015.02/install/lib/parrot/6.10.0/languages/perl6␤»
flussence aw
18:53 zakharyas joined
nine_ Personally, I could live with Inline::Perl5 being in star... 18:55
moritz we can't easily bundle things with star that come with external dependencies, like OpenSSL or Inline::* modules
18:55 eli-se joined
flussence makes sense... 18:56
(I'd like it if META.info allowed dependencies with a :from<>, even if they're ignored at install time, just to be able to list them in a well known place) 18:58
18:58 mohij left
nine_ How do I declare a test dependency in META.info? 18:59
flussence same as a normal one right now 19:00
19:00 Mouq joined
Mouq .botsnack 19:01
yoleaux 09:35Z <jnthn> Mouq: Only worry is that while this fixes the slow-path binder used on Moar, it doesn't fix it for bind lowering (where we compile many common/simple signatures), nor JVM...and I wonder if we could patch it a different way that fixes the 3 at once.
:D
09:36Z <jnthn> Mouq: For example, adding a default closure that makes an appropriately typed array/hash when we construct the Parameter object in the first place.
Mouq jnthn: Sounds reasonable :) 19:04
19:04 Quixotic joined, mohij joined 19:08 Hor|zon joined 19:10 [Sno] joined 19:11 mohij left 19:12 Hor|zon left 19:13 kjs_ joined 19:15 fhelmberger left 19:16 perl6_newbee left 19:19 eli-se left
CurtisOvidPoe By the way, I made a silly comment earlier about floating point addition not being associative, I should have said “commutative” and I misread Larry’s example and was thinking about this check which incorrectly returns false in many languages: 19:20
m: say 0.7 + 0.6 + 0.7 == 0.7 + 0.7 + 0.6
camelia rakudo-moar 699f9b: OUTPUT«True␤»
19:20 diana_olhovik joined
CurtisOvidPoe That returns false in Perl 5. 19:20
lizmat m: say ^0 ... ^10 # DWIM 19:23
camelia rakudo-moar 699f9b: OUTPUT«1 2 3 4 5 6 7 8 9␤»
lizmat m: say ^10 ... ^0 # WAT ?
camelia rakudo-moar 699f9b: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88…»
19:26 madmuid left
Mouq m: say 0,1 ... 0 19:27
camelia rakudo-moar 699f9b: OUTPUT«0␤»
Mouq m: say 0,1 ... ^0
camelia rakudo-moar 699f9b: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88…»
Mouq m: say 0,1 ... []
camelia rakudo-moar 699f9b: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88…»
19:27 kjs_ left
Mouq rt.perl.org/Ticket/Display.html?id=114326 Related ? 19:28
lizmat possibly :-)
19:31 madmuid joined 19:34 Quixotic left
masak CurtisOvidPoe: floating-point addition is commutative. it's not associative. your `0.7 + 0.6 + 0.7 == 0.7 + 0.7 + 0.6` example displays this, albeit in a clouded way. 19:36
m: say 0.7 + (0.7 + 0.6) == (0.7 + 0.7) + 0.6 19:37
camelia rakudo-moar 699f9b: OUTPUT«True␤»
CurtisOvidPoe Right, that’s why I changed it to ‘commutative’ when I explained it :) Is there a simpler example?
hannibal777 Thank you again for an awesome presentation on a beautiful language.
masak m: say 7e-1 + (7e-1 + 6e-1) == (7e-1 + 7e-1) + 6e-1
camelia rakudo-moar 699f9b: OUTPUT«False␤»
masak CurtisOvidPoe: there you go.
CurtisOvidPoe: the associativity condition needs the terms to come in the same order, but with different parenthization. 19:38
CurtisOvidPoe: because float addition *is* commutative, my example means the same as your example, though ;)
19:38 hannibal777 left 19:39 erdic joined 19:42 Hor|zon joined 19:47 rurban left 19:50 zakharyas left
dalek k-simple: 8b2c996 | (Andrew Egeler)++ | lib/GTK/Simple.pm6:
Only use idle callback when we have pending code

While difficult to find hard documentation, I have seen a few different places stating that "g_idle_add" is threadsafe. Operating on this assumption, we add one idle callbacks for every piece of code we need to run, and no more.
This fixes #5 and drops our idle CPU usage from 100% down to 0%
19:53
CurtisOvidPoe masak: thanks for the clarification :) 19:54
masak CurtisOvidPoe: in my head, I just have "float addition is not assoc" as "precision gets lost at every addition", which is easier to think about 19:56
timotimo oooh
(Andrew Egeler>++ # a thousand times over 19:57
er ...
masak timotimo: non-matching delimiters detected. you will now be eliminated.
:P
timotimo ouchies
19:59 virtualsue left
avuserow masak: if you like that logic, try typing 'set -e' in an interactive shell at some point :P 19:59
PerlJam had to look up who Andrew Egeler was ... I guess he's not in the CREDITS file 20:02
(or maybe I'm just assuming that dalek always looks in the rakudo CREDITS file0
retupmoca == Andrew Egeler 20:03
(don't know how dalek works though)
masak retupmoca++
PerlJam retupmoca: yeah, I know that's you *now* :)
moritz retupmoca: dalek looks at rakudo's CREDITS file to determine the nick name 20:06
retupmoca ah, ok. Yeah, I'm not in there afaik - haven't made many rakudo-level commits 20:07
I'm mostly in the ecosystem
dalek kudo/nom: 357ad26 | PerlJam++ | CREDITS:
Add retupmoca++ to CREDITS
PerlJam you're there now.
retupmoca PerlJam++ 20:08
PerlJam retupmoca: from the top of CREDITS: ... here is the partial list of people who have contributed to Rakudo and its supporting works.
you're *definitely* contributing to its supporting works
hoelzro retupmoca++ 20:09
20:12 eli-se joined
retupmoca #perl6++ 20:13
timotimo retupmoca: i'm glad you fixed this :) 20:15
dalek Heuristic branch merge: pushed 33 commits to rakudo/newio by lizmat
20:16 krunen left
timotimo i was about to try out the perl6 tmbundle turned into an ace editor syntax mode thingie, but the section about the converter program is kind of underwhelming when it comes to making promises 20:17
20:19 krunen joined
flussence (dalek *used* to display my username for commit things, but I don't see it in that credits file [and can't recall having done anything particularly credits-worthy...], so does it do lookups from somewhere else too?) 20:20
timotimo maybe from parrot?
moritz flussence: dalek used parrot's CREDIT file in the past 20:21
20:21 kjs_ joined
flussence ...how the heck did I end up in there? :) 20:21
20:22 kjs_ left
flussence (eh, doesn't matter, I'll just have to re-earn that hash lookup... :) 20:23
nine_ Looks like seek is somewhat broken:
m: my $fh = '/tmp/fhtest/'.IO.open(:w); $fh.say("foo"); $fh.seek(0, 0); $fh.get.say;,
camelia rakudo-moar 357ad2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3wiQoIAEew␤Preceding context expects a term, but found infix , instead␤at /tmp/3wiQoIAEew:1␤------> 3ay("foo"); $fh.seek(0, 0); $fh.get.say;,7⏏5<EOL>␤»
nine_ m: my $fh = '/tmp/fhtest/'.IO.open(:w); $fh.say("foo"); $fh.seek(0, 0); $fh.get.say;
camelia rakudo-moar 357ad2: OUTPUT«Reading from filehandle failed: bad file descriptor␤ in method get at src/gen/m-CORE.setting:17042␤ in block <unit> at /tmp/ouTEaO9gDV:1␤␤»
nine_ m: my $fh = '/tmp/fhtest/'.IO.open(:rw); $fh.say("foo"); $fh.seek(0, 0); $fh.get.say;
camelia rakudo-moar 357ad2: OUTPUT«Reading from filehandle failed: bad file descriptor␤ in method get at src/gen/m-CORE.setting:17042␤ in block <unit> at /tmp/_skbnZO23b:1␤␤»
moritz flussence: github.com/parrot/parrot/commit/77...523fe88ab4
moritz blames tadzik++ 20:24
20:24 kjs_ joined
moritz #dammittadzik :-) 20:25
masak as seen trending on Twitter 20:26
PerlJam I'm not sure that's a good meme to emulate
flussence
.oO( maybe it was a badge of bravery for putting up with rakudo's runtime back then... )
20:27 rurban joined
moritz wants a continuous delivery system that doesn't suck 20:28
dalek ecs: bcacc15 | lizmat++ | S17-concurrency.pod:
Kebab-case Supply.schedule-on
20:29
20:30 kaare_ joined
PerlJam heh. I must've missed the coining of "kebab-case" :) 20:31
eli-se I wish I were a good programmer.
tadzik moritz: why me :) 20:33
hah
moritz tadzik: because I an :-) 20:34
*can
tadzik well, it was a good deed, I regret nothing :P 20:35
20:36 darutoko left
flussence eli-se: good is relative. I'm fine with being lousy, it makes it easier for others to be above-average :) 20:36
eli-se Given you're in this channel you're already better than most programmers.
Since you're apparently interested in what you do. 20:37
moritz is very good at seeming to be interested 20:38
masak I'm OK with being an average programmer, as long as I'm constantly looking for ways to improve and not stagnate. 20:39
I love to get new perspectives on things.
flussence that's how I ended up here
dalek kudo/nom: eecf5c9 | lizmat++ | / (3 files):
Kebab-case Supply.on_demand/schedule_on

Deprecate the original ones, of course.
20:40
skids A good gunslinger can hit a tin can at fifty paces with a musket. An average gunslinger is more quick to say "screw this crummy musket I want a better gun." So that's how I ended up here. 20:41
dalek ast: ab6c653 | lizmat++ | S17-supply/schedule (2 files):
Step #1 kebab-casing schedule_on
20:42
PerlJam skids: so ... Perl 6 is a muzzle loader? 20:43
or a 6 shooter?
skids PerlJam++
moritz it's the shotgun with which you only have to aim broadly in the right direction :-) 20:44
PerlJam I'm having trouble reconciling "gunslinger" and "musket" though. :)
dalek ast: 77e9359 | lizmat++ | S17-supply/schedule-on.t:
Step #2 kebab-casing schedule_on
flussence pictures someone loading a pallet of muskets into a trebuchet...
PerlJam heh 20:45
dalek kudo/nom: 7375cd7 | lizmat++ | t/spectest.data:
Step #3 kebab-casing schedule_on
skids
.oO(I guess only BL2 folks would get it if I said it was an "Unkempt Harold")
Mouq jnthn: Update on the Str @param thing… I don't seem to have the moxy to do it… I'll put it aside for now, but if you can fix it easily, don't hesitate to :P
colomon PerlJam: www.d20pfsrd.com/classes/base-classes/gunslinger starting with “At 1st level…” 20:46
Mouq jnthn: None of my attempts in Actions.pm have resulted in actual behavioral differences
colomon PerlJam: ;)
dalek ast: bf6bb04 | lizmat++ | S17-supply/f (2 files):
Step #1 of deprecating Supply.for for from-list
PerlJam colomon++ :) 20:47
jnthn Mouq: Hm, OK, will keep it in mind...thanks ;) 20:48
*:)
dalek c: d965174 | moritz++ | lib/Type/Supply.pod:
schedule_on is now schedule-on
ab5tract moritz++
PerlJam moritz++ indeed. I was just about to do the same
timotimo t.h8.lv/p6bench/2015-03-12-rakudo.html benchmarks over the last 3 releases and a nom from earlier today 20:50
japhb timotimo: That looks decidedly mixed 20:55
flussence do those lines include startup time? 20:56
moritz flussence: no
dalek ast: 9c90d8a | lizmat++ | S17-supply/ (28 files):
Step #2 of deprecating Supply.for for from-list
japhb flussence: Read first line of page for that answer (it always states what analysis options it's using)
20:57 virtualsue joined
flussence oh I'm dumb, I just scrolled down to the pretty :) 20:57
dalek kudo/nom: 9411a79 | lizmat++ | t/spectest.data:
Step #3 of deprecating Supply.for for from-list
japhb Most people do. And I'm not about to inflict marquee mode on anyone. :-)
timotimo japhb: yes indeed. some of these dips are to be expected
we made some optimizations more difficult
masak timotimo: what happened to pi_sequential_iteration at the bottom?
lizmat sleep&
japhb I was wondering the same ... 20:58
masak timotimo: all I see is an empty diagram.
japhb o/ lizmat
PerlJam g'night lizmat!
20:58 virtualsue_ joined
masak sleep well, lizmat 20:58
japhb masak: That usually means "no data" (in fact, there's a GHI asking to skip no-data plots)
jnthn 'night, lizmat
21:01 virtualsue left, virtualsue_ is now known as virtualsue 21:04 skids left
ab5tract while exploring Proxies in hope of documenting them, I am encountering a segfault when attempting access attributes from within the proxy blocks: gist.github.com/ab5tract/00a98457cd5c0989efd4 21:04
*to access
jnthn ab5tract: Please rakudobug it 21:05
ab5tract I've tried a few different approaches, but no dice so far. OUTER<$!encoded-string> doesn't work, for instance
jnthn: okay. wanted to be sure it wasn't a case of me wielding things wrong
jnthn ab5tract: You don't want method there really 21:06
ab5tract: Try a sub or pointy instead of methods
ab5tract: But it should never SEGV even if you are using it wrong
21:07 telex left
ab5tract jnthn: switching to pointy results in the more helpful compile time error of Variable $!encoded-string used where no 'self' is available 21:07
21:08 telex joined, FROGGS[mobile] joined 21:09 espadrine joined
ab5tract I took the method example from the spectests, if I remember correctly 21:09
PerlJam ab5tract: github.com/perl6/roast/blob/master...mutators.t 21:12
?
J-L Question: Is there any way to declare an infix operator in place? That is, so I can define it as I use it with the Z operator? 21:14
21:16 cognominal joined
FROGGS[mobile] hmmm, I believe our grammar might not allow that yet 21:16
moritz m: sub infix:<FOO>($x, $y) { $x + $y }; say 1, 2, 3 ZFOO 1, 1, 1
camelia rakudo-moar 9411a7: OUTPUT«2 3 4␤»
FROGGS[mobile] I parsed the question as if you declare the infix within the Z 21:17
TimToady m: say 1,2,3 Z[&(sub foo ($x,$y) { $x * 2 + $y })] 4 5 6
camelia rakudo-moar 9411a7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TZGTtoQEqG␤Two terms in a row␤at /tmp/TZGTtoQEqG:1␤------> 3 Z[&(sub foo ($x,$y) { $x * 2 + $y })] 47⏏5 5 6␤ expecting any of:␤ infix stopper␤ infix or meta-infix␤ po…»
TimToady m: say 1,2,3 Z[&(sub foo ($x,$y) { $x * 2 + $y })] 4, 5, 6
camelia rakudo-moar 9411a7: OUTPUT«6 9 12␤»
TimToady like that? 21:18
moritz is scared
ab5tract PerlJam: wow, that's a really nice one, as it shows just about exactly what I am trying to achieve
FROGGS[mobile] ahh, &() does it...
ab5tract but no, I was looking at the more 'obvious' github.com/perl6/roast/blob/feeea5...rs/proxy.t
21:18 Milkmandan left
FROGGS[mobile] I just remembered the & lookahead 21:18
21:19 Milkmandan joined
masak 'night, #perl6 21:20
FROGGS[mobile] night masak 21:21
jnthn o/ masak
PerlJam good night masak 21:22
21:23 kjs_ left
J-L Yes, TimToady. Just like that! 21:24
FROGGS[mobile] a pointy or whatever code should work too
m: say 1,2,3 Z[&(* * *)] 4,5,6 21:26
camelia rakudo-moar 9411a7: OUTPUT«4 10 18␤»
FROGGS[mobile] :p
TimToady m: $_ = '^foo'; say m/$_/
camelia rakudo-moar 9411a7: OUTPUT«「^foo」␤»
TimToady m: $_ = '^foo'; say m/<{$_}>/
camelia rakudo-moar 9411a7: OUTPUT«「foo」␤»
TimToady this seems like a bug
FROGGS[mobile] and that this works proves the sanity of the parser....
TimToady m: $_ = 'foo$'; say m/<{$_}>/ 21:27
camelia rakudo-moar 9411a7: OUTPUT«Nil␤»
FROGGS[mobile] TimToady: interpolating is hard :o(
TimToady that one fails to match, why does ^ not make it fail?
alas, the masakbot has gone offline 21:28
m: $_ = '^^foo'; say m/<{$_}>/ 21:29
camelia rakudo-moar 9411a7: OUTPUT«「foo」␤»
Mouq m: $_ = '$foo'; say m/<{$_}>/
camelia rakudo-moar 9411a7: OUTPUT«5===SORRY!5=== Error while compiling EVAL_0␤Variable '$foo' is not declared␤at EVAL_0:1␤------> 3anon regex { ^$foo7⏏5}␤»
TimToady m: $_ = '«foo'; say m/<{$_}>/
camelia rakudo-moar 9411a7: OUTPUT«「foo」␤»
TimToady m: $_ = '«foo»'; say m/<{$_}>/
camelia rakudo-moar 9411a7: OUTPUT«「foo」␤»
Mouq ^^ it looks like it already tries to match something before the ^ 21:30
Also we probably shouldn't be doing this with eval (already ticketed)
TimToady yeah, INTERPOLATE needs a complete revamp
Mouq proposes we do it in terms of $~Regex, and in the process begin to figure out wtf $~Regex means 21:32
ab5tract When submitting a rakudobug, do I attach the test cases sepearately or submit them inline within the email?
Mouq m: say $~P6Regex 21:33
camelia rakudo-moar 9411a7: OUTPUT«Slang.new(:grammar(Any), :actions(Any))␤»
Mouq m: say $~Regex
camelia rakudo-moar 9411a7: OUTPUT«Slang.new(:grammar(Perl6::RegexGrammar), :actions(Perl6::RegexActions))␤»
Mouq The former should probably die
ab5tract: Depends. If you can golf it, inline is prefered
(At least, I prefer inline :P) 21:34
nine_ I rakudobuged the seek failure
ab5tract Mouq: thanks for your feedback. it'll go your way, as you voiced it first :) 21:35
21:39 kjs_ joined 21:49 xfix left, japhb left
ugexe just watched your fosdem video nine. i enjoyed it 21:53
nine_ ugexe: thanks :)
PerlJam ugexe: link?
ugexe video.fosdem.org/2015/devroom-perl/..._perl6.mp4 21:54
PerlJam thanks.
timotimo oh my god finally 21:55
oh, this is nine's, not froggs' 21:56
i think i've seen this one already
J-L I'm trying to do something along the lines of: 1, *+1 ... * but using a sub instead of *+1. I tried: sub addOne ($x) {$x+1} 1, addOne(*) ... * but it fails with: Cannot call 'Numeric' 21:57
TimToady that's a verb, put & on it to make it anoun
and you can't use * like that as an argument to make a closure 21:58
only works on operator args
1, &addOne ... *
m: say 1, &succ ... * 21:59
camelia rakudo-moar 9411a7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4nJY6S9dum␤Undeclared routine:␤ &succ used at line 1␤␤»
21:59 kjs_ left
TimToady I guess that's only a method 21:59
m: say 1, &prefix:<++> ... *
camelia rakudo-moar 9411a7: OUTPUT«===SORRY!===␤Cannot call 'prefix:<++>'; none of these signatures match:␤:(Mu:D \a is rw)␤:(Mu:U \a is rw)␤:(Bool:U \a is rw)␤:(Int:D $a is rw)␤:(int $a is rw)␤:(Num:D $a is rw)␤:(Num:U $a is rw)␤:(num $a is rw)␤»
TimToady say wat 22:00
oh, that's mutating
m: my $x; say $x, &prefix:<++> ... *; # curious 22:01
camelia rakudo-moar 9411a7: OUTPUT«===SORRY!===␤Cannot call 'prefix:<++>'; none of these signatures match:␤:(Mu:D \a is rw)␤:(Mu:U \a is rw)␤:(Bool:U \a is rw)␤:(Int:D $a is rw)␤:(int $a is rw)␤:(Num:D $a is rw)␤:(Num:U $a is rw)␤:(num $a is rw)␤»
TimToady m: my $x = 0; say $x, &prefix:<++> ... *; # curious
camelia rakudo-moar 9411a7: OUTPUT«===SORRY!===␤Cannot call 'prefix:<++>'; none of these signatures match:␤:(Mu:D \a is rw)␤:(Mu:U \a is rw)␤:(Bool:U \a is rw)␤:(Int:D $a is rw)␤:(int $a is rw)␤:(Num:D $a is rw)␤:(Num:U $a is rw)␤:(num $a is rw)␤»
Mouq guesses the container is lost in &[...] 22:02
TimToady probably a good thing, normally
J-L TimToady: Ah, excellent. Thanks. And tinkering around, I discovered this also works: 1, &(sub foo ($x) { $x+1 }) ... *
As well as this: 0, 1, &(sub ($x,$y) { $x+$y+1 }) ... *
22:02 bayprogrammer left
Mouq m: say 0, 1, sub ($x,$y) { $x+$y+1 } ... * 22:03
camelia rakudo-moar 9411a7: OUTPUT«0 1 2 4 7 12 20 33 54 88 143 232 376 609 986 1596 2583 4180 6764 10945 17710 28656 46367 75024 121392 196417 317810 514228 832039 1346268 2178308 3524577 5702886 9227464 14930351 24157816 39088168 63245985 102334154 165580140 267914295 433494436 701408732 …»
22:03 japhb joined
Mouq m: say 0, 1, { $^x+$^y+1 } ... * 22:04
camelia rakudo-moar 9411a7: OUTPUT«0 1 2 4 7 12 20 33 54 88 143 232 376 609 986 1596 2583 4180 6764 10945 17710 28656 46367 75024 121392 196417 317810 514228 832039 1346268 2178308 3524577 5702886 9227464 14930351 24157816 39088168 63245985 102334154 165580140 267914295 433494436 701408732 …»
J-L You know what I like about Perl? The fact that one line of pseudocode can usually be implemented in one line of Perl (and that line doesn't have to be complicated).
And Perl6 looks like it's taking that one-pseudocode-line-maps-to-one-code-line even more to heart.
22:06 kjs_ joined
J-L Mouq: Why did you use $^x and $^y ? They look like Perl5's $a and $b, but I'm wondering why 'x' and 'y' were chosen as names. 22:06
TimToady is a generalization of $a and $b but special
always just uses alphabetic order 22:07
Mouq J-L: Doesn't matter what names you use :) doc.perl6.org/language/variables#The_%5E_Twigil
psch .oO( { $%5Ex + $%5Ey } ) 22:10
22:11 bayprogrammer joined
ab5tract Opinions have been mixed with some folks I've mentioned the placeholder variables to 22:12
Which was surprising to me, honestly.
sivoais uses a dotless i for placeholder variable *mwahahaha* 22:13
J-L Thanks, Mouq. I had read about twigils before, but now they're making more sense, as I have a need for them. 22:15
22:15 mohij joined
sivoais I've been looking at R's non-standard evaluation and I believe I could implement the same feature using Perl6 macros 22:16
22:26 kjs_ left, virtualsue left, virtualsue joined 22:30 spider-mario left
dalek kudo/parameterize-cleanup: b38acee | jnthn++ | src/Perl6/Metamodel/MetaMethodContainer.nqp:
Fix interaction of ^methods with inheritance.
22:33
22:37 rindolf left
dalek p: 6d19df1 | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for BS repossession fixes.
22:39
22:39 adu joined 22:47 yqt joined 22:49 LonelyGM joined 22:50 kjs_ joined 22:52 diana_olhovik left 22:54 LonelyGM left
eli-se sivoais: I fixed a dotless i bug today 22:57
.toLowerCase in Java is fun.
22:59 mohij left
sivoais oh wow, is this what you ran into, eli-se? <grepalex.com/2013/02/14/java-7-and-...ess-i/> 23:00
eli-se sivoais: some library I used did .toLowerCase on HTTP request header names.
Which obviously breaks on Turkish web servers. :P
Basically, (= (.toLowerCase "I") (do (Locale/setDefault (Locale. "tr")) (.toLowerCase "I"))) is false. 23:01
(On my computer.) 23:02
Mouq m: say "İ".lc
camelia rakudo-moar 9411a7: OUTPUT«i␤»
sivoais wow, that's a nasty level to have Unicode bugs popping up O_O 23:03
eli-se It's not a Unicode bug.
It's a bug in the design of .toLowerCase which reads a global variable.
It's a locale bug. :P 23:06
sivoais darn you LC_CTYPE!
23:22 yqt left 23:24 wicope left, cognominal left 23:25 kjs_ left
dalek p: 92223a6 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationReader.java:
Make object repossession respect STable changes.
23:27
23:29 skids joined
dalek kudo/parameterize-cleanup: a593932 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for Moar/JVM BS repossession fix
23:31
flussence
.oO( do we need a separation as strong as Str/Buf for "human-readable strings" and "computer protocol strings"? )
23:34
(preferably, not one the size of libintl...) 23:35
eli-se computer protocol strings should be sequences of whatever elementary value the protocol uses
if the protocol is based on bytes, use a sequence of bytes. if it's based on code points, use a sequence of code points
rename Str to Text for less confusion 23:36
flussence that'd be nice in theory, but decoded-ascii Strs are much nicer to work with than Bufs right now... 23:37
eli-se > right now
:):):)
flussence well, they'll be a lot more equal once the specced regexes-on-bufs gets done... 23:39
eli-se .tell vendethiel: I also disallow mixed | and & without parens 23:44
yoleaux eli-se: What kind of a name is "vendethiel:"?!
eli-se yoleaux: you're dumb
.tell vendethiel I also disallow mixed | and & without parens
yoleaux eli-se: I'll pass your message to vendethiel.
eli-se yoleaux: thanks
23:46 eli-se left 23:47 coffee` left 23:50 rurban left 23:59 gfldex left