»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
samcv cale2, a lot of the nqp routines map basically directly to VM actions. so provides that layer 00:00
between vm and rakudo 00:01
00:02 cpage_ joined 00:03 Ven joined 00:06 curt_ left, cpage_ left 00:11 cale2 left 00:19 Actualeyes left 00:22 Ven left, drrho left 00:23 Ven joined 00:27 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg, skids joined 00:29 cpage_ joined 00:30 drrho joined 00:33 wamba left, cpage_ left 00:37 Ven left 00:38 Actualeyes joined 00:40 cpage_ joined 00:42 shayan_ left 00:44 Ven joined
samcv nice the new warnings for the deprecated names look great a.uguu.se/pSAMBxqa4mY4_Screenshot_...164656.png 00:47
and programs will continue to work but it will give them a warning to change their code. 00:48
00:48 pyrimidine joined 00:50 Ven left
timotimo nice work 00:50
samcv timotimo, any idea how long we would deprecate it? 00:52
i don't really care, just curious
00:52 pyrimidine left
samcv don't think anybody is using them 00:54
00:55 inra joined
AlexDaniel possibly until 6.d :| 00:55
assuming somebody was actually using them
and if nobody did, why bother with the error message at all? :)
samcv hm 00:56
idk it's still good policy
whatever i don't really care super much
6.d is fine, or could be shorter idk. i think can be shorter based on 6.c-errata
and CARRIAGE RETURN (CR) and other unicode 1 names are no longer in it 00:57
so it potentially could be shorter
00:57 drrho left
TimToady quick, deprecate the deprecation message, so we can get rid of it in 6.e! 00:58
samcv haha
00:59 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
samcv nqp-j: say("\c[BELL]") 01:00
nqp-jvm: say("\c[BELL]")
camelia nqp-jvm: OUTPUT«Error occurred during initialization of VM␤Could not allocate metaspace: 1073741824 bytes␤»
samcv j: say("\c[BELL]")
camelia rakudo-jvm fb4f16: OUTPUT«␤»
samcv ah kk so the error is on that as well. will have to fix that once I finish fixing it on Moar 01:01
01:02 TEttinger left 01:04 drrho joined 01:15 Actualeyes left 01:16 shayan_ joined 01:17 jonadab left 01:19 inra left 01:23 Ven joined 01:24 shayan_ left 01:26 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 01:32 dalek left, dalek joined, ChanServ sets mode: +v dalek
AlexDaniel m: ‘Hello’.encode(‘UTF-8’).list.say 01:33
camelia rakudo-moar f10b09: OUTPUT«(72 101 108 108 111)␤»
AlexDaniel m: ‘Hello’.encode(‘UTF-16’).list.say
camelia rakudo-moar f10b09: OUTPUT«(72 101 108 108 111)␤»
AlexDaniel ಠ_ಠ
01:36 pyrimidine joined, Ven left 01:38 Actualeyes joined
[Coke] no, pugs didn't use nqp 01:41
01:44 Ven joined 01:45 pyrimidine left 01:50 leego left, leego joined, cdg left 01:52 Ven left, ssotka left 01:55 leego left, leego joined 01:58 pyrimidine joined 02:01 FROGGS_ joined 02:02 pyrimidine left 02:03 telex left 02:04 telex joined 02:05 FROGGS left 02:10 pyrimidine joined
samcv m: my $pair = 'value' => 'thing'; my %var; %var{$pair} = 'test'; say %var.perl 02:14
camelia rakudo-moar f10b09: OUTPUT«{"value\tthing" => "test"}␤»
02:14 pyrimidine left
samcv how do i get this to work? 02:14
m: my %var; %var{'value'}{'thing'} = 'test'; say %var.perl 02:15
camelia rakudo-moar f10b09: OUTPUT«{:value(${:thing("test")})}␤»
samcv this is what i want 02:16
geekosaur samcv, you don't, you can't change the value into a hash by changing the shape of the key 02:20
you must change the shape of the value 02:21
(you could change the type so the key can be a Pair or even a Hash, but that won't do what you want either)
samcv the type i can change fine
well i can change the type of $pair's value
so what type do i want? 02:22
geekosaur no, I mean you specify the key type in the hash
samcv how do I do that?
geekosaur but you still can't change the shape of the value by changing the key
samcv i need to pass in parts of a hash to a routine
well to know where in the main hash to put specific things
02:23 Ven joined
samcv so any way to pass in sections of the final structure is fine 02:23
geekosaur that will place things with the key being a hash, it won't split it over a hash of hashes to place things elsewhere
again, the shape of the value is not determined by the shape of the key
using a Pair as a key does not index a hash-of-hashes, it indexes a hash whose keys are Pairs 02:24
geekosaur doesn't remember offhand how the typing of hashes works sigh
samcv well how can I do what I want? i mean i can make the values passed into the sub whatever I want
so i can specify where in the data structure to put it
AlexDaniel m: my $pair = ‘value’ => ‘thing’; my %var; %var{$pair.key} = { $pair.value => ‘test’ }; say %var.perl 02:25
camelia rakudo-moar f10b09: OUTPUT«{:value(${:thing("test")})}␤»
AlexDaniel dunno
why do you have a pair in the first place? :)
samcv it doesn't have to be a pair
geekosaur AlexDaniel, what I understand is they want to specify a path within a hash of hashes of ... 02:26
samcv ^
that
geekosaur so [foo, bar, baz] indexes %h{foo}{bar}{baz}
samcv i'm investigating ways to rewrite the unicode database generation script. so I have agood outline before I start
AlexDaniel cool
geekosaur ah, got the other one but it still doesn't do what you wanted 02:27
samcv getting this to work will make it way more maintainable
02:27 kalkin- joined
samcv other one? 02:27
geekosaur m: my %h{Pair}; $h{foo => 1} = 2; dd %h
camelia rakudo-moar f10b09: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$h' is not declared. Did you mean '%h'?␤at <tmp>:1␤------> 3my %h{Pair}; 7⏏5$h{foo => 1} = 2; dd %h␤»
geekosaur whoops
m: my %h{Pair}; %h{foo => 1} = 2; dd %h
camelia rakudo-moar f10b09: OUTPUT«Hash[Any,Pair] %h = (my Any %{Pair} = (:foo(1)) => 2)␤»
skids m: my %var := :{}; %var{a=>1} = "foo"; %var.perl.say
camelia rakudo-moar f10b09: OUTPUT«:{(:a(1)) => "foo"}␤»
02:27 telex left
geekosaur unfortunately while I know how to write what you want in perl 5, I'm not sure how to do it concisely in perl 6 02:28
geekosaur very definitely still more of a p5 type, as indicated by prior typo >.> 02:29
AlexDaniel I mean, well.
m: my %x = foo => { bar => { baz => 42 } }; say [%x, ‘foo’, ‘bar’ , ‘baz’].reduce({ $^a{$^b } })
camelia rakudo-moar f10b09: OUTPUT«42␤»
AlexDaniel so you just reduce with { $^a{$^b} } 02:30
02:30 user_ left
AlexDaniel does not look like a good solution right, but it works? 02:31
geekosaur does that yield an lvalue?
AlexDaniel not really
well it does, if 02:32
m: %x = foo => { bar => { baz => 42 } }; say [%x, ‘foo’, ‘bar’].reduce({ $^a{$^b} })<baz> 02:33
camelia rakudo-moar f10b09: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '%x' is not declared␤at <tmp>:1␤------> 3<BOL>7⏏5%x = foo => { bar => { baz => 42 } }; sa␤»
AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; say [%x, ‘foo’, ‘bar’].reduce({ $^a{$^b} })<baz>
camelia rakudo-moar f10b09: OUTPUT«42␤»
AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; [%x, ‘foo’, ‘bar’].reduce({ $^a{$^b} })<baz> = 69
camelia ( no output )
AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; [%x, ‘foo’, ‘bar’].reduce({ $^a{$^b} })<baz> = 69; dd %x
camelia rakudo-moar f10b09: OUTPUT«Hash %x = {:foo(${:bar(${:baz(69)})})}␤»
geekosaur ok, so pop last component off and index that separately to get an lvalue. looks doable
02:34 labster left
AlexDaniel not the worst thing that I've seen in my code for sure, but I can't really imagine somebody using this 02:34
geekosaur I can, that's why I described it as a path
not the most common thing I've ever done, but certainly one I've needed a few times 02:36
AlexDaniel m: sub path(+@a) { @a.reduce({ $^a{$^b} }) }; my %x = foo => { bar => { baz => 42 } }; path(%x, ‘foo’, ‘bar’)<baz> = 69; dd %x
camelia rakudo-moar f10b09: OUTPUT«Hash %x = {:foo(${:bar(${:baz(69)})})}␤»
AlexDaniel m: sub path(+@a) { @a.reduce({ $^a{$^b} }) }; my %x = foo => { bar => { baz => 42 } }; path(%x, <foo>, <bar>)<baz> = 69; dd %x
camelia rakudo-moar f10b09: OUTPUT«Hash %x = {:foo(${:bar(${:baz(69)})})}␤»
AlexDaniel hehe
samcv if you can get a good working example i'll just define a new operator or something 02:37
02:37 Ven left
skids [;] 02:37
AlexDaniel skids: not anymore!
or what did you mean by that? :)
skids m: my %target := fee => { fie => { foo => "fum" } }; %target.perl.say; %target{"fee";"fie";"foo"}.perl.say
camelia rakudo-moar f10b09: OUTPUT«:fee({:fie(${:foo("fum")})})␤("fum",)␤»
skids need a [;]
AlexDaniel :OO 02:38
skids for psuedo-dimensional
geekosaur samcv, that path sub would work fine esp. if you did it instead as a special postcircumfix op
samcv which one should I use?
geekosaur ah. but can you do that dynamically too?
that is, I'm given @path not a static list
(and, without using EVAL) 02:39
AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; %x{‘foo’; ‘bar’; ‘baz’} = 69; say %x{‘foo’; ‘bar’; ‘baz’}
camelia rakudo-moar f10b09: OUTPUT«(69)␤»
samcv yeah i thought about hacking it with eval but that's bad
skids right, we could if I could figure out a dimension-slice constructor, but [;] doesn't parse.
samcv and a terrible solution.
what is this [;]
skids samcv: it would be a reduce-to-list-of-lists, if it worked. 02:40
samcv is ; an operator?
skids (or well, not lol but a dimesional slice)
02:40 astj left
skids m: (1;2;3).perl.say 02:40
camelia rakudo-moar f10b09: OUTPUT«(1, 2, 3)␤»
skids it's a second level comma.
samcv ahhh ok 02:41
and where does that mean that and not end of statement
AlexDaniel I've never thought that it is going to work in a hash
skids samcv: in lists and hash indices
samcv also is there some texas version
ah ok
02:42 astj joined
geekosaur texas version? of standard ascii? (welcome to the land of trigraphs...) 02:42
AlexDaniel geekosaur: if @a == 2 { %x{@a[0]; @a[1]} } elsif @a == 3 { %x{@a[0]; @a[1]; @a[2]} } … … … … :)
02:42 Ven joined 02:43 telex joined
samcv i mean second level list operator. but 02:43
AlexDaniel what if you pass it an array that is dimensioned like that
samcv i mean i don't like things which mean different things in multiple contexts
02:43 cpage_ left
AlexDaniel samcv: you're saying that as a maintainer of atom-language-perl6, right? ;) 02:44
skids Note that one should consider what beavior one wants with actual, rather than pseudo, multidimensional hashes.
samcv hah
atom-language-perl6 doesn't know about ; really. generally it's by line or by start regex and ending regex (multi line)
skids goes synopsis diving 02:45
02:46 ilbot3 left
AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; my @z[1;3] = ((‘foo’, ‘bar’, ‘baz’),); say %x{@z} 02:46
camelia rakudo-moar f10b09: OUTPUT«({bar => {baz => 42}} (Any) (Any))␤»
AlexDaniel well wtf did it just attempt? 02:47
02:48 ilbot3 joined 02:51 Ven left, astj_ joined 02:52 astj left 02:53 tardisx joined, tardisx left
skids Hrm, not much in synopsis.. 02:54
02:55 tardisx joined
samcv :( 02:57
AlexDaniel skids: don't you think this ↑ is supposed to work? 02:58
skids Complicated question. 02:59
samcv bisectable6, my %x = foo => { bar => { baz => 42 } }; my @z[1;3] = ((‘foo’, ‘bar’, ‘baz’),); say %x{@z}
bisectable6 samcv, Bisecting by output (old=2015.12 new=f10b09e) because on both starting points the exit code is 0
02:59 cpage_ joined
AlexDaniel no it never worked 02:59
bisectable6 samcv, bisect log: gist.github.com/863fd9f6be05cdd71f...3ad79eec8d
samcv, (2016-04-05) github.com/rakudo/rakudo/commit/6a...822dac090b
AlexDaniel the output changed a bit
commit: 6a2ff75a61^,6a2ff75a61 my %x = foo => { bar => { baz => 42 } }; my @z[1;3] = ((‘foo’, ‘bar’, ‘baz’),); say %x{@z}
committable6 AlexDaniel, ¦«6a2ff75a61^»: (bar => baz => 42 (Any) (Any))␤¦«6a2ff75»: ({bar => {baz => 42}} (Any) (Any))
AlexDaniel that's what bisectable is pointing at
samcv .perl is more stable maybe? 03:00
bisectable6, my %x = foo => { bar => { baz => 42 } }; my @z[1;3] = ((‘foo’, ‘bar’, ‘baz’),); say %x{@z}.perl
bisectable6 samcv, On both starting points (old=2015.12 new=f10b09e) the exit code is 0 and the output is identical as well
samcv, Output on both points: (${:bar(${:baz(42)})}, Any, Any)
samcv yea
skids A while back we decided we liked this accidental behavior:
AlexDaniel it's not the stability, the output is just curlified
skids m: my @target := [1,[2,[3,4]]]; @target.perl.say; @target[(1,),(1,),(0,)].perl.say
camelia rakudo-moar f10b09: OUTPUT«[1, [2, [3, 4]]]␤(($[2, [3, 4]],), ($[2, [3, 4]],), (1,))␤»
skids ...and a lot of the multidim stuff was not even considered during the GLR.
So the old idea that a list-of-lists means "go multidimesional" is perhaps old. 03:01
But that leaves us wondering what a (;;;) list is...
AlexDaniel commit: all my @x[2;3] 03:02
skids Way back we used to have a lol type.
03:02 Actualeyes left
committable6 AlexDaniel, gist.github.com/99fca641812dae4b2c...5f3d405527 03:02
03:03 Ven joined
AlexDaniel in fact, there were no shaped arrays during the GLR so vOv 03:03
skids Right. I forget whether pre-rakudo implementations did them. 03:04
03:04 Ven left
skids But, I cannot explain that hash slice behavior at all... probably that area of code is rather full of NYIs. 03:05
03:05 ggoebel left
skids From doing work with the array slices, I know that area of code is best approached well slept. 03:06
samcv so what _should_ work then? i mean what do we want to be able to work if this is NYI? 03:08
skids Arrays are more complete so clues can be sought there. 03:11
m: my @target := (1,2,3;4,5,6;7,8,9); @target.perl.say; @target[(0,1);1;0].perl.say
camelia rakudo-moar f10b09: OUTPUT«((1, 2, 3), (4, 5, 6), (7, 8, 9))␤(2, 5)␤»
skids m: my @target := (1,2,3;4,5,6;7,8,9); @target.perl.say; @target[(0,1),1,0].perl.say
camelia rakudo-moar f10b09: OUTPUT«((1, 2, 3), (4, 5, 6), (7, 8, 9))␤(((1, 2, 3), (4, 5, 6)), (4, 5, 6), (1, 2, 3))␤»
skids dimensional ; seems to be syntactical. 03:12
AlexDaniel m: sub path(+@a) { @a.reduce({ $^a{$^b} }) }; my %x = foo => { bar => { baz => 42 } }; path(%x, <foo>, <bar>)<baz> = 69; dd %x 03:13
camelia rakudo-moar f10b09: OUTPUT«Hash %x = {:foo(${:bar(${:baz(69)})})}␤»
AlexDaniel samcv: ↑ this is not too bad isn't it?
samcv nope that's not bad 03:14
03:14 labster joined
skids wonders what »{} is supposed to do. 03:16
Ah, well ok I guess it makes sense for arrays of hash. 03:18
AlexDaniel … it does something scary for hashes…
03:18 ggoebel joined
AlexDaniel or not 03:19
skids It .kv's them and then indexes
AlexDaniel I have no idea what » does actually
m: my %x = ‘a’ => { ‘foo’ => 42 }, ‘b’ => { ‘bar’ => 90 }; say %x».succ
camelia rakudo-moar f10b09: OUTPUT«{a => {foo => 43}, b => {bar => 91}}␤»
AlexDaniel like, who'd expect that? 03:20
03:20 pyrimidine joined 03:21 xtreak joined
skids Oh right, hypers tree. 03:21
but... why no .succ on the Strs.
03:22 skids left, skids joined
skids damn gnome gestures, gotta go turn that off. 03:22
samcv m: my %hash = 1 => 'one', 2 => 'two'; say %hash.sort; say %hash.sort.keys 03:23
camelia rakudo-moar f10b09: OUTPUT«(1 => one 2 => two)␤(0 1)␤»
samcv also what is going on here
03:23 Ven joined
skids hash.sort returns a list of two pairs. The keys of a list are the integer indices of the elements. 03:24
samcv kk. that's what i was thinking
03:25 pyrimidine left
samcv m: sub path(+@a) { @a.reduce({ $^a{$^b} }) }; my %x; path(%x, <foo>, <bar>)<baz> = 69; dd %x 03:29
camelia rakudo-moar f10b09: OUTPUT«Cannot modify an immutable Any␤ in block <unit> at <tmp> line 1␤␤»
samcv dammit
m: sub path(+@a) { @a.reduce({ $^a{$^b} }) }; my %x; path(%x, <foo>, <bar>)<baz> = 69; dd %x
camelia rakudo-moar f10b09: OUTPUT«Cannot modify an immutable Any␤ in block <unit> at <tmp> line 1␤␤»
samcv it can't seem to add items though
just modify
03:30 newbie1 left 03:35 cpage_ left
AlexDaniel it just cannot do it in one go 03:35
03:36 Ven left
AlexDaniel samcv: but if you modify it just a little bit 03:36
m: sub path(+@a) { @a.reduce({ $^a{$^b}:exists ?? $^a{$^b} !! $^a{$^b} = {} }) }; my %x; path(%x, <foo>, <bar>)<baz> = 69; dd %x 03:37
camelia rakudo-moar f10b09: OUTPUT«Hash %x = {:foo(${:bar(${:baz(69)})})}␤»
03:37 cpage_ joined
samcv perfect AlexDaniel++ 03:37
03:38 hartshorn joined
skids wonders how that works without any <-> or "is rw" on the subs. 03:38
03:39 hartshorn left 03:40 cpage_ left, hartshorn joined
skids ah. Because objects are all that's used there. 03:41
m: sub idx (\a, \b) is rw { a{b} }; my %x = :a(1); idx(%x,<a>) = 4; %x.say;
camelia rakudo-moar f10b09: OUTPUT«{a => 4}␤»
skids m: sub idx (\a, \b) { a{b} }; my %x = :a(1); idx(%x,<a>) = 4; %x.say; 03:42
camelia rakudo-moar f10b09: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at <tmp> line 1␤␤»
skids m: sub idx (\a, \b) is rw { a{b} }; my %x = :a(:1b); (%x,"a","b").reduce(&idx) = 4
03:42 Ven joined
camelia rakudo-moar f10b09: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at <tmp> line 1␤␤» 03:42
skids :(
m: sub idx (\a, \b) is rw { a{b} }; my %x = :a(:1b); (%x,"a","b").reduce-rw(&idx) = 4 03:44
camelia rakudo-moar f10b09: OUTPUT«No such method 'reduce-rw' for invocant of type 'List'␤ in block <unit> at <tmp> line 1␤␤»
skids Darn.
03:46 TEttinger joined 03:51 Ven left 03:52 notostraca joined 03:53 TEttinger left, cpage_ joined 03:54 cpage_ left
skids Hrm. well apparently hypers tree arrays, work on a hash's values, but don't tree lists and don't tree hashes. I wonder how/when that was decided... I don't recall. 03:56
03:57 notostraca left
skids Oh, unary hypers do tree lists. 03:57
That makes better sense.
03:58 shayan_ joined
hartshorn hello 03:58
skids m: my $neighbors = ((-1, 0), (0, -1), (0, 1), (1, 0)); my $p = (2, 3); say $neighbors »>>+<<» ($p, *); 04:00
camelia rakudo-moar f10b09: OUTPUT«((1 3) (2 2) (2 4) (3 3))␤»
skids m: my $neighbors = ((-1, 0), (0, -1), (0, 1), (1, 0)); my $p = (2, 3); say $neighbors »+» ($p, *); 04:01
camelia rakudo-moar f10b09: OUTPUT«((1 3) (2 2) (2 4) (3 3))␤»
skids Methinks the docs moght be mistaken.
04:02 Ven joined 04:04 Ven left
hartshorn skids it's just you? 04:05
skids Everyone else suddenly got quiet.
hartshorn weird 04:06
how are you making camelia do that?
04:07 TEttinger joined
TimToady m: my $neighbors = ((-1, 0), (0, -1), (0, 1), (1, 0)); my $p = (2, 3); say $neighbors »+» ($p,) 04:08
camelia rakudo-moar f10b09: OUTPUT«((1 3) (2 2) (2 4) (3 3))␤»
TimToady don't really need the *
skids I don't know whether to nuke that whole example from operators.pod or find out from the blamees what was going on there. 04:11
geekosaur isn't there still a bunch of stuff from pre-glr (and hypers changed quite a lot in glr's wake)? 04:12
skids All the blames are 2016, but that could've been formatting and tweaks. 04:14
AlexDaniel skids: I don't think it was ever decided
skids Hrm... then there might be a specbugtodo. 04:15
geekosaur most of the docs *are* from 2016, after it was decided to freeze the spec(ulation)s
and do actual docs instead of trying to fix them 04:16
but that means you get docs written from speculations that didn't necessarily happen as such
04:16 hartshorn left
TimToady hyper infixes are supposed to replicate any deficient dimension if the » is pointing that way 04:16
which is what it looks like it's doing 04:17
that's just normal array operations from the APL perspective 04:18
samcv skids, ok so i'm going a different way with this. but need help applying one hash to another. well it's sort of the same problem. but. i guess you could say interweaving two hashes?
TimToady APL is basically always «+» when you say + 04:19
samcv how do i add one hash tree to another without deleting any preexisting ones
TimToady of course, APL doesn't do hashes... 04:20
skids samcv: example operands and desired results?
samcv sec
gist.github.com/9555fb141eca8f0da7...6e26a0620f 04:22
04:22 Ven joined
samcv the print out is {0000 => {NameAlias => {NULL => {type => control}}}} 04:22
{0000 => {NameAlias => {NUL => {type => abbreviation}}}}
${:NameAlias(${:NUL(${:type("abbreviation")})})}
so apply-to-cp gets those first two i pasted, and the result %points{0} is the last line 04:23
as you can see it overwrote it as I knew it would, but I want to be able to get NUL and NULL
if you want to test ftp://ftp.unicode.org/Public/UCD/latest/ucd/NameAliases.txt put it in a folder called UNIDATA one level below the script 04:24
04:26 Actualeyes joined
samcv and it should be able to be generalized to make it so that i can pass it hashes with many different values set 04:27
not just a single one like in this example
skids Ah so you want sort of like Hash.append but not quite. 04:29
m: say { :1a }.append: { :2a } 04:30
camelia rakudo-moar f10b09: OUTPUT«{a => [1 2]}␤»
04:32 shayan_ left, shayan_ joined
skids I'm kinda too tired to try to write that. 04:35
04:38 Ven left 04:40 cpage_ joined 04:41 labster left 04:43 Ven joined 04:46 faraco joined
faraco NOTE: To upload a Perl6 distribution a target directory whose top level subdirectory is "Perl6" must be specified. In addition, a Perl6 distribution must contain a META6.json. Pause will only consider it a Perl6 dist if these two conditions are satisfied. 04:47
I got the META6.json
but..the top level subdirectory..means? 04:48
do I need to change my lib/Module/Name to Perl6/Module/Name 04:49
uploading to CPAN.
skids Or maybe just stuff the whle module in a Perl6 subdir? I dunno.
faraco yeah, that is question, which part should I stuff them. The whole project, or only the file under the lib/ 04:50
samcv skids, basically what you just said. if i do append i get this: $[{:NameAlias(${:NULL(${:type("control")})})}, {:NameAlias(${:NUL(${:type("abbreviation")})})}]
but i want them to be part of the same
04:52 Ven left
skids Right. But you wat to do it recursively... merge all nonmatching keys, then for all matching keys, create te key and assign it the result of the recursion on the two value. 04:52
samcv yep
exactly
skids I'm not sure there's a "trick" to that other than just writing a recursive sub... hyperops can do some things with matching keys but it'll just get confusing. 04:53
samcv yeah 04:54
the old unicode database gen script just uses references to accoplish it but we have no references in perl 6 04:55
and maybe some other things. but yeah i'm attempting all the big picture parts that need to be in place to begin writing a replacement
only rewrite once etc.
05:03 Ven joined
samcv huh skids it may be simpler than I thought 05:03
m: my %hash = 1 => 'hi'; my %hash2 = 2 => 'hello'; my %new = (%hash, %hash2); say %new.perl
camelia rakudo-moar e7c1d5: OUTPUT«{"1" => "hi", "2" => "hello"}␤»
samcv though may not work for uh. 05:05
skids Well, yeah, just merging simple hashes is easy. It's the multidimensional that's the fun.
samcv m: my %hash = 1 => 'hi'; my %hash2 = 1 => 'hello'; my %new = (%hash, %hash2); say %new.perl
camelia rakudo-moar e7c1d5: OUTPUT«{"1" => "hello"}␤»
samcv yeah that don't work
bleh
i was too optimistic
05:05 pyrimidine joined 05:07 Ven left 05:09 faraco left
skids Basically you can either recurse only for matching keys, or iterate a .unique list of the combined keys of the two hashes into a multisub that only recurses when the keys match. 05:09
samcv yeah 05:10
i'll just make a recursive function I guess
05:10 pyrimidine left 05:12 khw left, bwisti left 05:14 dugword left
samcv i'll just make one that will apply the supplied hash to the main hash or whatever 05:15
05:22 Ven joined 05:31 skids left 05:37 Ven left 05:41 Cabanossi left 05:42 Ven joined 05:44 Cabanossi joined, BenGoldberg left 05:49 dugword joined 05:51 Ven left
samcv SourceBaby, &parse-base 06:00
SourceBaby, help
SourceBaby samcv, Use s: trigger with args to give to sourcery sub. e.g. s: Int, 'base'. See modules.perl6.org/dist/CoreHackers::Sourcery
samcv s: Str, parse-base
SourceBaby samcv, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Calling parse-base() will never work with any of these multi signatures:␤ (Str:D $str, Int:D $radix)␤at -e:6␤------> put sourcery( Str, ⏏parse-base )[1];␤
samcv s: Str, 'parse-base'
SourceBaby samcv, Sauce is at github.com/rakudo/rakudo/blob/e7c1...r.pm#L1302
06:02 Ven joined
samcv .tell brokenchicken I updated IRC::TextColor. can now do ircstyle('text', :bold, :green) 06:04
yoleaux samcv: I'll pass your message to brokenchicken.
06:07 Ven left
samcv s: Str.parse-base 06:10
SourceBaby samcv, Something's wrong: ␤ERR: Too few positionals passed; expected 2 arguments but got 1␤ in block <unit> at -e line 6␤␤
samcv s: Str, .parse-base
SourceBaby samcv, Something's wrong: ␤ERR: No such method 'parse-base' for invocant of type 'Any'␤ in block <unit> at -e line 6␤␤
samcv s: Str, '.parse-base' 06:11
SourceBaby samcv, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Nil (Nil)␤ in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤ in block <unit> at -e line 6␤␤
samcv dammit.
06:12 kyan left 06:14 pyrimidine joined 06:18 pyrimidine left 06:19 Tonik joined 06:20 RabidGravy joined 06:21 shayan_ left 06:22 Ven joined 06:25 Ven left 06:30 bjz joined 06:42 Tonik left 06:44 bjz left 06:45 AlexDaniel left 06:48 pyrimidine joined 06:51 xtreak left 06:52 pyrimidine left 06:54 xtreak joined 06:57 darutoko joined 06:59 bjz joined 07:00 pyrimidine joined 07:04 labster joined, pyrimidine left 07:05 labster left 07:06 labster joined 07:08 domidumont joined 07:14 domidumont left 07:15 domidumont joined 07:21 wamba joined 07:28 isacloud left 07:29 geekosaur left, geekosaur joined, leego left, JimmyZ left, JimmyZ joined, thayne joined 07:30 ihab left, kipd left, huggable left, buggable left, ilmari left, plicease left, hobbs left 07:31 plicease joined 07:32 ilmari joined 07:33 kipd joined 07:34 ihab joined
samcv Interesting. the Kate text editor is for windows too. and it has syntax highlighting in it says 275 languages. and they just moved the highlighting code out of Kate 07:34
I use kate to work with very long files kate-editor.org/2016/11/15/ksyntax...framework/ 07:35
07:35 leego joined 07:36 hobbs joined, hobbs left, hobbs joined, geekosaur left 07:37 isacloud joined 07:38 geekosaur joined 07:41 pyrimidine joined, kst left 07:42 fluca1978 joined 07:43 kst joined 07:45 pyrimidine left 07:50 fluca1978 left 07:56 geekosaur left, fluca1978 joined 07:57 leego left
fluca1978 sorry for this trivial question, but why is the dist manager named 'panda'? 07:57
07:58 geekosaur joined
moritz because pandas are cute animals, IIRC :-) 07:59
and there's more than one module installer; currently many people use zef instead
samcv I usually use zef 08:00
why is it called zef? idk…
SourceBaby, source
SourceBaby samcv, See: github.com/zoffixznet/perl6-sourceable
08:02 kst left
moritz the previous generations of module installers were called "proto" (because it was a protoype), and "neutro" (logical successor to "proto") 08:02
08:04 geekosaur left, leego joined, Sgeo joined, [particle] left, kst joined 08:05 geekosaur joined, [particle] joined 08:09 abraxxa joined
labster panda: perl archive network done again 08:10
Not official, but close enough ;)
08:11 pyrimidine joined 08:14 ufobat joined 08:18 pyrimidine left, abraxxa left 08:20 kst left
samcv hah 08:21
08:22 dugword left, xtreak left
moritz PANDA = Panda Aint' No Darn Acronoym 08:22
08:23 kst joined
tadzik :o 08:23
I think fluca1978 is gone, but the answer is that my dog was named panda 08:24
i.redd.it/jpop5n9y4b9y.jpg
diakopter :o 08:25
08:25 xtreak joined
fluca1978 thanks tadzik 08:31
08:31 ufobat left
tadzik oh, so it's just my tab-completion acting up :) 08:32
08:33 abraxxa joined
DrForr No, they named the dog Indy :) 08:36
(movie ref, in case that's necessary.) 08:39
08:45 bjz_ joined 08:46 bjz left 08:51 dilksinator joined 08:52 wamba left, sQuEE` joined
dilksinator Do knitters code fabric? 08:55
DrForr That's one way to look at it, I suppose. 08:57
Though what most people think of as "fabric" is really weaving and not knitting.
08:59 astj joined, astj_ left 09:01 zakharyas joined 09:08 pyrimidine joined
Geth oc: 89f75a3c17 | (Samantha McVey)++ | util/trigger-rebuild.txt
Trigger rebuild to pull in highlighting fixes

Fixes to regex after ~~ and regex using .match
09:09
09:10 dilksinator left 09:12 pyrimidine left 09:24 bjz joined 09:25 bjz_ left 09:29 espadrine joined 09:33 xtreak left 09:35 xtreak joined 09:42 cschwenz joined 09:43 wamba joined 09:49 pyrimidine joined 09:54 pyrimidine left 09:56 dha joined 09:57 dha left 09:59 xtreak left 10:00 bjz left 10:04 Actualeyes left 10:05 espadrine left, rindolf joined 10:07 pyrimidine joined 10:10 cdg joined, labster left 10:11 cdg left, pyrimidine left, bjz joined, cdg joined 10:15 bjz left, bjz_ joined, labster joined 10:19 xtreak joined 10:26 g4 left 10:29 g4 joined, g4 left, g4 joined 10:30 fluca1978 left 10:36 pyrimidine joined, rindolf left 10:40 pyrimidine left 10:44 bjz joined 10:45 bjz_ left 10:51 pyrimidine joined 10:53 cschwenz left 10:56 pyrimidine left 11:03 pyrimidine joined
brokenchicken . 11:03
yoleaux 06:04Z <samcv> brokenchicken: I updated IRC::TextColor. can now do ircstyle('text', :bold, :green)
11:06 Actualeyes joined 11:07 darutoko left, pyrimidine left, labster left, pyrimidine joined 11:12 raschipi joined, pyrimidine left
brokenchicken m: (^0x110000).grep(/ <:Digit> /).elems.say 11:12
camelia rakudo-moar 0c5a58: OUTPUT«0␤»
11:12 CluelessProgramm joined
brokenchicken m: q/'/ ~~ rx/ <:Digit> / 11:13
camelia ( no output )
brokenchicken m: say q/'/ ~~ rx/ <:Digit> /
camelia rakudo-moar 0c5a58: OUTPUT«「'」␤»
brokenchicken m: (^0x110000).grep({.chr ~~ / <:Digit> /}).elems.say
camelia rakudo-moar 0c5a58: OUTPUT«(timeout)»
11:14 CluelessProgramm left
brokenchicken That's rt.perl.org/Ticket/Display.html?id=130549 fwiw 11:14
samcv m: use nqp; say nqp::unipropcode('Digit') 11:15
camelia rakudo-moar 0c5a58: OUTPUT«25␤»
samcv well it is matching SOMETHING 11:16
11:16 xtreak left
samcv let me check what 11:16
ah ok
i think i see maybe 11:17
m: say ' '.uniprop-int('Numeric_Type')
camelia rakudo-moar 0c5a58: OUTPUT«0␤»
samcv m: say ' '.uniprop-str('Numeric_Type')
camelia rakudo-moar 0c5a58: OUTPUT«None␤»
samcv hm
m: say ' ' ~~ /<:Digit>/
camelia rakudo-moar 0c5a58: OUTPUT«「 」␤»
samcv yeah. uhm 11:19
11:19 xtreak joined
samcv that's the same bug as <:space> 11:19
it's checking the string values before checking the bool properties
@brokenchicken,
i *think*
uh
m: say ' ' ~~ /<:Script>/
camelia rakudo-moar 0c5a58: OUTPUT«Nil␤»
samcv m: say ' ' ~~ /<:Numeric_Type>/ 11:20
camelia rakudo-moar 0c5a58: OUTPUT«「 」␤»
samcv m: say ' ' ~~ /<:Emoji>/ 11:21
camelia rakudo-moar 0c5a58: OUTPUT«Nil␤»
samcv hm. odd
m: say ' '.uniprop-bool('Digit') 11:22
camelia rakudo-moar 0c5a58: OUTPUT«False␤»
samcv togged that one as [UNI] 11:23
m: say "\[<illegal>]" 11:24
camelia rakudo-moar 0c5a58: OUTPUT«[<illegal>]␤»
samcv m: say "\c[<illegal>]"
camelia rakudo-moar 0c5a58: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized \c character␤at <tmp>:1␤------> 3say "\c[7⏏5<illegal>]"␤ expecting any of:␤ argument list␤ double quotes␤ term␤»
samcv m: say "\c[BYTE ORDER MARKER]"
camelia rakudo-moar 0c5a58: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name BYTE ORDER MARKER␤at <tmp>:1␤------> 3say "\c[BYTE ORDER MARKER7⏏5]"␤»
11:25 pmurias joined
samcv u: { .match(/<:Digit>/) } 11:26
really curious what don't match…
unicodable6 samcv, «timed out after 30 seconds, output»: «exit signal = SIGHUP (1)»
samcv m: say ' ' ~~ /<:Numeric_Type>/
camelia rakudo-moar 0c5a58: OUTPUT«「 」␤»
samcv yeah ok so it's some fundamental issue going on here potentially diffent than the <:space> problem I think 11:27
since it's not related to value/name collisions, i think
m: use nqp; nqp::unipvalcode('Digit').say
camelia rakudo-moar 0c5a58: OUTPUT«===SORRY!===␤Arg count 1 doesn't equal required operand count 3 for op 'unipvalcode'␤»
samcv m: use nqp; nqp::unipvalcode(nqp::unipropcode('Digit'),'Digit').say 11:28
camelia rakudo-moar 0c5a58: OUTPUT«0␤»
samcv will put that on my list of things
11:37 geekosaur left 11:39 geekosaur joined, xtreak left 11:43 fluca1978 joined 11:47 cdg_ joined
fluca1978 but another thing I don't understand, is CPAN going to be used as perl6 module container or not? 11:49
raschipi fluca1978: It will. 11:50
11:50 cdg left
raschipi fluca1978: zef already has `--cpan` 11:50
fluca1978 how are we going to discriminate a perl5 module from a perl6 one on cpan (I'm thinking about namespace collisions)?
11:51 astj left, astj joined
samcv i mean I would think a perl 6 module installed would only install perl 6 modules 11:51
but. i mean there would have to be some way to distinguish them because there are already many collisions
11:52 pyrimidine joined, Ven joined
pmurias fluca1978: the Perl 6 modules won't be indexed by the Perl 5 tools 11:52
fluca1978 pmurias: right, but that means we are going to have also different versions of search.cpan.org, I suspect 11:53
11:53 Actualeyes left
pmurias you mean metacpan.org? 11:54
;)
fluca1978 pmurias: may be, I don't know if search.cpan.org uses metacpan in the backend...
lizmat hopes we can continue this type of work at blogs.perl.org/users/book1/2017/01/...-2017.html 11:55
showmetheco.de/articles/2017/1/anno...ikaio.html # also interesting :-) 11:56
11:56 pyrimidine left
samcv that's neat 12:00
12:00 rindolf joined 12:02 cdg_ left
pmurias lizmat: seems like we would need a Perl::Critic for Perl 6 for this to work 12:03
;)
lizmat yes, but on the other hand, we have --ast :-)
we have PPI sorta built in, no ? 12:04
jnthn Not to mention DrForr's Perl6::Parser work
Also, when the QTree refactor happens... :)
DrForr pokes his nose in. 12:05
jnthn It'll open all kinds of things up
But yes, for now --ast and (probably better) Perl6::Parser are our PPI. And they actually are written in pure Perl 6. ;)
samcv save the trees! 12:06
jnthn :D
pmurias is the QTree refactor planned for the near future?
DrForr Well, there's maybe 5 lines that's nqp, but the rest is perl 6, yes.
jnthn pmurias: My gut feeling is the QTree/macro stuff will end up being in 6.e 12:07
pmurias will QTrees replace QAST? 12:08
12:08 Ven left
jnthn Yes and no. 12:08
moritz I could imagine them replacing a part of the QAST nodes so far
jnthn My current feeling is that QAST will remain the backend inter-lingua.
And QTrees will represent mostly higher-level constructs (at the Perl 6 level) 12:09
12:09 fluca1978 left
moritz that was my understanding as well 12:09
jnthn So it's more like QTree nodes will produce QAST.
Though perhaps in a more pipelined style
(That is, we won't ever have to build the entire QAST tree up in memory) 12:10
12:11 Ven joined
jnthn lunch & 12:13
12:15 Actualeyes joined
masak perks up 12:18
moritz wants to call them MTree instead 12:19
masak not too late for a name change, but there'll have to be a good reason :P
I'm sorry I haven't had more time to look at the Qtree stuff for Perl 6
there's this issue in the 007 repo: github.com/masak/007/issues/197
that'll probably help
moritz you're saying that my desires aren't a good reason? :-) 12:20
12:20 wamba left
masak but I'm severely lacking in tuits, 'cus $work and @family 12:20
moritz: I always try to cater to your deepest needs, you know that :D
DrForr Then we can describe MTree in documentation, and follow it up with STree which everyone will actually use?
masak moritz: but also, Q is a nice, fun-loving letter
12:20 ufobat joined
masak DrForr: :P 12:20
moritz DrForr: SMTree? :-) 12:21
masak you're not exactly selling me on MTree here...
moritz masak: I guess it doesn't qualify as "deepest need"
masak no, guess not
DrForr Sometimes I have to boggle that I'm in a crowd that actually *gets* that joke.
masak I even got it on first expansion! :P 12:22
12:23 Ven left 12:31 pyrimidine joined, Ven joined 12:35 pyrimidine left 12:37 Ven left 12:39 sammers left 12:46 newbie1 joined 12:50 Ven joined 12:52 sammers joined 12:58 literal joined 13:18 bjz left
Ulti I think #perl6 got faster today vs yesterday 13:34
or its I've rebooted and there is less RAM pressure
masak the... IRC channel got faster?
or the Twitter hashtag? 13:35
jnthn yeah I type supre fsat now...it's eays to be fast and rhight!
masak jnthn: first, make it fast. then, make it, uhhhhhhh
Ulti might be the Array.from-iterator stuff 13:36
masak .oO( might be the gremlins )
Ulti yeah its within gremlin level speedup
whats nice though is the times are increasingly rock solid it doesn't jump from one invocation to another which I assume is to do with GC maturing? 13:37
jnthn Ulti: There was a recent improvement that in some kinds of application decreased memory pressure and GC times quite a bit. 13:39
It depends heavily on the use pattern of the application. 13:40
(Some things got nothing. CORE.setting compilation got 20%.)
Uh, 20% speedup and 10% peak memory decrease.
Ulti cool, I haven't actually been tracking memory :< 13:41
though its not too uncommon for me to have access to a machine with at least 512GB of RAM its CPU which makes the difference in bioinfo 13:42
13:42 aborazmeh joined, aborazmeh left, aborazmeh joined
lizmat Ulti: the Array.from-iterator does not create a reifier and reification-target now, when it can 13:43
so that's halve the number of objects it used to create always before
Ulti im unsure how that might affect my code
lizmat isn't sure either, but creating fewer objects is always a win 13:44
Ulti no doubt
lizmat somewhere :-)
Ulti I think thats the main thing here though when I haven't had some big jump in perf for these tests stuff like the primes benchmark have... it all adds up and eventually evens out
I guess I should run those again now you had a go at natives too 13:45
13:50 pyrimidine joined 13:54 Grauwolf joined 13:56 pyrimidine left 14:07 aborazmeh left, thayne left 14:08 pyrimidine joined 14:12 pyrimidine left 14:22 cpage_ left 14:24 cdg joined 14:31 skids joined
brokenchicken 𝐖𝐎𝐖! 𝐒𝐔𝐑𝐄 𝐈𝐒 𝐐𝐔𝐈𝐄𝐓 𝐈𝐍 𝐇𝐄𝐑𝐄! 14:56
masak we shouldn't get $work get in the way so much of our Perl 6 time
brokenchicken R'amen to that!
lizmat was just about to drop a pin
masak lizmat: whenever someone does that, it ends up in a haystack and we all have to go find it 14:57
raschipi Good thing we have grep, then. 15:01
moritz it's easy to find a haystack in a needle if you have a very high-powered magnet 15:02
DrForr Didn't Mythbusters confirm you *can* find a needle...? 15:03
moritz they didn't confirm that *I* can do that :-)
15:05 pyrimidine joined
perigrin moritz: if the haystack is in the needle wouldn't it just come *with* the needle when it's pulled by the magnet? 15:07
tadzik well, do you still need that flammable haystack afterwards? :)
pmurias ggoebel: did nqp-js build after the "mkdir node_modules;npm install src/vm/js/nqp-runtime"? 15:08
perigrin tadzik: make sure you knwo the melting point of the needle, they have some plastic ones these days.
DrForr It could be a knitting needle too, that might be easier to find but you'd need to use eddy currents or something.
brokenchicken m: say flat "", "is", "", "", "I" Z CORE::.keys[97,233,503,409,484] 15:09
camelia rakudo-moar 8852f7: OUTPUT«( Perl is Cool Whatever Version I Promise)␤»
15:09 curt_ joined
jnthn brokenchicken++ 15:09
lizmat m: class Z is Date {method happy{}};say Z.^methods.map(*.name.tc).sort[11,16,29].join(" ")~"!" # am I missing something ? 15:10
camelia rakudo-moar 8852f7: OUTPUT«Earlier Is-leap-year Week-number!␤»
brokenchicken hah
Older version of Rakudo I guess :)
lizmat yeah :-( 15:11
brokenchicken mc: class Z is Date {method happy{}}; say Z.^methods.map(*.name.tc).sort[11,16,29].join(" ")~"!"
committable6 brokenchicken, ¦«2015.12»: Earlier Later Weekday-of-month!
brokenchicken committable6: 6.c class Z is Date {method happy{}}; say Z.^methods.map(*.name.tc).sort[11,16,29].join(" ")~"!"
committable6 brokenchicken, ¦«2015.12,2016.02»: Earlier Later Weekday-of-month!␤¦«2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09»: Happy New Year!␤¦«2016.10»: Formatter Later Week-year!␤¦«2016.11,2016.12,HEAD»: Earlier Is-leap-year Week-number!
brokenchicken c: 2016.09 class Z is Date {method happy{}}; say Z.^methods.map(*.name.tc).sort[11,16,29].join(" ")~"!" 15:12
committable6 brokenchicken, ¦«2016.09»: Happy New Year!
brokenchicken \o/
lizmat glot.io apparently runs moar (2016.07) 15:13
15:13 g4 left
perigrin lizmat: weirdly I be they also run less. 15:13
perigrin runs away before he gets lost in terrible unix puns.
DrForr You are lost in a twisty maze of version numbers, all alike. 15:15
perigrin is lost in a twisty maze of object contructor calls 15:19
15:21 oldblue137 joined 15:26 pyrimidine left, cpage_ joined, pyrimidine joined 15:29 pmurias left 15:31 pyrimidine left 15:36 melezhik_ joined 15:43 troys joined, ChoHag left 15:46 pyrimidine joined 15:49 shayan_ joined 15:51 shayan_ left 15:53 pyrimidine left 15:54 vendethiel joined
brokenchicken m: BEGIN RAKUDO_EXCEPTIONS_HANDLER=Meow; class Exceptions::Meow { method process ($e) { say "\n😿😿😿\nOh noes! $e.^name() exception!\n😿😿😿"; False } }; say s:meows/x// 15:57
camelia rakudo-moar 9994c0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared names:␤ Meow used at line 1␤ RAKUDO_EXCEPTIONS_HANDLER used at line 1␤␤»
brokenchicken m: BEGIN %*ENV<RAKUDO_EXCEPTIONS_HANDLER>="Meow"; class Exceptions::Meow { method process ($e) { say "\n😿😿😿\nOh noes! $e.^name() exception!\n😿😿😿"; False } }; say s:meows/x// 15:58
camelia rakudo-moar 9994c0: OUTPUT«␤😿😿😿␤Oh noes! X::Syntax::Regex::Adverb exception!␤😿😿😿␤»
brokenchicken hm, weird. On my terminal the catfaces get printed as "􏿽xF0􏿽x9F􏿽x98􏿽xBF􏿽xF0􏿽x9F􏿽x98􏿽xBF􏿽xF0􏿽x9F􏿽x98􏿽xBF"
oh.. even plain print does that :S 15:59
timotimo that's what utf8-c8 creates for invalid utf8 sequences
brokenchicken hm... say "😿"; gives me "􏿽xF0􏿽x9F􏿽x98􏿽xBF" 16:00
timotimo: how to fix it?
timotimo i'm not actually sure how utf8-c8 even figures in here?
oh, it doesn't 16:02
geekosaur locale isn't UTF8?
timotimo if it were utf8-c8 for output it'd turn those back into bytes
brokenchicken If I do say "\x[1F63F]" I get the catface, but if I copy-paste it and say it, I get that garbage
geekosaur that could be your terminal (or something in between it and you, like tmux)
too many moving parts that all have to support UTF8 properly :/ 16:03
brokenchicken alright, screw it then :) 16:04
timotimo what does the .perl give you for the thing you've copypasted? 16:05
brokenchicken $ perl6 -e 'say "😿 ".perl' 16:06
"􏿽xF0􏿽x9F􏿽x98􏿽xBF "
16:07 wamba joined
timotimo OK, how about $*IN.read(5).perl.say and pasting it into the terminal then? 16:09
is it actually F0 9F 98 BF?
m: say "\x[F09F98BF]"
camelia rakudo-moar 9994c0: OUTPUT«===SORRY!===␤chr codepoint cannot be negative␤»
timotimo m: say Buf.new(0xF0,0x9F,0x98,0xBF).encode("utf8")
camelia rakudo-moar 9994c0: OUTPUT«No such method 'encode' for invocant of type 'Buf'␤ in block <unit> at <tmp> line 1␤␤»
timotimo m: say Buf.new(0xF0,0x9F,0x98,0xBF).decode("utf8") 16:10
camelia rakudo-moar 9994c0: OUTPUT«😿␤»
timotimo is that a cat face to you?
brokenchicken Yeah 16:11
the read thing gives me Buf[uint8].new(240,159,152,191,10)
m: say (240,159,152,191,10)».base: 16 16:12
camelia rakudo-moar 9994c0: OUTPUT«(F0 9F 98 BF A)␤»
brokenchicken fffuuuu 16:13
Wrote a doc update, hit submit "No server is currently available to service your request." -_-
raschipi ugexe: Should I use Text::Fuzzy::PP or Text::Fuzzy? 16:14
timotimo well, i have no idea what's going wrong there 16:15
brokenchicken It's fine. It may be my box that's busted. 16:16
It's a 12.04 frankenbuntu
perigrin sudo apt-get breakitalltohell
16:23 domidumont left
Geth oc: d0de40f93d | (Zoffix Znet)++ | doc/Programs/00-running.pod6
Describe RAKUDO_EXCEPTIONS_HANDLER

specifically the expected properties of the handler class
16:25
brokenchicken raschipi: ::PP usually stands for PurePerl, as in "slower but not needing some C lib XYZ" 16:28
raschipi brokenchicken: Yeah, already got it. The PP is much better for me, thanks.
Geth oc: edf207644c | (Zoffix Znet)++ | doc/Programs/00-running.pod6
Update --profile-filename

to include info that we can do SQL format now too
16:31
oc: f517579c16 | (Zoffix Znet)++ | doc/Programs/00-running.pod6
Fix copy-paste fail
16:33
16:37 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'Update --profile-filename 16:37
travis-ci.org/perl6/doc/builds/191683541 github.com/perl6/doc/compare/d0de4...f207644c38
16:37 travis-ci left 16:38 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'Fix copy-paste fail' 16:38
travis-ci.org/perl6/doc/builds/191683769 github.com/perl6/doc/compare/edf20...17579c16a4
16:38 travis-ci left
brokenchicken (github 504ing) 16:39
tbrowder www.irccloud.com/pastebin/ZJJNBEL2...-data-dump
geekosaur twitter.com/githubstatus/status/81...8452615168
tbrowder .tell ugexe see www.irccloud.com/pastebin/ZJJNBEL2...-data-dump 16:40
yoleaux tbrowder: I'll pass your message to ugexe.
brokenchicken tbrowder: works fine for me. 16:41
without any versions that paste doesn't say much. 16:42
tbrowder y'r right: perl6 version: Rakudo version 2016.12-297-g9994c09 built on MoarVM version 2016.12-104-g64e2d93 16:43
brokenchicken mine's on 2016.12-266-ged5c866 with zef version of the same date
brokenchicken doesn't see any zef updates to account for the difference 16:46
tbrowder: can you run that command with --debug flag? 16:49
zef --debug instal blah blah
tbrowder yes i will, BTW, on another host of mine running older rakudo install is ok...trying debug now... 16:50
16:52 khw joined
tbrowder hm, install went ok with the --debug flag. trying uninstall and reinstall without flag 16:52
brokenchicken tbrowder: considering GitHub is currently having outtages and the warnings are from code that fetches stuff, my guess would be that's failure to fetch some github stuff. 16:54
.oO( prolly should be detected and reported to the user in some better way )
geekosaur github claims ot be back now twitter.com/githubstatus/status/81...5503442945 16:55
tbrowder ok, i must hace a New Year ghost floating around--uninstall/install went fine...thanks..forgot about github possibilities--i'll try not to be so quick to shout fire next time!
geekosaur (github glitches, watch projects freeze like frightened mice) 16:57
brokenchicken tbrowder: well, there *is* some fire. If it is due to problems with github the zef plugin handling it should've reported the issues
16:57 dugword joined
tbrowder ok 17:00
17:03 aindilis` left, ChoHag joined 17:04 kurahaupo joined, aindilis joined, kurahaupo left 17:05 buggable joined, ChanServ sets mode: +v buggable 17:06 zakharyas left 17:10 rje_ joined, rje_ left 17:12 rje_ joined
rje_ camelia: help 17:17
camelia rje_: Usage: <(rakudo-jvm|debug-cat|nqp-js|nqp-jvm|p5-to-p6|prof-m|rakudo-moar|nqp-moarvm|star-m|m|p56|star|p6|rm|nqp-m|r-m|nqp|sm|r|j|r-j|r-jvm|perl6|nom|nqp-q|nqp-mvm|rj|rakudo)(?^::\s(?!OUTPUT)) $perl6_program>
brokenchicken m: say "Hi, rje_!" 17:18
camelia rakudo-moar d1c2e7: OUTPUT«Hi, rje_!␤»
rje_ I forgot how to point eval at a Gist... 17:20
17:20 nicq20 joined
brokenchicken rje_: m: gist..... 17:20
rje_ m: gist.githubusercontent.com/bobbyji...madryas.p6 17:21
camelia rakudo-moar d1c2e7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3https:7⏏5//gist.githubusercontent.com/bobbyjim/92␤ expecting any of:␤ colon pair␤»
brokenchicken rje_: just the gist, not raw or anything
rje_ ah
m: gist.github.com/bobbyjim/92bac5c1f...7091baf4a7
camelia rakudo-moar d1c2e7: OUTPUT«「Hama」␤»
brokenchicken
.oO( that looks familiar.... )
17:22
rje_ m: gist.github.com/bobbyjim/92bac5c1f...7091baf4a7
camelia rakudo-moar d1c2e7: OUTPUT«「Hama」␤Hama␤»
brokenchicken heh, why go through the gist for that? :) 17:23
rje_ say() doesn't look as human-friendly as put(). But the docs seem to say that put() is machine-friendly, and say() is human-friendly.
brokenchicken hah
perlpilot put has no .gist 17:24
rje_ Until the LP6 draft, I'd never heard of put()
brokenchicken rje_: why doesn't it look human friendly? It tells you details about the Match object, while put() just placed the .Str of it
rje_ Right, say() calls gist()
moritz rje_: it can't be perfect in every edge case
rje_ Heh.
True.
moritz rje_: if you have nested captures in a match, .gist can be *very* helpful
to figure out how exactly to index stuff to get at what you want 17:25
perlpilot I imagine that P6's say might annoy P5ers
moritz m: say 'Hama' ~~ /(.((.)(.))/'
camelia rakudo-moar d1c2e7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in metachar:sym<( )>; couldn't find final ')' ␤at <tmp>:1␤------> 3say 'Hama' ~~ /(.((.)(.))7⏏5/'␤ expecting any of:␤ infix stopper␤ term␤»
moritz m: say 'Hama' ~~ /(.((.)(.))/
camelia rakudo-moar d1c2e7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in metachar:sym<( )>; couldn't find final ')' ␤at <tmp>:1␤------> 3say 'Hama' ~~ /(.((.)(.))7⏏5/␤ expecting any of:␤ infix stopper␤ term␤»
brokenchicken m: put "Hamas" ~~ /(.)(.)(.)(.)(.)/
camelia rakudo-moar d1c2e7: OUTPUT«Hamas␤»
brokenchicken m: say "Hamas" ~~ /(.)(.)(.)(.)(.)/
camelia rakudo-moar d1c2e7: OUTPUT«「Hamas」␤ 0 => 「H」␤ 1 => 「a」␤ 2 => 「m」␤ 3 => 「a」␤ 4 => 「s」␤»
moritz m: say 'Hama' ~~ /(.((.)(.)))/
camelia rakudo-moar d1c2e7: OUTPUT«「Ham」␤ 0 => 「Ham」␤ 0 => 「am」␤ 0 => 「a」␤ 1 => 「m」␤»
moritz eeks
you need real newlines to make sense of it
nicq20 Hey perlpilot, when you have a minute, I sent your Git::Wrapper module some pull requests.
TimToady m: say 1..10000000000
camelia rakudo-moar d1c2e7: OUTPUT«1..10000000000␤»
TimToady m: say 1...10000000000 17:26
camelia rakudo-moar d1c2e7: OUTPUT«(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 …»
brokenchicken :D
TimToady m: put 1...10000000000
brokenchicken m: say 1...Inf
aw, crap
m: say 1..Inf
TimToady :P
brokenchicken m: put 1..Inf
camelia rakudo-moar d1c2e7: OUTPUT«(timeout)»
rakudo-moar d1c2e7: OUTPUT«(...)␤»
rakudo-moar d1c2e7: OUTPUT«1..Inf␤»
rakudo-moar d1c2e7: OUTPUT«1..*␤»
brokenchicken :o
perlpilot nicq20++ nice.
brokenchicken m: put 1..Inf 17:27
camelia rakudo-moar d1c2e7: OUTPUT«1..*␤»
brokenchicken intreresting...
rje_ Granted, say in 5.10 does exactly what I would expect.
brokenchicken lol
geekosaur m: (1..Inf).WHAT.say
camelia rakudo-moar d1c2e7: OUTPUT«(Range)␤»
brokenchicken rje_: yeah, 5.10 of an entirely different language.
s: ^1, 'put', \()
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/2561...Mu.pm#L472 17:28
brokenchicken s: ^1, 'Str', \()
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/2561...ge.pm#L379
brokenchicken ah, it got magics for infs
rje_ granted (a) p5.* <> p6.* and (b) idiom must be learned. 17:29
perlpilot nicq20: So ... I just merged your PRs, but do you want to put your own version of Git::Wrapper in the ecosystem instead of mine? I have no particular attachment to mine since I wrote it a) for play and b) to accomplish what little I needed done and I haven't looked at it much since. 17:31
rje_ m: say (<a>,<b>,<c>)
camelia rakudo-moar ce6569: OUTPUT«(a b c)␤»
rje_ m: put (<a>,<b>,<c>)
camelia rakudo-moar ce6569: OUTPUT«a b c␤»
[Coke] perlpilot: P6's say annoys some P6ers, too! :) 17:32
rje_ So "put" seems more like P5.say
brokenchicken rje_: for non-Str types, put uses the return of .Str method and say uses .gist method... the names of those methods kinda hint at type of output
rje_ I'm just trying to grab it by the horns. 17:33
brokenchicken rje_: yeah, put is the Perl 5's say
If you had 200 elements in that list above, say would've outputted just 100 of them, for example.
rje_ I'm also getting 'helpful help' from IRC. 17:34
brokenchicken rje_: what do you think of LP6 so far?
nicq20 perlpilot: Only if you want to. I'm using it for a small project, and just noticed some bugs. :)
perlpilot nicq20: I'm not using it at all, so you win! ;)
nicq20 perlpilot: Lolz, Ok. :) 17:35
rje_ brokenchicken_: I can answer that best with another gist.
m: gist.github.com/bobbyjim/92bac5c1f...7091baf4a7
camelia rakudo-moar ce6569: OUTPUT«<tmp>␤hello world␤hello world␤「Hama」␤「Hama」␤True␤Matched␤matched␤True␤ Name: .cpanm␤ Modified: 2015-12-07T14:25:48.263804Z␤ Accessed: 2017-01-02T17:15:21.018029Z␤ Changed: 2016-11-12T12:34:04.095425Z␤ …»
brokenchicken isn't sure what the answer is :) 17:36
17:36 domidumont joined
rje_ lol that looks horrible doesn't it? OK the answer is: helpful. 17:36
brokenchicken m: dir[0].^name.say
camelia rakudo-moar ce6569: OUTPUT«IO::Path␤»
brokenchicken that .IO is useless there
m: dir[0].modified.^name.say 17:37
camelia rakudo-moar ce6569: OUTPUT«Instant␤»
rje_ The first LP book taught me Perl umpteen hundred years ago. I think this LP will help me learn P6.
brokenchicken cool :)
rje_ That's the idea anyway. 17:38
brokenchicken and the given {} I guess.
rje_ So $dir.IO is ... ah you're saying there's nothing in the block that uses IO
brokenchicken rje_: no, dir() already gives IO::Paths, so that .IO is a nop 17:39
rje_ I was cutting and pasting in stuff from the chapters.
brokenchicken and the given $dir.IO {} just aliases to $_, so toss the $dir and the given and the $dir.IO; you still got the IO::Paths in the $_
rje_ getting it. slowly. 17:40
brokenchicken and the when {} can be used anywhere, not necessarily in a given {} block. It's possible bdfoy doesn't realize that
rje_ I find I type in three or four different ways to quit the REPL before I try 'exit'.
brokenchicken CTRL+D should do it
rje_ Unix++
17:42 Actualeyes left
rje_ On OSX I might think of CTRL+D. At work, on Windows, staring at a REPL, I tend to think in text mode. 17:42
of course 'bye' is the easiest thing to think of, though it's extremely casual, but then I'm that kind of guy 17:43
brokenchicken rje_: IIRC the Ctrl+D thing is a REPL thing, so it'd work everywhere
rje_ you're probably right
for some reason my instincts lead me elsewhere
brokenchicken yup, just tried on Windows in 2016.11 release
17:43 nicq20 left
rje_ And for goodness' sake, the first line in the REPL says....... "To exit type 'exit' or '^D'" 17:44
Do I listen? noooooo
brokenchicken m: my $pattern = rx/ Hama /; $_ = "Hd"; say $pattern ?? "wat" !! "nope"
camelia rakudo-moar ce6569: OUTPUT«nope␤»
brokenchicken m: my $pattern = rx/ Hama /; $_ = "Hamad"; say $pattern ?? "wat" !! "nope"
camelia rakudo-moar ce6569: OUTPUT«wat␤»
brokenchicken TIL we have this :/
rje_ I like ?? and !!
brokenchicken too magical for my tastest
rje_ Why do you say that? Is there some bizarre-o side effect going on that I'm unaware of? 17:45
brokenchicken I mean the .Bool on Regex in a variable matching against $_ as too magical :) 17:46
lizmat brokenchicken: for @strings { say "match" if $pattern } # sensible syntax for me
rje_ However, say $pattern is quite obscure to me.
17:46 captain-adequate left
rje_ yes 17:46
agree
I'd be scared if I had to debug someone's code that had those thingies in there.
nice lizmat 17:47
awwaiid Is there a recommended benchmark lib/tool? I'm refactoring Inline::Perl5 and want to make sure I know the tradeoff
brokenchicken There's a csv stuff we use 17:48
lizmat brokenchicken: also @strings.grep( { $pattern } )
17:48 huggable joined, ChanServ sets mode: +v huggable
brokenchicken huggable: csv 17:49
huggable brokenchicken, github.com/Tux/CSV (see `bench csv` for how to run bench)
lizmat but that is actually better written as: @strings.grep( $pattern ) # optimized for Regex
brokenchicken lizmat: yeah, those look less weird than this one: gist.github.com/bobbyjim/92bac5c1f...p6-L14-L15
:)
rje_ @strings.grep() is fascinating 17:50
"where's the assignment?" It's implicit. I like it. 17:51
lizmat assignment ??
awwaiid mmm. I can time the overall test suite, that'll be pretty good for now
rje_ If I Understand (IIU), @strings is populated by the grep().
brokenchicken nope 17:52
geekosaur no, it's running grep on the contents, not setting it
rje_ oh crap
okay
brokenchicken rje_: for each thing in @strings, it gets aliased to $_ inside the grep thing
rje_ @found = @strings.grep( $rex )
?
brokenchicken m: my @strings = <foo bar ber>; my @result = @strings.grep: { say "Thing is $_"; $_.starts-with: "b" }; say @result 17:53
camelia rakudo-moar 032040: OUTPUT«Thing is foo␤Thing is bar␤Thing is ber␤[bar ber]␤»
rje_ { $rex }
brokenchicken m: my @strings = <foo bar ber>; my @result = @strings.grep: { say "Thing is $_"; $_.starts-with: "b" }; say "The result is @result[]"
camelia rakudo-moar 032040: OUTPUT«Thing is foo␤Thing is bar␤Thing is ber␤The result is bar ber␤»
rje_ powerfuller
grep + map -ish
brokenchicken m: my @strings = <foo bar ber>; my @result = keys @strings ∖ <bar ber>; say @result 17:54
camelia rakudo-moar 032040: OUTPUT«[foo]␤»
brokenchicken hehe :)
rje_ what the what....
\ removes from set? 17:55
17:55 pmurias joined
brokenchicken No, ∖ does 17:55
m: "∖".uniname.say
camelia rakudo-moar 032040: OUTPUT«SET MINUS␤»
brokenchicken perl6advent.wordpress.com/2016/12/...ggy-types/
rje_ using keys on an array....
brokenchicken nope, it's using keys on the result of @strings ∖ <bar ber> 17:56
which is a Set
rje_ yes, a hash is an array (Perl 4 taught me that), but to think of it that way...
brokenchicken Hash isn't an array :S
m: say Hash ~~ Array
camelia rakudo-moar 032040: OUTPUT«False␤»
rje_ So keys() is not a hash method... 17:57
timotimo well, in theory a hash is an array, but indexing it is quite funky. also, many implementations of hashes actually store the data off of a linked list from the array slots ... so actually hardly like an array at all.
brokenchicken rje_: keys() is a subroutine
brokenchicken feels he pushed rje_ too far in
lizmat m: my @a = ^10; say @a.keys
camelia rakudo-moar 032040: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤»
rje_ understood. But understand I first have to disconnect neurons that scream "KEYS FOR HASHES!"
brokenchicken How about this for something less mind blowing:
rje_ And those neurons are baked in...
brokenchicken m: sub infix:<+> { $^a - $^b }; say 2+2 17:58
camelia rakudo-moar 032040: OUTPUT«0␤»
rje_ Perl4 is not Precambrian, but it's close...
brokenchicken But see what I said above "brokenchic+│ nope, it's using keys on the result of @strings ∖ <bar ber>"
here...
rje_ ah ok yes I didn't get that far
brokenchicken m: my @strings = <foo bar ber>; my $result-set = @strings ∖ <bar ber>; my @result = keys $result-set; say @result 17:59
camelia rakudo-moar 032040: OUTPUT«[foo]␤»
brokenchicken And it doesn't make much sense for there being keys in a set in mathematical sense, but our Set objects are hashlike, with keys being objects in the set and values all being True
rje_ I think my Rakudo doesn't like \
brokenchicken It's not \, it's ∖ 18:00
rje_ uh oh
brokenchicken u: ∖
unicodable6 brokenchicken, U+2216 SET MINUS [Sm] (∖)
brokenchicken u: \
unicodable6 brokenchicken, U+005C REVERSE SOLIDUS [Po] (\)
brokenchicken You want the SET MINUS one
rje_ I see that now, but now I have to connect new neurons at the same time I'm disconnecting old ones. My brain is going to run screaming like a little girl. 18:01
brokenchicken And on SOME fonts they don't look totally identical :P
rje_ let
timotimo there's also the non-unicode variant of set minus, which is (-) 18:02
brokenchicken Ah, yeah :)
rje_ yes, just looked it up
brokenchicken The alternatives are all up here: docs.perl6.org/language/unicode_texas
rje_ that might save some brain cells
docs.perl6.org/routine/(-) 18:03
brokenchicken pfft, bran cells are overrated
rje_ m: my @foo = <foo bar baz> (-) <baz>
camelia ( no output )
timotimo brian cells?
rje_ no, bran cells. he's right.
brokenchicken You need a say or something; to print output
m: my @foo = <foo bar baz> (-) <baz>; say @foo
[Coke] I'm sure a little girl is going to be more neural plastic than you and have an easier time. :P
camelia rakudo-moar 032040: OUTPUT«[set(foo, bar)]␤»
rje_ no brain cells left; have to use bran
Coke is right
TimToady
.oO(egoless thinking)
18:04
rje_ ego is underrated
brokenchicken eggos? I love those waffles!
rje_ at least that's what ego thinks. ah, eggo thinks.
ok 18:05
where was I with sets? OK I can subtract from sets now. I'll use (-) because numeric keypads are scary.
18:06 setty1 left, setty1 joined
rje_ m: my @bar = keys <foo bar baz> 18:06
camelia ( no output )
rje_ sigh
brokenchicken oh, right, I almost forgot about that
rje_ m: my @bar = keys <foo bar baz>; say @bar
[Coke] mmm, eggos.
camelia rakudo-moar 032040: OUTPUT«[0 1 2]␤»
brokenchicken s: [], 'keys', \() 18:07
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/2561...st.pm#L784
rje_ m: my @bar = <foo bar baz> (-) <bar>; say @bar
camelia rakudo-moar 032040: OUTPUT«[set(foo, baz)]␤»
18:07 setty1 left
brokenchicken k, .keys on a list gives you idnexes. neat 18:08
18:08 setty1 joined, mr-foobar left
rje_ m: my @bar = <foo bar baz>; say keys @bar 18:09
camelia rakudo-moar 032040: OUTPUT«(0 1 2)␤»
rje_ duh, an array has keys. they're numeric. a hash has string indexes. I've known this forever; why should it bother me?
brokenchicken m: my @bar = <foo bar baz>; say keys @bar Z @bar
camelia rakudo-moar 032040: OUTPUT«(0 1 2)␤»
brokenchicken m: my @bar = <foo bar baz>; say (keys @bar) Z @bar
camelia rakudo-moar 032040: OUTPUT«((0 foo) (1 bar) (2 baz))␤»
rje_ Z = zip? 18:10
brokenchicken yup
m: my @bar = <foo bar baz>; say zip (keys @bar), @bar
camelia rakudo-moar 032040: OUTPUT«((0 foo) (1 bar) (2 baz))␤»
rje_ I remember that but don't quite grep it yet
m: my @foo = <foo bar>; my @bar = <bar baz>; say @foo Z @bar 18:11
camelia rakudo-moar aba04b: OUTPUT«((foo bar) (bar baz))␤»
brokenchicken It's like a zipper, as you run it it joins teeth from left and right zipper things together. So here it's the same thing, it joines elements from left and right lists together
rje_ yep
brokenchicken And you can give it some op to use
m: my @foo = <foo bar>; my @bar = <bar baz>; say @foo Z=> @bar
camelia rakudo-moar aba04b: OUTPUT«(foo => bar bar => baz)␤»
brokenchicken m: my @foo = <foo bar>; my @bar = <bar baz>; say @foo Z~ @bar
camelia rakudo-moar aba04b: OUTPUT«(foobar barbaz)␤»
rje_ hash construction
18:12 vendethiel- joined
brokenchicken more-or-less. It returns a list of pairs. 18:12
m: my @foo = <foo foo foo>; my @bar = <bar bar bar>; say @foo Z~ @bar
camelia rakudo-moar aba04b: OUTPUT«(foobar foobar foobar)␤»
brokenchicken m: my @foo = <foo foo foo>; my @bar = <bar bar bar>; say @foo Z=> @bar
camelia rakudo-moar aba04b: OUTPUT«(foo => bar foo => bar foo => bar)␤»
brokenchicken m: my @foo = <foo foo foo>; my @bar = <bar bar bar>; say (@foo Z=> @bar).Hash
camelia rakudo-moar aba04b: OUTPUT«{foo => bar}␤»
brokenchicken ^ and they'd collapse in a hash
Perl 6 got Pair objects.
18:15 vendethiel left, lukaramu joined
rje_ ok 18:20
that'll take a bit of thinking 18:21
dalek line-Perl5: 11dcf7d | (Brock Wilcox)++ | .travis.yml:
Bump rakudo version for travis
18:22
line-Perl5: 81135cf | lizmat++ | .travis.yml:
Merge pull request #86 from awwaiid/rakudo-2016.12

Bump rakudo version for travis
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) /; say @foo 18:23
camelia rakudo-moar aba04b: OUTPUT«[「Ham」␤ 0 => 「Ham」]␤»
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) /; put @foo
camelia rakudo-moar aba04b: OUTPUT«Ham␤»
lizmat hmmm... seems a bit appropriate dalek is still doing Inline::Perl5 :-)
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham). :i (DRY) /; put @foo
camelia rakudo-moar aba04b: OUTPUT«Hamadry␤»
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo 18:24
camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo.reverse
camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; put @foo.reverse
camelia rakudo-moar aba04b: OUTPUT«Hamadry␤»
18:24 mr-foobar joined
rje_ m: say <sheet dryer>.reverse 18:25
camelia rakudo-moar aba04b: OUTPUT«(dryer sheet)␤»
rje_ m: my @foo = <sheet dryer>; say @foo.reverse
camelia rakudo-moar aba04b: OUTPUT«[dryer sheet]␤»
brokenchicken FWIW, the bot also takes /msg
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo
camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo.values 18:26
camelia rakudo-moar aba04b: OUTPUT«(「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」)␤»
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo.values.reverse
camelia rakudo-moar aba04b: OUTPUT«(「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」)␤»
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo.keys
camelia rakudo-moar aba04b: OUTPUT«(0)␤»
rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo
camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
rje_ m: my @foo = ('Hamadryas' ~~ / (Ham) . :i (DRY) /); say @foo 18:27
camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
[Coke] and by "takes /msg", brokenchicken means you can experiment in private. 18:28
rje_ m: my @uwp = 'Regina 1910 A788899-C' ~~ /(\w+) (\d+) (\w+)/; say @uwp
camelia rakudo-moar aba04b: OUTPUT«[「1910」␤ 0 => 「19」␤ 1 => 「1」␤ 2 => 「0」]␤»
rje_ oops forgot whitespace thingy 18:29
18:29 Tonik joined
rje_ m: my @uwp = 'Regina 1910 A788899-C' ~~ rx/(\w+) (\d+) (\w+)/; say @uwp 18:29
camelia rakudo-moar aba04b: OUTPUT«[「1910」␤ 0 => 「19」␤ 1 => 「1」␤ 2 => 「0」]␤»
brokenchicken rje_: do you mind doing this in /msg to the bot or in REPL? The 327 people in this channel likely aren't that interested in repeated execution of a regex...
rje_ Sorry 18:30
18:31 xzhao joined 18:35 vendethiel joined 18:36 vendethiel- left 18:44 wamba left
pmurias nqp-m: my $op := QAST::Op.new(:name<null>); say(nqp::istype($op, QAST::Children)); $op.name("foo"); say(nqp::istype($op, QAST::Children)); 18:52
camelia nqp-moarvm: OUTPUT«1␤1␤»
pmurias nqp-m: my $op := QAST::Op.new(:name<null>); say(nqp::istype($op, QAST::Children)); $op.name("foo"); $op.named("foo"); say(nqp::istype($op, QAST::Children));
camelia nqp-moarvm: OUTPUT«1␤0␤»
pmurias ^^ this seems like a bug
nqp-j: my $op := QAST::Op.new(:name<null>); say(nqp::istype($op, QAST::Children)); $op.name("foo"); $op.named("foo"); say(nqp::istype($op, QAST::Children));
Geth oc: fe34000c72 | (Zoffix Znet)++ | doc/Programs/00-running.pod6
List default of RAKUDO_MAX_THREADS
19:02
[Coke] wonders if anyone (aside from [particle] who I haven't seen in years) has setup a DBA or something for Perl 6 support (more in preparation than anything else since there isn't a large footprint out there needing services yet)
brokenchicken wonders what DBA is....
[Coke] "doing business as". or incorporated, or other-wise set up a company. 19:03
masak oh! didn't know that meaning of DBA. 19:09
there's also a :dba directive inside Perl 6 grammars, where it also means "doing business as" 19:10
IIUC it's used to give more cogent error messages when a mismatch happens
of course, in the rest of IT it means "database administrator"... :P
19:10 melezhik_ left
geekosaur depends on the kind of company 19:11
perigrin and the location you're setting the company up in 19:13
mspo DBA depends on context :)
bu twhen I said it the other day I was talking about Doing-Business-As in relation to ICANN
(assuming that was in this channel)
perigrin [Coke]: at a guess I'd say "no more than there is for Perl 5"
19:14 vendethiel left 19:16 grondilu joined
perigrin [Coke]: if nothing else I can think of a few companies that would be willing to take it on if the work presented itself. 19:16
grondilu Hello, #perl6. Question: how can I search voyels, including those with diacritics (e.g. àéèù etc.) 19:17
?
brokenchicken grondilu: wouldn't those be different, depending on the language?
You mean just the aeuoi with any mark, you can use :ignoremark adverb 19:18
grondilu well, I suppose. I'm interested in French.
brokenchicken m: .say for "àéh2è34ùaoauzb".match: :g, :ignoremark, /<[aeuoi]>/ 19:19
camelia rakudo-moar 232641: OUTPUT«「a」␤「o」␤「a」␤「u」␤»
grondilu m: say "été" ~~ m:ignoremark/e/;
camelia rakudo-moar 232641: OUTPUT«「é」␤»
grondilu nice
brokenchicken :(
huf isnt french full of odd multi-letter ways to spell vowels?
or is that a can of worms we dont want to touch right now? :)
brokenchicken s: "àéh2è34ùaoauzb", 'match', \(:g, :ignoremark, /<[aeuoi]>/)
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/fe89...tr.pm#L945
19:20 ChoHag left
brokenchicken has trouble understanding that code :( 19:21
s: /<[aeuoi]>/, 'CALL-ME', \('g', True, %(:ignoremark))
SourceBaby brokenchicken, Something's wrong: ␤ERR: Unhandled exception: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' (from 'gen/moar/main.nqp')␤ at <unknown>:1 (/home/zoffix/services/sourceable/building-perl6/perl6.moarvm:<dependencies+deserialize>)␤
grondilu thing is, I was reading a French wp article about "art of memory": fr.wikipedia.org/wiki/Mn%C3%A9motechnique. I'd like to use /usr/share/dict/french and Perl 6 to make a program that takes a number as input and returns a list of words encoding it.
I think the hassle/usefulness ration would be less than 1 but I'm not sure. 19:22
*ratio
brokenchicken s: /<[aeuoi]>/, 'CALL-ME', \('g', True, %(:ignoremark)) 19:23
SourceBaby brokenchicken, Something's wrong: ␤ERR: Could not find candidate that can do \("g", Bool::True, {:ignoremark})␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
brokenchicken s: /<[aeuoi]>/, 'CALL-ME', \('g', True, :ignoremark)
SourceBaby brokenchicken, Something's wrong: ␤ERR: Could not find candidate that can do \("g", Bool::True, :ignoremark)␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
brokenchicken s: /<[aeuoi]>/, 'CALL-ME', \('g', True, "ignoremark", True)
SourceBaby brokenchicken, Something's wrong: ␤ERR: Could not find candidate that can do \("g", Bool::True, "ignoremark", Bool::True)␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
brokenchicken :(
raschipi u:        19:26
unicodable6 raschipi, Found nothing!
19:26 nicq20 joined 19:27 lmmx joined 19:28 cyphase left 19:30 cdg left
grondilu m: say "foo".subst: /(.) ** 2..*/, $0; 19:32
camelia rakudo-moar 232641: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤␤»
grondilu m: say "foo" ~~ /(.) ** 2..*/;
camelia rakudo-moar 232641: OUTPUT«「foo」␤ 0 => 「f」␤ 0 => 「o」␤ 0 => 「o」␤»
brokenchicken m: say "foo".subst: /(.) ** 2..*/, -> $/ { $0 };
camelia rakudo-moar 232641: OUTPUT«f o o␤»
brokenchicken m: say "foo".subst: /(.) ** 2..*/, { $_[0] }; 19:33
camelia rakudo-moar 232641: OUTPUT«f o o␤»
brokenchicken Your way you're using the current $0, not the one that'll be produce during matching.
grondilu indeed
I'm not sure why f is a match though
m: say "foo" ~~ /. ** 2..*/; 19:34
camelia rakudo-moar 232641: OUTPUT«「foo」␤»
grondilu oh
silly me
how do I state "a letter repeating itself"?
timotimo don't we have something like ww for that?
otherwise backreference with $0 and friends
brokenchicken m: say "baac dddd" ~~ m:g/<ww>/ 19:35
camelia rakudo-moar 232641: OUTPUT«(「」␤ ww => 「」 「」␤ ww => 「」 「」␤ ww => 「」 「」␤ ww => 「」 「」␤ ww => 「」 「」␤ ww => 「」)␤»
brokenchicken m: say "baac dddd" ~~ m:g/<!ww>/
camelia rakudo-moar 232641: OUTPUT«(「」 「」 「」 「」)␤»
brokenchicken m: say "baac dddd" ~~ m:g/.<ww>/
camelia rakudo-moar 232641: OUTPUT«(「b」␤ ww => 「」 「a」␤ ww => 「」 「a」␤ ww => 「」 「d」␤ ww => 「」 「d」␤ ww => 「」 「d」␤ ww => 「」)␤»
brokenchicken m: say "baac dddd" ~~ m:g/.<!ww>/
camelia rakudo-moar 232641: OUTPUT«(「c」 「 」 「d」)␤»
19:36 pecastro left, mr_ron joined 19:37 pecastro joined
grondilu this is obscure to me 19:37
brokenchicken nah, ignore it
it's not-word-boundary IIRC
pmurias is a NQPClassHOW allowed to have parents that are not NQPClassHOW?
brokenchicken m: say "foo".subst: /(.)$0+/, { $_[0] }; 19:38
camelia rakudo-moar 232641: OUTPUT«fo␤»
brokenchicken m: say "foooooosssssss".subst: :g, /(.)$0+/, { $_[0] };
camelia rakudo-moar 232641: OUTPUT«fos␤»
brokenchicken m: say "foooooosssssss".subst: :g, /(.))>$0+/, {$_};
camelia rakudo-moar 232641: OUTPUT«foooooosssssss␤»
brokenchicken :( 19:39
m: say "foooooosssssss".subst/(.))>$0+/, {~$_};
camelia rakudo-moar 232641: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix call␤at <tmp>:1␤------> 3say "foooooosssssss".subst/(.7⏏5))>$0+/, {~$_};␤»
brokenchicken m: say "foooooosssssss".subst: :g, /(.))>$0+/, {~$_}; 19:40
camelia rakudo-moar 232641: OUTPUT«foooooosssssss␤»
brokenchicken :/
oh right
m: say "foooooosssssss".subst: :g, /(.)<($0+/, "";
camelia rakudo-moar 232641: OUTPUT«fos␤»
brokenchicken \o/
grondilu nicely done 19:41
I have no idea what <( means though
19:41 cyphase joined
brokenchicken capture boundary 19:41
like \K in Perl 5 for )>; except we also have <(
m: say "foooooosssssss".comb.squish.join
camelia rakudo-moar 232641: OUTPUT«fos␤»
mr_ron Looking for feedback on a new module github.com/ronaldxs/Perl6-US-ASCII. If there are other/better places for such discussion please say ... I was directed here from another chan
grondilu oh yeah, that's pretty smart
brokenchicken mr_ron: that distro is broken. Your META file is missing some of the files in lib/ 19:43
m: "foooooosssssssooooossssooooss".comb.squish.join.say
camelia rakudo-moar 232641: OUTPUT«fososos␤»
mst brokenchicken: github.com/perl6/doc/commit/ade320...t-20472280
grondilu oh yeah squish can be used indeed
brokenchicken m: "foooooosssssssooooossssooooss".comb.squish.join.say; say now - INIT now 19:44
camelia rakudo-moar 232641: OUTPUT«fososos␤0.00346733␤»
brokenchicken m: for ^1000 { "foooooosssssssooooossssooooss".comb.squish.join.say }; say now - INIT now
camelia rakudo-moar 232641: OUTPUT«fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososos␤fososo…»
brokenchicken >_<
m: for ^1000 { "foooooosssssssooooossssooooss".comb.squish.join }; say now - INIT now
camelia rakudo-moar 232641: OUTPUT«0.1059373␤»
brokenchicken m: for ^1000 { "foooooosssssssooooossssooooss".subst: :g, /(.))>$0+/, "" }; say now - INIT now
camelia rakudo-moar 232641: OUTPUT«0.5617486␤»
brokenchicken neat, squish is faster too!
mst: surprised to see teh name of the author of that commit. I have zero recollection of writing that. 19:46
mst brokenchicken: maybe you'll have better luck remembering after you rewrite it? :P 19:47
brokenchicken mst: I've no idea what that channel is for... Should that commit just be removed from docs?
mst probably not
er, that channel is for the toolchain. it's where compunitrepository, zef, etc. get discussed normally
brokenchicken Oh, I'd no idea :)
mst similar to irc.perl.org's #toolchain covering CPAN.pm, Makefile.PL, Build.PL etc.
brokenchicken You seem to have a good idea of what it should say... you got the commit bit, right? :) 19:48
Sent you an invite 19:49
to perl6 org
19:50 vendethiel joined
mst oh dear 19:50
brokenchicken ^_^
mst but, yes, I suppose I can attempt to rewrite it
brokenchicken mst++ thanks
mst it's becoming increasingly apparent that you've no idea what you're talking about, so if you review the results to compensate for my having no idea how to write documentation the end result hopefully will make us both look smarter than we actually are :D 19:51
brokenchicken :)
19:53 labster joined
grondilu any French person here? I'm wondering if it's possible to write a regex that would distinguish a 'c' pronounced 's' and a 'c' pronounced 'k' 19:53
probably doable but tough 19:54
raschipi Does it have anything to do with the way vowels are placed arond it?
arnsholt I think that should actually be doable
grondilu yes
arnsholt French orthography is terrible and atrocious in many ways, but IIRC the c is quite deterministic 19:55
grondilu there are quite a few rules. Not many exception, but still lots of rules
arnsholt At least c before vowel
grondilu but if the voyel is 'e', then it's pronounced 's' I think 19:56
raschipi Ça va.
arnsholt [aou] gives k, [eiy] gives s
19:56 raschipi left
grondilu I'm French but I'm actually not sure there is any case where the 'c' is pronounced 'k' before a 'e' 19:56
arnsholt Pretty sure there isn't 19:57
(I'm a foreigner, so we had to drill this shit =)
In fact, I'm not sure if French phonotactics are all too happy with a back consinant like /k/ and then a front vowel like /e/ 19:58
mr_ron brokenchicken: added one more module to provides in META6.json (not sure if right place). Installs with zef on my system now.
arnsholt And I think c before consonant will generally be k
grondilu that's almost certain indeed 19:59
arnsholt And the k before [aou] is pretty set as well, because you use the cedilla when you want it to be s
grondilu eventually googles it and finds www.maxicours.com/se/fiche/7/1/13971.html 20:00
also fr.wikipedia.org/wiki/C_(lettre)#Fran.C3.A7ais 20:01
I should be able to write this mnemotechnic program I'm thinking of, but it will require some work.
arnsholt Right, so no objections to our rules there then
Although the "zinc" example is interesting 20:02
Didn't think of word-final c
grondilu yeah I forgot those
arnsholt For your purposes, you can probably ignore the distinction between g and k
grondilu I doubt it, it seems important for the purpose. 20:03
oh wait actually you're right, Q, K Gu all code the number 7 20:04
(that's convenient)
20:04 rje_ left 20:05 labster left
arnsholt grondilu: Well, I have no idea what you need this for, so I'm just guessing at this point =) 20:05
20:05 girafe joined
mr_ron Looking for feedback on fitness of US-ASCII module for ecosystem. If no other objection will add it I guess. 20:06
brokenchicken Add it :) 20:08
jdv79 mr_ron: what does it do?
and where is it
mr_ron github.com/ronaldxs/Perl6-US-ASCII
20:11 vendethiel left 20:12 labster joined, labster left 20:13 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'List default of RAKUDO_MAX_THREADS' 20:13
travis-ci.org/perl6/doc/builds/191728118 github.com/perl6/doc/compare/f5175...34000c721d
20:13 travis-ci left 20:18 vendethiel joined 20:23 bjz joined
brokenchicken m: say "à".match: /:ignoremark <[aeuoi]>/ 20:27
camelia rakudo-moar 232641: OUTPUT«「à」␤»
brokenchicken Earlier where it didn't work above... :ignoremark and :ignorecase need to be inside regex, as they affect how it's compiled.
(or on the rx//, m//, s///, S/// thing) 20:28
jnthn mr_ron: Just had a quick glance at the module; I think putting those tokens in a role would be more natural
So they're easily composed into other grammars
mr_ron jnthn: will do but don't understand why role is better than simple inheritance ?? 20:29
jnthn Because if I am composing my grammar out of various pieces I'll have a chance to find out about conflicting tokens
Whereas with inheritance I get...whatever is first in the C3 MRO 20:30
Which is less simple to reason about :)
dugword inheritance is fine when you have a single sub class, but it gets really murky and awful once you start doing multiple inheritance. Roles are much more easy to compose
20:31 grondilu left
mr_ron thanks ... will try to research further and make the needed changes 20:31
20:31 troys is now known as troys_
dugword www.youtube.com/watch?v=cjoWu4eq1Tw A good video on the subject. He uses perl5 moose but the object system in perl6 is very similar 20:32
arnsholt "Not as advanced as the stuff Damian or jnthn puts out, but also not as funny." ^.^ 20:34
mst mr_ron: because a role is simpler than inheritance. 20:38
DBIx::Class leans very heavily on the C3 MRO, and it's a ridiculously powerful approach, but roles are much easier to reason about and debug 20:39
20:39 domidumont left
arnsholt Given that Ovid just mentioned C3 in that video: "I find [it] about as useful as an icepick on the Titanic" =) 20:40
Possibly with a "usually" mixed in
samcv do we have a good YAML parser?
i saw there is one but I have not used it yet
20:40 vendethiel left
mst arnsholt: well, yeah, he had a lot of trouble understanding roles, and C3 is significantly harder 20:41
I've seen classes he wrote that compose in ten or fifteen roles, all of which are just bags of utility functions
those are ... interesting to unpick 20:42
usually into a mixture of imported subroutines and delegation to sub-objects
jnthn samcv: I used it in $dayjob project. My main complaint is that it's not got good error reporting.
arnsholt Ow. That sounds a bit over-eager in its application of roles =) 20:43
samcv 0 bytes to the right of the data structure. uhm.
arnsholt samcv: Just outside of the bounds
jnthn So if you write correct YAML life is good. :P
samcv ok then i know what the problem probably is
mst arnsholt: yeah, I mean, it's a common programmer failure mode
I mean, perl5 programmers usually have a stage where they go "ooh lots of syntax, let's use as much of it as possible" 20:44
then they discover Moose and try and meta ALL the things
samcv i think this cropped up when I stopped using an int i in the loop and declared it above. and iterated down instead of up
arnsholt True, true
samcv so that makes sense
RabidGravy ah, arnsholt github.com/arnsholt/Net-ZMQ/pull/9 if you have a moment
mst I didn't fall down that particular rathole with roles, but I've fallen down most of the others
and by the time I got to roles, I modeled them as 'C3 MI except comprehensible' so I suspect I'd already shot my foot off a couple times with MI and that informed my choices 20:45
samcv yeah this ASAN report it's 8 bytes and 0 to the right, so it's probably accessing the pointer. 20:46
would be nice if ASAN said, XX is starts 0 bytes to the right of YYY 20:47
would be more clear
20:50 vendethiel joined 20:53 cdg joined
DrForr Interesting buglet I just caught - Errors that are truncated like "List ($(Long::Type::Nam...)" don't balance thei parens. 20:53
Should "really" be "List ($(Long::Type::Nam...))" IMO, at least to keep editors happy. 20:54
moritz the times we live in... today we needed a MicroSD card for a mobile phone, just to get some pictures to a cheap feature phone. My wife asked what size, and I said "the smallest. Or cheapest" 20:55
she came back with a 32GB MicroSD card, because it was the cheapest. 5€.
DrForr Scare-quotes around "really" because of course that requires the truncator to be much smarter, and balance its output when "needed". 20:56
moritz and I remember when I first had my own computer, with only floppy discs to exchange data between my PC and the PC with internet access
RabidGravy yeah, I've got a bowl here full of 2GB ones,
DrForr They give away 32G cards in the RPi bags, back when I was buying my DSLR I only got an 8Gb because it was the largest I could afford. 20:57
RabidGravy I tried to get am 8GB usb drive a few weeks ago, no deal, had to get a 32
21:00 bjz left
RabidGravy on the other hand I do have at least one device that balks at a 16GB CF card, which is a pain as the 4GB ones are hard to get and more expensive 21:01
Geth cosystem: nicqrocks++ created pull request #286:
Take over Git::Wrapper
21:02
cosystem: d9501a37fb | Nic++ | META.list
Take over Git::Wrapper (#286)

Given permission by @perlpilot, (see: irclog.perlgeek.de/perl6/2017-01-13#i_13915698) I would like to take over maintenance of the Git::Wrapper module.
samcv why is lenovo's site always broken…
21:05 lmmx left 21:06 lmmx joined 21:08 lmmx left, lmmx joined 21:10 lmmx left 21:11 lmmx joined 21:12 vendethiel left 21:15 lmmx left 21:17 lmmx joined 21:18 ChoHag joined, lmmx left, lmmx joined
jdv79 so it looks like i have supply { loop { emit() } } and emit doesn't seem to do anything 21:21
but remove the loop {} and it works
brokenchicken umm.. what does it emit? 21:24
El_Che are all modern democracies about delegating power to a prince for a time? 21:25
brokenchicken like what's the actual code 21:26
El_Che oops 21:27
jdv79 i'm golfing it
El_Che ignores El_Che
21:30 nicq20 left
jdv79 oh, i think its because its .act'ed 21:32
and the loop never ends
i lifted the loop and used .tap and it seems happier. thanks . 21:33
brokenchicken Why would that matter?
it's only executed until an emit 21:34
[Coke] rant: can't easily convert comments on commits into github tickets. 21:36
mst: converted your comment into a ticket so someone can act on it.
mst [Coke]: ta 21:39
[Coke]: I think I got 'well volunteered' for it, but that doesn't mean I'll get to it soon
[Coke] eh, seems like one of the easier tickets, I may get to it this weekend. 21:40
[Coke] might need to install some sort of VM so he's not crippled by $DAYJOB's security stuff.
(makes working on doc stuff SUPER slow.)
¿⋊ᴚOM SIH⊥ SƎO◖ 21:42
aha! I can paste in unicode if I'm using tmux, but not when doing tmux -CC
mspo [Coke]: a lot of corp/windows virus scanners have excluded directories 21:43
[Coke]: if you find the config you can put everything in the excludes and things speed way up
at least assuming it's doing the mcaffee read-every-IO-op thing 21:44
21:45 troys_ is now known as troys, perlpilot left, troys is now known as troys_, troys_ is now known as troys
brokenchicken I have the strangest of problems: I'm failing at turning on the air conditioner because the motor is frozen solid. 21:51
21:52 ssotka joined
jnthn If it's so cold, why do you need air conditioning? Or does the conditioner also provide heating? 21:53
timotimo just make it cool the outside 21:55
brokenchicken Haha! Because the heating in my apartment is so damn hot that sometimes it's way too hot in my bedroom, despite the balcony window and doors open... So how come I don't just open a window in my bedroom? It's cause there's barely any window sil on it and I'm on the 8th floor, with a parking lot below it. Fearing the aircon would fall out, I essentially glued it into the window with expanding foam. So what the
hell was I thinking when I did that? I thought, "hey, the 'fan-only' setting on this aircon surely sucks the air from the outside" but no, the fan-only setting just circulates the air inside for no reason.
So once in a while I run the aircon in my room for a few minutes, but last night I forgot about it and it ran for awhile, generating a lot of condensation that now froze :P 21:56
I managed to make it turn now, but looks like there's a chunk of ice on the fan, making it unbalanced and noisy :P
timotimo yikes 21:57
22:00 jeepc joined
samcv ok I fixed ASAN 22:02
oops wrong room
jeepc Hi, I still have a question on perl6 grammar. I have an issue with simple quote. My testcase is gist.github.com/anonymous/fa686cee...f5d9116a5. I don't understand why simple quote are not captured by the regex <expr2txt> defined as {:s .+} 22:04
I tried to give complete explanation with the code ... 22:05
Thanks for your help.
brokenchicken jeepc: prolly 'cause rules don't backtrack. Change expr2 from rule to regex 22:09
22:09 espadrine joined
brokenchicken recalls a wise voice saying backtracking in grammars is a smell... 22:09
jeepc Many thanks. 22:10
I'm checking.
Of course, this is perfect. Many thanks for your quick help. 22:12
DrForr As a side note - I'd generally stick with {rule,token} names inside a grammar, just as a style thing.
And [<foo>]* is easie to write as <foo>*. 22:13
jeepc You are right
DrForr In the longer term, <expr1> and <expr2> will probably merge into one term. 22:17
22:18 skids left 22:22 go|dfish joined 22:23 rindolf left, bleh_ joined
moritz and if you want to parse a quoted string, the inside usually parses as <-[$delimiter]>* 22:25
much better than .+ and backtracking
22:26 bleh_ left, mcsnolte joined 22:30 troys is now known as troys_ 22:32 pecastro left 22:38 pecastro joined 22:39 cxreg2 is now known as cxreg 23:13 RabidGravy left 23:19 DarthGandalf left
jdv79 brokenchicken: youre right. it was something else that got changed indirectly. 23:22
23:27 lmmx left 23:28 lmmx joined, raschipi joined 23:29 oldblue137 left 23:31 lukaramu left 23:34 newbie1 left 23:36 raschipi left
samcv how do you define new methods for lets say the Str type? 23:37
23:38 espadrine left
lizmat m: augment class Str { } 23:38
camelia rakudo-moar 0ffce7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤augment not allowed without 'use MONKEY-TYPING'␤at <tmp>:1␤------> 3augment class Str7⏏5 { }␤ expecting any of:␤ generic role␤»
lizmat m: use MONKEY-TYPING; augment class Str { } 23:39
camelia ( no output )
samcv ok cool :)
23:42 lmmx left, lmmx joined 23:43 cdg left, lmmx left
brokenchicken perl6.party/post/Hacking-on-Rakudo-...x-Your-Fix # seems topical 23:45
23:49 yqt joined
samcv where is JSON::Faster 23:52
hah. trying to dump 10MB of data is slow :P
i don't need json can be anything… i suppose i could just like use a data dumper instead 23:53
what's the fastest data dumper module?
23:53 AlexDaniel joined
AlexDaniel o/ 23:54
woah… what a day
23:54 troys_ is now known as troys 23:55 DarthGandalf joined
brokenchicken What makes it whoahy? 23:57
23:59 cibs left