Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-01-13

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 samcv cale2, a lot of the nqp routines map basically directly to VM actions. so provides that layer
00:01 samcv between vm and rakudo
00:02 cpage_ joined #perl6
00:03 Ven joined #perl6
00:23 Ven joined #perl6
00:27 Ben_Goldberg joined #perl6
00:27 skids joined #perl6
00:29 cpage_ joined #perl6
00:30 drrho joined #perl6
00:38 Actualeyes joined #perl6
00:40 cpage_ joined #perl6
00:44 Ven joined #perl6
00:47 samcv nice the new warnings for the deprecated names look great https://a.uguu.se/pSAMBxqa4mY4_​Screenshot_20170112_164656.png
00:48 samcv and programs will continue to work but it will give them a warning to change their code.
00:48 pyrimidine joined #perl6
00:50 timotimo nice work
00:52 samcv timotimo, any idea how long we would deprecate it?
00:52 samcv i don't really care, just curious
00:54 samcv don't think anybody is using them
00:55 inra joined #perl6
00:55 AlexDaniel possibly until 6.d :|
00:55 AlexDaniel assuming somebody was actually using them
00:55 AlexDaniel and if nobody did, why bother with the error message at all? :)
00:56 samcv hm
00:56 samcv idk it's still good policy
00:56 samcv whatever i don't really care super much
00:56 samcv 6.d is fine, or could be shorter idk. i think can be shorter based on 6.c-errata
00:56 samcv and CARRIAGE RETURN (CR) and other unicode 1 names are no longer in it
00:57 samcv so it potentially could be shorter
00:58 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 #perl6
01:00 samcv nqp-j: say("\c[BELL]")
01:00 samcv nqp-jvm: say("\c[BELL]")
01:00 camelia nqp-jvm: OUTPUT«Error occurred during initialization of VM␤Could not allocate metaspace: 1073741824 bytes␤»
01:00 samcv j: say("\c[BELL]")
01:00 camelia rakudo-jvm fb4f16: OUTPUT«␤»
01:01 samcv ah kk so the error is on that as well. will have to fix that once I finish fixing it on Moar
01:04 drrho joined #perl6
01:16 shayan_ joined #perl6
01:23 Ven joined #perl6
01:26 Ben_Goldberg joined #perl6
01:32 dalek joined #perl6
01:33 AlexDaniel m: ‘Hello’.encode(‘UTF-8’).list.say
01:33 camelia rakudo-moar f10b09: OUTPUT«(72 101 108 108 111)␤»
01:33 AlexDaniel m: ‘Hello’.encode(‘UTF-16’).list.say
01:33 camelia rakudo-moar f10b09: OUTPUT«(72 101 108 108 111)␤»
01:33 AlexDaniel ಠ_ಠ
01:35 pyrimidine joined #perl6
01:38 Actualeyes joined #perl6
01:41 [Coke] no, pugs didn't use nqp
01:44 Ven joined #perl6
01:50 leego joined #perl6
01:55 leego joined #perl6
01:58 pyrimidine joined #perl6
02:01 FROGGS_ joined #perl6
02:04 telex joined #perl6
02:10 pyrimidine joined #perl6
02:14 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 samcv how do i get this to work?
02:15 samcv m: my %var; %var{'value'}{'thing'} = 'test'; say %var.perl
02:15 camelia rakudo-moar f10b09: OUTPUT«{:value(${:thing("test")})}␤»
02:15 samcv this is what i want
02:20 geekosaur samcv, you don't, you can't change the value into a hash by changing the shape of the key
02:21 geekosaur you must change the shape of the value
02:21 geekosaur (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)
02:21 samcv the type i can change fine
02:21 samcv well i can change the type of $pair's value
02:22 samcv so what type do i want?
02:22 geekosaur no, I mean you specify the key type in the hash
02:22 samcv how do I do that?
02:22 geekosaur but you still can't change the shape of the value by changing the key
02:22 samcv i need to pass in parts of a hash to a routine
02:22 samcv well to know where in the main hash to put specific things
02:23 Ven joined #perl6
02:23 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
02:23 geekosaur again, the shape of the value is not determined by the shape of the key
02:24 geekosaur 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
02:24 samcv well how can I do what I want? i mean i can make the values passed into the sub whatever I want
02:24 samcv so i can specify where in the data structure to put it
02:25 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")})}␤»
02:25 AlexDaniel dunno
02:25 AlexDaniel why do you have a pair in the first place? :)
02:25 samcv it doesn't have to be a pair
02:26 geekosaur AlexDaniel, what I understand is they want to specify a path within a hash of hashes of ...
02:26 samcv ^
02:26 samcv that
02:26 geekosaur so [foo, bar, baz] indexes %h{foo}{bar}{baz}
02:26 samcv i'm investigating ways to rewrite the unicode database generation script. so I have  agood outline before I start
02:26 AlexDaniel cool
02:27 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 #perl6
02:27 samcv other one?
02:27 geekosaur m: my %h{Pair}; $h{foo => 1} = 2; dd %h
02:27 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␤»
02:27 geekosaur whoops
02:27 geekosaur m: my %h{Pair}; %h{foo => 1} = 2; dd %h
02:27 camelia rakudo-moar f10b09: OUTPUT«Hash[Any,Pair] %h = (my Any %{Pair} = (:foo(1)) => 2)␤»
02:27 skids m: my %var := :{}; %var{a=>1} = "foo"; %var.perl.say
02:27 camelia rakudo-moar f10b09: OUTPUT«:{(:a(1)) => "foo"}␤»
02:28 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.
02:29 AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; say [%x, ‘foo’, ‘bar’ , ‘baz’].reduce({ $^a{$^b } })
02:29 camelia rakudo-moar f10b09: OUTPUT«42␤»
02:30 AlexDaniel so you just reduce with { $^a{$^b} }
02:31 AlexDaniel does not look like a good solution right, but it works?
02:31 geekosaur does that yield an lvalue?
02:31 AlexDaniel not really
02:32 AlexDaniel well it does, if
02:33 AlexDaniel 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␤»
02:33 AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; say [%x, ‘foo’, ‘bar’].reduce({ $^a{$^b} })<baz>
02:33 camelia rakudo-moar f10b09: OUTPUT«42␤»
02:33 AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; [%x, ‘foo’, ‘bar’].reduce({ $^a{$^b} })<baz> = 69
02:33 camelia rakudo-moar f10b09: ( no output )
02:33 AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; [%x, ‘foo’, ‘bar’].reduce({ $^a{$^b} })<baz> = 69; dd %x
02:33 camelia rakudo-moar f10b09: OUTPUT«Hash %x = {:foo(${:bar(${:baz(69)})})}␤»
02:33 geekosaur ok, so pop last component off and index that separately to get an lvalue. looks doable
02:34 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
02:36 geekosaur 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
02:36 camelia rakudo-moar f10b09: OUTPUT«Hash %x = {:foo(${:bar(${:baz(69)})})}␤»
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
02:36 camelia rakudo-moar f10b09: OUTPUT«Hash %x = {:foo(${:bar(${:baz(69)})})}␤»
02:36 AlexDaniel hehe
02:37 samcv if you can get a good working example i'll just define a new operator or something
02:37 skids [;]
02:37 AlexDaniel skids: not anymore!
02:37 AlexDaniel or what did you mean by that? :)
02:37 skids m: my %target := fee => { fie => { foo => "fum" } }; %target.perl.say; %target{"fee";"fie";"foo"}.perl.say
02:37 camelia rakudo-moar f10b09: OUTPUT«:fee({:fie(${:foo("fum")})})␤("fum",)␤»
02:37 skids need a [;]
02:38 AlexDaniel :OO
02:38 skids for psuedo-dimensional
02:38 geekosaur samcv, that path sub would work fine esp. if you did it instead as a special postcircumfix op
02:38 samcv which one should I use?
02:38 geekosaur ah. but can you do that dynamically too?
02:38 geekosaur that is, I'm given @path not a static list
02:39 geekosaur (and, without using EVAL)
02:39 AlexDaniel m: my %x = foo => { bar => { baz => 42 } }; %x{‘foo’; ‘bar’; ‘baz’} = 69; say %x{‘foo’; ‘bar’; ‘baz’}
02:39 camelia rakudo-moar f10b09: OUTPUT«(69)␤»
02:39 samcv yeah i thought about hacking it with eval but that's bad
02:39 skids right, we could if I could figure out a dimension-slice constructor, but [;] doesn't parse.
02:39 samcv and a terrible solution.
02:39 samcv what is this [;]
02:40 skids samcv: it would be a reduce-to-list-of-lists, if it worked.
02:40 samcv is ; an operator?
02:40 skids (or well, not lol but a dimesional slice)
02:40 skids m: (1;2;3).perl.say
02:40 camelia rakudo-moar f10b09: OUTPUT«(1, 2, 3)␤»
02:40 skids it's a second level comma.
02:41 samcv ahhh ok
02:41 samcv and where does that mean that and not end of statement
02:41 AlexDaniel I've never thought that it is going to work in a hash
02:41 skids samcv: in lists and hash indices
02:41 samcv also is there some texas version
02:41 samcv ah ok
02:42 astj joined #perl6
02:46 geekosaur texas version? of standard ascii? (welcome to the land of trigraphs...)
02:46 AlexDaniel geekosaur: if @a == 2 { %x{@a[0]; @a[1]} } elsif @a == 3 { %x{@a[0]; @a[1]; @a[2]} } … … … … :)
02:46 Ven joined #perl6
02:46 telex joined #perl6
02:46 samcv i mean second level list operator. but
02:46 AlexDaniel what if you pass it an array that is dimensioned like that
02:46 samcv i mean i don't like things which mean different things in multiple contexts
02:46 AlexDaniel samcv: you're saying that as a maintainer of atom-language-perl6, right? ;)
02:46 skids Note that one should consider what beavior one wants with actual, rather than pseudo, multidimensional hashes.
02:46 samcv hah
02:46 samcv atom-language-perl6 doesn't know about ; really. generally it's by line or by start regex and ending regex (multi line)
02:46 * skids goes synopsis diving
02:48 ilbot3 joined #perl6
02:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:51 astj_ joined #perl6
02:53 tardisx joined #perl6
02:54 skids Hrm, not much in synopsis..
02:55 tardisx joined #perl6
02:57 samcv :(
02:58 AlexDaniel skids: don't you think this ↑ is supposed to work?
02:59 skids Complicated question.
02:59 samcv bisectable6, my %x = foo => { bar => { baz => 42 } }; my @z[1;3] = ((‘foo’, ‘bar’, ‘baz’),); say %x{@z}
02:59 bisectable6 samcv, Bisecting by output (old=2015.12 new=f10b09e) because on both starting points the exit code is 0
02:59 cpage_ joined #perl6
02:59 AlexDaniel no it never worked
02:59 bisectable6 samcv, bisect log: https://gist.github.com/863f​d9f6be05cdd71ff0733ad79eec8d
02:59 bisectable6 samcv, (2016-04-05) https://github.com/rakudo/rakudo/commit/​6a2ff75a61fdd49b55eec8dcb647a6822dac090b
02:59 AlexDaniel the output changed a bit
02:59 AlexDaniel commit: 6a2ff75a61^,6a2ff75a61 my %x = foo => { bar => { baz => 42 } }; my @z[1;3] = ((‘foo’, ‘bar’, ‘baz’),); say %x{@z}
02:59 committable6 AlexDaniel, ¦«6a2ff75a61^»: (bar => baz => 42 (Any) (Any))␤¦«6a2ff75»: ({bar => {baz => 42}} (Any) (Any))
02:59 AlexDaniel that's what bisectable is pointing at
03:00 samcv .perl is more stable maybe?
03:00 samcv bisectable6, my %x = foo => { bar => { baz => 42 } }; my @z[1;3] = ((‘foo’, ‘bar’, ‘baz’),); say %x{@z}.perl
03:00 bisectable6 samcv, On both starting points (old=2015.12 new=f10b09e) the exit code is 0 and the output is identical as well
03:00 bisectable6 samcv, Output on both points: (${:bar(${:baz(42)})}, Any, Any)
03:00 samcv yea
03:00 skids A while back we decided we liked this accidental behavior:
03:00 AlexDaniel it's not the stability, the output is just curlified
03:00 skids m: my @target := [1,[2,[3,4]]]; @target.perl.say; @target[(1,),(1,),(0,)].perl.say
03:00 camelia rakudo-moar f10b09: OUTPUT«[1, [2, [3, 4]]]␤(($[2, [3, 4]],), ($[2, [3, 4]],), (1,))␤»
03:00 skids ...and a lot of the multidim stuff was not even considered during the GLR.
03:01 skids So the old idea that a list-of-lists means "go multidimesional" is perhaps old.
03:01 skids But that leaves us wondering what a (;;;) list is...
03:02 AlexDaniel commit: all my @x[2;3]
03:02 skids Way back we used to have a lol type.
03:02 Actualeyes left #perl6
03:02 committable6 AlexDaniel, https://gist.github.com/99fc​a641812dae4b2c89975f3d405527
03:03 Ven joined #perl6
03:03 AlexDaniel in fact, there were no shaped arrays during the GLR so vOv
03:04 skids Right.  I forget whether pre-rakudo implementations did them.
03:05 skids But, I cannot explain that hash slice behavior at all... probably that area of code is rather full of NYIs.
03:06 skids From doing work with the array slices, I know that area of code is best approached well slept.
03:08 samcv so what _should_ work then? i mean what do we want to be able to work if this is NYI?
03:11 skids Arrays are more complete so clues can be sought there.
03:11 skids m: my @target := (1,2,3;4,5,6;7,8,9); @target.perl.say; @target[(0,1);1;0].perl.say
03:11 camelia rakudo-moar f10b09: OUTPUT«((1, 2, 3), (4, 5, 6), (7, 8, 9))␤(2, 5)␤»
03:11 skids m: my @target := (1,2,3;4,5,6;7,8,9); @target.perl.say; @target[(0,1),1,0].perl.say
03:11 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))␤»
03:12 skids dimensional ; seems to be syntactical.
03:13 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)})})}␤»
03:13 AlexDaniel samcv: ↑ this is not too bad isn't it?
03:14 samcv nope that's not bad
03:14 labster joined #perl6
03:16 * skids wonders what »{} is supposed to do.
03:18 skids 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 #perl6
03:19 AlexDaniel or not
03:19 skids It .kv's them and then indexes
03:19 AlexDaniel I have no idea what » does actually
03:19 AlexDaniel m: my %x = ‘a’ => { ‘foo’ => 42 }, ‘b’ => { ‘bar’ => 90 }; say %x».succ
03:19 camelia rakudo-moar f10b09: OUTPUT«{a => {foo => 43}, b => {bar => 91}}␤»
03:19 AlexDaniel like, who'd expect that?
03:20 pyrimidine joined #perl6
03:21 xtreak joined #perl6
03:21 skids Oh right, hypers tree.
03:21 skids but... why no .succ on the Strs.
03:22 skids joined #perl6
03:22 skids damn gnome gestures, gotta go turn  that off.
03:23 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)␤»
03:23 samcv also what is going on here
03:23 Ven joined #perl6
03:24 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:28 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␤␤»
03:29 samcv dammit
03:29 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␤␤»
03:29 samcv it can't seem to add items though
03:29 samcv just modify
03:35 AlexDaniel it just cannot do it in one go
03:36 AlexDaniel samcv: but if you modify it just a little bit
03:37 AlexDaniel 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 #perl6
03:37 samcv perfect AlexDaniel++
03:38 hartshorn joined #perl6
03:38 * skids wonders how that works without any <-> or "is rw" on the subs.
03:40 hartshorn joined #perl6
03:41 skids ah.  Because objects are all that's used there.
03:41 skids m: sub idx (\a, \b) is rw { a{b} }; my %x = :a(1); idx(%x,<a>) = 4; %x.say;
03:41 camelia rakudo-moar f10b09: OUTPUT«{a => 4}␤»
03:42 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␤␤»
03:42 skids m: sub idx (\a, \b) is rw { a{b} }; my %x = :a(:1b); (%x,"a","b").reduce(&idx) = 4
03:42 Ven joined #perl6
03:42 camelia rakudo-moar f10b09: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at <tmp> line 1␤␤»
03:42 skids :(
03:44 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␤␤»
03:44 skids Darn.
03:46 TEttinger joined #perl6
03:52 notostraca joined #perl6
03:53 cpage_ joined #perl6
03:56 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:57 skids Oh, unary hypers do tree lists.
03:57 skids That makes better sense.
03:58 shayan_ joined #perl6
03:58 hartshorn hello
04:00 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))␤»
04:01 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))␤»
04:01 skids Methinks the docs moght be mistaken.
04:02 Ven joined #perl6
04:05 hartshorn skids it's just you?
04:05 skids Everyone else suddenly got quiet.
04:06 hartshorn weird
04:06 hartshorn how are you making camelia do that?
04:07 TEttinger joined #perl6
04:08 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))␤»
04:08 TimToady don't really need the *
04:11 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:12 geekosaur isn't there still a bunch of stuff from pre-glr (and hypers changed quite a lot in glr's wake)?
04:14 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
04:15 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
04:16 geekosaur and do actual docs instead of trying to fix them
04:16 geekosaur but that means you get docs written from speculations that didn't necessarily happen as such
04:16 TimToady hyper infixes are supposed to replicate any deficient dimension if the » is pointing that way
04:17 TimToady which is what it looks like it's doing
04:18 TimToady 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?
04:19 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
04:20 TimToady of course, APL doesn't do hashes...
04:20 skids samcv: example operands and desired results?
04:20 samcv sec
04:22 samcv https://gist.github.com/9555​fb141eca8f0da718fd6e26a0620f
04:22 Ven joined #perl6
04:22 samcv the print out is {0000 => {NameAlias => {NULL => {type => control}}}}
04:22 samcv {0000 => {NameAlias => {NUL => {type => abbreviation}}}}
04:22 samcv ${:NameAlias(${:NUL(${:type("abbreviation")})})}
04:23 samcv so apply-to-cp gets those first two i pasted, and the result %points{0} is the last line
04:23 samcv as you can see it overwrote it as I knew it would, but I want to be able to get NUL and NULL
04:24 samcv if you want to test ftp://ftp.unicode.org/Public/U​CD/latest/ucd/NameAliases.txt put it in a folder called UNIDATA one level below the script
04:26 Actualeyes joined #perl6
04:27 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 samcv not just a single one like in this example
04:29 skids Ah so you want sort of like Hash.append but not quite.
04:30 skids m: say { :1a }.append: { :2a }
04:30 camelia rakudo-moar f10b09: OUTPUT«{a => [1 2]}␤»
04:32 shayan_ joined #perl6
04:35 skids I'm kinda too tired to try to write that.
04:40 cpage_ joined #perl6
04:43 Ven joined #perl6
04:46 faraco joined #perl6
04:47 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 faraco I got the META6.json
04:48 faraco but..the top level subdirectory..means?
04:49 faraco do I need to change my lib/Module/Name to Perl6/Module/Name
04:49 faraco uploading to CPAN.
04:49 skids Or maybe just stuff the whle module in a Perl6 subdir?  I dunno.
04:50 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")})})}]
04:50 samcv but i want them to be part of the same
04:52 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
04:52 samcv exactly
04:53 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:54 samcv yeah
04:55 samcv the old unicode database gen script just uses references to accoplish it but we have no references in perl 6
04:55 samcv 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
04:55 samcv only rewrite once etc.
05:03 Ven joined #perl6
05:03 samcv huh skids it may be simpler than I thought
05:03 samcv m: my %hash = 1 => 'hi'; my %hash2 = 2 => 'hello'; my %new = (%hash, %hash2); say %new.perl
05:03 camelia rakudo-moar e7c1d5: OUTPUT«{"1" => "hi", "2" => "hello"}␤»
05:05 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.
05:05 samcv m: my %hash = 1 => 'hi'; my %hash2 = 1 => 'hello'; my %new = (%hash, %hash2); say %new.perl
05:05 camelia rakudo-moar e7c1d5: OUTPUT«{"1" => "hello"}␤»
05:05 samcv yeah that don't work
05:05 samcv bleh
05:05 samcv i was too optimistic
05:05 pyrimidine joined #perl6
05:09 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:10 samcv yeah
05:10 samcv i'll just make a recursive function I guess
05:15 samcv i'll just make one that will apply the supplied hash to the main hash or whatever
05:22 Ven joined #perl6
05:42 Ven joined #perl6
05:44 Cabanossi joined #perl6
05:49 dugword joined #perl6
06:00 samcv SourceBaby, &parse-base
06:00 samcv SourceBaby, help
06:00 SourceBaby samcv, Use s: trigger with args to give to sourcery sub. e.g. s: Int, 'base'. See http://modules.perl6.org/d​ist/CoreHackers::Sourcery
06:00 samcv s: Str, parse-base
06:00 SourceBaby samcv, Something's wrong: â�¤ERR: [31m===[0mSORRY![31m===[0m 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â�¤------> [32m    put sourcery( Str, [33mâ��[31mparse-base )[1];[0mâ�¤
06:00 samcv s: Str, 'parse-base'
06:00 SourceBaby samcv, Sauce is at https://github.com/rakudo/rakudo/b​lob/e7c1d51/src/core/Str.pm#L1302
06:02 Ven joined #perl6
06:04 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:10 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␤␤
06:10 samcv s: Str, .parse-base
06:10 SourceBaby samcv, Something's wrong: ␤ERR: No such method 'parse-base' for invocant of type 'Any'␤  in block <unit> at -e line 6␤␤
06:11 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␤␤
06:11 samcv dammit.
06:14 pyrimidine joined #perl6
06:19 Tonik joined #perl6
06:20 RabidGravy joined #perl6
06:22 Ven joined #perl6
06:30 bjz joined #perl6
06:48 pyrimidine joined #perl6
06:54 xtreak joined #perl6
06:57 darutoko joined #perl6
06:59 bjz joined #perl6
07:00 pyrimidine joined #perl6
07:04 labster joined #perl6
07:06 labster joined #perl6
07:08 domidumont joined #perl6
07:15 domidumont joined #perl6
07:21 wamba joined #perl6
07:29 geekosaur joined #perl6
07:29 JimmyZ joined #perl6
07:29 thayne joined #perl6
07:31 plicease joined #perl6
07:32 ilmari joined #perl6
07:33 kipd joined #perl6
07:34 ihab joined #perl6
07:34 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:35 samcv I use kate to work with very long files https://kate-editor.org/2016/11/15/ksyntaxhigh​lighting-a-new-syntax-highlighting-framework/
07:35 leego joined #perl6
07:36 hobbs joined #perl6
07:36 hobbs joined #perl6
07:37 isacloud joined #perl6
07:38 geekosaur joined #perl6
07:41 pyrimidine joined #perl6
07:42 fluca1978 joined #perl6
07:43 kst joined #perl6
07:50 fluca1978 left #perl6
07:56 fluca1978 joined #perl6
07:57 fluca1978 sorry for this trivial question, but why is the dist manager named 'panda'?
07:58 geekosaur joined #perl6
07:59 moritz because pandas are cute animals, IIRC :-)
07:59 moritz and there's more than one module installer; currently many people use zef instead
08:00 samcv I usually use zef
08:00 samcv why is it called zef? idk…
08:00 samcv SourceBaby, source
08:00 SourceBaby samcv, See: https://github.com/zoffixznet/perl6-sourceable
08:02 moritz the previous generations of module installers were called "proto" (because it was a protoype), and "neutro" (logical successor to "proto")
08:04 leego joined #perl6
08:04 Sgeo joined #perl6
08:04 kst joined #perl6
08:05 geekosaur joined #perl6
08:05 [particle] joined #perl6
08:09 abraxxa joined #perl6
08:10 labster panda: perl archive network done again
08:10 labster Not official, but close enough ;)
08:11 pyrimidine joined #perl6
08:14 ufobat joined #perl6
08:21 samcv hah
08:22 moritz PANDA = Panda Aint' No Darn Acronoym
08:23 kst joined #perl6
08:23 tadzik :o
08:24 tadzik I think fluca1978 is gone, but the answer is that my dog was named panda
08:24 tadzik https://i.redd.it/jpop5n9y4b9y.jpg
08:25 diakopter :o
08:25 xtreak joined #perl6
08:31 fluca1978 thanks tadzik
08:32 tadzik oh, so it's just my tab-completion acting up :)
08:33 abraxxa joined #perl6
08:36 DrForr No, they named the dog Indy :)
08:39 DrForr (movie ref, in case that's necessary.)
08:45 bjz_ joined #perl6
08:51 dilksinator joined #perl6
08:52 sQuEE` joined #perl6
08:55 dilksinator Do knitters code fabric?
08:57 DrForr That's one way to look at it, I suppose.
08:57 DrForr Though what most people think of as "fabric" is really weaving and not knitting.
08:59 astj joined #perl6
09:01 zakharyas joined #perl6
09:08 pyrimidine joined #perl6
09:08 Geth doc: 89f75a3c17 | (Samantha McVey)++ | util/trigger-rebuild.txt
09:08 Geth doc: Trigger rebuild to pull in highlighting fixes
09:08 Geth doc:
09:08 Geth doc: Fixes to regex after ~~ and regex using .match
09:08 Geth doc: review: https://github.com/perl6/doc/commit/89f75a3c17
09:24 bjz joined #perl6
09:29 espadrine joined #perl6
09:35 xtreak joined #perl6
09:42 cschwenz joined #perl6
09:43 wamba joined #perl6
09:49 pyrimidine joined #perl6
09:56 dha joined #perl6
10:04 Actualeyes left #perl6
10:05 rindolf joined #perl6
10:07 pyrimidine joined #perl6
10:10 cdg joined #perl6
10:11 bjz joined #perl6
10:11 cdg joined #perl6
10:15 bjz_ joined #perl6
10:15 labster joined #perl6
10:19 xtreak joined #perl6
10:29 g4 joined #perl6
10:29 g4 joined #perl6
10:30 fluca1978 left #perl6
10:36 pyrimidine joined #perl6
10:44 bjz joined #perl6
10:51 pyrimidine joined #perl6
10:53 cschwenz left #perl6
11:03 pyrimidine joined #perl6
11:03 brokenchicken .
11:03 yoleaux 06:04Z <samcv> brokenchicken: I updated IRC::TextColor. can now do ircstyle('text', :bold, :green)
11:06 Actualeyes joined #perl6
11:07 pyrimidine joined #perl6
11:12 raschipi joined #perl6
11:12 brokenchicken m: (^0x110000).grep(/ <:Digit> /).elems.say
11:12 camelia rakudo-moar 0c5a58: OUTPUT«0␤»
11:12 CluelessProgramm joined #perl6
11:13 brokenchicken m: q/'/ ~~ rx/ <:Digit> /
11:13 camelia rakudo-moar 0c5a58: ( no output )
11:13 brokenchicken m: say q/'/ ~~ rx/ <:Digit> /
11:13 camelia rakudo-moar 0c5a58: OUTPUT«「'」␤»
11:13 brokenchicken m: (^0x110000).grep({.chr ~~ / <:Digit> /}).elems.say
11:13 camelia rakudo-moar 0c5a58: OUTPUT«(timeout)»
11:14 CluelessProgramm left #perl6
11:14 brokenchicken That's https://rt.perl.org/Ticket/Display.html?id=130549 fwiw
11:15 samcv m: use nqp; say nqp::unipropcode('Digit')
11:15 camelia rakudo-moar 0c5a58: OUTPUT«25␤»
11:16 samcv well it is matching SOMETHING
11:16 samcv let me check what
11:16 samcv ah ok
11:17 samcv i think i see maybe
11:17 samcv m: say ' '.uniprop-int('Numeric_Type')
11:17 camelia rakudo-moar 0c5a58: OUTPUT«0␤»
11:17 samcv m: say ' '.uniprop-str('Numeric_Type')
11:17 camelia rakudo-moar 0c5a58: OUTPUT«None␤»
11:17 samcv hm
11:17 samcv m: say ' ' ~~ /<:Digit>/
11:17 camelia rakudo-moar 0c5a58: OUTPUT«「 」␤»
11:19 samcv yeah. uhm
11:19 xtreak joined #perl6
11:19 samcv that's the same bug as <:space>
11:19 samcv it's checking the string values before checking the bool properties
11:19 samcv @brokenchicken,
11:19 samcv i *think*
11:19 samcv uh
11:19 samcv m: say ' ' ~~ /<:Script>/
11:19 camelia rakudo-moar 0c5a58: OUTPUT«Nil␤»
11:20 samcv m: say ' ' ~~ /<:Numeric_Type>/
11:20 camelia rakudo-moar 0c5a58: OUTPUT«「 」␤»
11:21 samcv m: say ' ' ~~ /<:Emoji>/
11:21 camelia rakudo-moar 0c5a58: OUTPUT«Nil␤»
11:21 samcv hm. odd
11:22 samcv m: say ' '.uniprop-bool('Digit')
11:22 camelia rakudo-moar 0c5a58: OUTPUT«False␤»
11:23 samcv togged that one as [UNI]
11:24 samcv m: say "\[<illegal>]"
11:24 camelia rakudo-moar 0c5a58: OUTPUT«[<illegal>]␤»
11:24 samcv m: say "\c[<illegal>]"
11:24 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␤»
11:24 samcv m: say "\c[BYTE ORDER MARKER]"
11:24 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 #perl6
11:26 samcv u: { .match(/<:Digit>/) }
11:26 samcv really curious what don't match…
11:26 unicodable6 samcv, «timed out after 30 seconds, output»:  «exit signal = SIGHUP (1)»
11:26 samcv m: say ' ' ~~ /<:Numeric_Type>/
11:26 camelia rakudo-moar 0c5a58: OUTPUT«「 」␤»
11:27 samcv yeah ok so it's some fundamental issue going on here potentially diffent than the <:space> problem I think
11:27 samcv since it's not related to value/name collisions, i think
11:27 samcv m: use nqp; nqp::unipvalcode('Digit').say
11:27 camelia rakudo-moar 0c5a58: OUTPUT«===SORRY!===␤Arg count 1 doesn't equal required operand count 3 for op 'unipvalcode'␤»
11:28 samcv m: use nqp; nqp::unipvalcode(nqp::unipro​pcode('Digit'),'Digit').say
11:28 camelia rakudo-moar 0c5a58: OUTPUT«0␤»
11:28 samcv will put that on my list of things
11:39 geekosaur joined #perl6
11:43 fluca1978 joined #perl6
11:47 cdg_ joined #perl6
11:49 fluca1978 but another thing I don't understand, is CPAN going to be used as perl6 module container or not?
11:50 raschipi fluca1978: It will.
11:50 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 joined #perl6
11:51 samcv i mean I would think a perl 6 module installed would only install perl 6 modules
11:51 samcv but. i mean there would have to be some way to distinguish them because there are already many collisions
11:52 pyrimidine joined #perl6
11:52 Ven joined #perl6
11:52 pmurias fluca1978: the Perl 6 modules won't be indexed by the Perl 5 tools
11:53 fluca1978 pmurias: right, but that means we are going to have also different versions of search.cpan.org, I suspect
11:54 pmurias you mean metacpan.org?
11:54 pmurias ;)
11:54 fluca1978 pmurias: may be, I don't know if search.cpan.org uses metacpan in the backend...
11:55 * lizmat hopes we can continue this type of work at http://blogs.perl.org/users/book1/201​7/01/perl-toolchain-summit-2017.html
11:56 lizmat http://showmetheco.de/articles/2​017/1/announcing-kritikaio.html  # also interesting  :-)
12:00 samcv that's neat
12:00 rindolf joined #perl6
12:03 pmurias lizmat: seems like we would need a Perl::Critic for Perl 6 for this to work
12:03 pmurias ;)
12:03 lizmat yes, but on the other hand, we have --ast :-)
12:04 lizmat we have PPI sorta built in, no ?
12:04 jnthn Not to mention DrForr's Perl6::Parser work
12:04 jnthn Also, when the QTree refactor happens... :)
12:05 * DrForr pokes his nose in.
12:05 jnthn It'll open all kinds of things up
12:05 jnthn But yes, for now --ast and (probably better) Perl6::Parser are our PPI. And they actually are written in pure Perl 6. ;)
12:06 samcv save the trees!
12:06 jnthn :D
12:06 pmurias is the QTree refactor planned for the near future?
12:06 DrForr Well, there's maybe 5 lines that's nqp, but the rest is perl 6, yes.
12:07 jnthn pmurias: My gut feeling is the QTree/macro stuff will end up being in 6.e
12:08 pmurias will QTrees replace QAST?
12:08 jnthn Yes and no.
12:08 moritz I could imagine them replacing a part of the QAST nodes so far
12:08 jnthn My current feeling is that QAST will remain the backend inter-lingua.
12:09 jnthn And QTrees will represent mostly higher-level constructs (at the Perl 6 level)
12:09 fluca1978 left #perl6
12:09 moritz that was my understanding as well
12:09 jnthn So it's more like QTree nodes will produce QAST.
12:09 jnthn Though perhaps in a more pipelined style
12:10 jnthn (That is, we won't ever have to build the entire QAST tree up in memory)
12:11 Ven joined #perl6
12:13 jnthn lunch &
12:15 Actualeyes joined #perl6
12:18 * masak perks up
12:19 * 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
12:19 masak I'm sorry I haven't had more time to look at the Qtree stuff for Perl 6
12:19 masak there's this issue in the 007 repo: https://github.com/masak/007/issues/197
12:19 masak that'll probably help
12:19 moritz you're saying that my desires aren't a good reason? :-)
12:20 masak but I'm severely lacking in tuits, 'cus $work and @family
12:20 masak moritz: I always try to cater to your deepest needs, you know that :D
12:20 DrForr Then we can describe MTree in documentation, and follow it up with STree which everyone will actually use?
12:20 masak moritz: but also, Q is a nice, fun-loving letter
12:20 ufobat joined #perl6
12:20 masak DrForr: :P
12:21 moritz DrForr: SMTree? :-)
12:21 masak you're not exactly selling me on MTree here...
12:21 moritz masak: I guess it doesn't qualify as "deepest need"
12:21 masak no, guess not
12:21 DrForr Sometimes I have to boggle that I'm in a crowd that actually *gets* that joke.
12:21 masak I even got it on first expansion! :P
12:31 pyrimidine joined #perl6
12:31 Ven joined #perl6
12:46 newbie1 joined #perl6
12:50 Ven joined #perl6
12:52 sammers joined #perl6
12:58 literal joined #perl6
13:34 Ulti I think #perl6 got faster today vs yesterday
13:34 Ulti or its I've rebooted and there is less RAM pressure
13:34 masak the... IRC channel got faster?
13:34 masak or the Twitter hashtag?
13:35 jnthn yeah I type supre fsat now...it's eays to be fast and rhight!
13:35 masak jnthn: first, make it fast. then, make it, uhhhhhhh
13:35 Ulti might be the Array.from-iterator stuff
13:36 * masak .oO( might be the gremlins )
13:36 Ulti yeah its within gremlin level speedup
13:37 Ulti 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:39 jnthn Ulti: There was a recent improvement that in some kinds of application decreased memory pressure and GC times quite a bit.
13:40 jnthn It depends heavily on the use pattern of the application.
13:40 jnthn (Some things got nothing. CORE.setting compilation got 20%.)
13:40 jnthn Uh, 20% speedup and 10% peak memory decrease.
13:41 Ulti cool, I haven't actually been tracking memory :<
13:42 Ulti 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 aborazmeh joined #perl6
13:42 aborazmeh joined #perl6
13:43 lizmat Ulti: the Array.from-iterator does not create a reifier and reification-target now, when it can
13:43 lizmat so that's halve the number of objects it used to create always before
13:43 Ulti im unsure how that might affect my code
13:44 * lizmat isn't sure either, but creating fewer objects is always a win
13:44 Ulti no doubt
13:44 lizmat somewhere  :-)
13:44 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
13:45 Ulti I guess I should run those again now you had a go at natives too
13:50 pyrimidine joined #perl6
13:54 Grauwolf joined #perl6
14:08 pyrimidine joined #perl6
14:24 cdg joined #perl6
14:31 skids joined #perl6
14:56 brokenchicken 𝐖𝐎𝐖! 𝐒𝐔𝐑𝐄 𝐈𝐒 𝐐𝐔𝐈𝐄𝐓 𝐈𝐍 𝐇𝐄𝐑𝐄!
14:56 masak we shouldn't get $work get in the way so much of our Perl 6 time
14:56 brokenchicken R'amen to that!
14:56 * lizmat was just about to drop a pin
14:57 masak lizmat: whenever someone does that, it ends up in a haystack and we all have to go find it
15:01 raschipi Good thing we have grep, then.
15:02 moritz it's easy to find a haystack in a needle if you have a very high-powered magnet
15:03 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 #perl6
15:07 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? :)
15:08 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.
15:08 DrForr It could be a knitting needle too, that might be easier to find but you'd need to use eddy currents or something.
15:08 brokenchicken m: say flat "", "is", "", "", "I" Z CORE::.keys[97,233,503,409,484]
15:08 camelia rakudo-moar 8852f7: OUTPUT«( Perl is Cool  Whatever  Version I Promise)␤»
15:09 curt_ joined #perl6
15:09 jnthn brokenchicken++
15:10 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!␤»
15:10 brokenchicken hah
15:10 brokenchicken Older version of Rakudo I guess :)
15:11 lizmat yeah  :-(
15:11 brokenchicken mc: class Z is Date {method happy{}}; say Z.^methods.map(*.name.tc).sort[11,16,29].join(" ")~"!"
15:11 committable6 brokenchicken, ¦«2015.12»: Earlier Later Weekday-of-month!
15:11 brokenchicken committable6: 6.c class Z is Date {method happy{}}; say Z.^methods.map(*.name.tc).sort[11,16,29].join(" ")~"!"
15:11 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!
15:12 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!
15:12 brokenchicken \o/
15:12 lizmat glot.io apparently runs moar (2016.07)
15:13 perigrin lizmat: weirdly I be they also run less.
15:13 * perigrin runs away before he gets lost in terrible unix puns.
15:15 DrForr You are lost in a twisty maze of version numbers, all alike.
15:19 * perigrin is lost in a twisty maze of object contructor calls
15:21 oldblue137 joined #perl6
15:26 cpage_ joined #perl6
15:26 pyrimidine joined #perl6
15:36 melezhik_ joined #perl6
15:43 troys joined #perl6
15:46 pyrimidine joined #perl6
15:49 shayan_ joined #perl6
15:54 vendethiel joined #perl6
15:57 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␤␤»
15:58 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!␤😿😿😿␤»
15:58 brokenchicken hm, weird. On my terminal the catfaces get printed as "􏿽xF0􏿽x9F􏿽x98􏿽xBF􏿽xF0􏿽x9F􏿽x98􏿽xBF􏿽xF0􏿽x9F􏿽x98􏿽xBF"
15:59 brokenchicken oh.. even plain print does that :S
15:59 timotimo that's what utf8-c8 creates for invalid utf8 sequences
16:00 brokenchicken hm... say "😿"; gives me "􏿽xF0􏿽x9F􏿽x98􏿽xBF"
16:00 brokenchicken timotimo: how to fix it?
16:00 timotimo i'm not actually sure how utf8-c8 even figures in here?
16:02 timotimo oh, it doesn't
16:02 geekosaur locale isn't UTF8?
16:02 timotimo if it were utf8-c8 for output it'd turn those back into bytes
16:02 brokenchicken If I do say "\x[1F63F]" I get the catface, but if I copy-paste it and say it, I get that garbage
16:02 geekosaur that could be your terminal (or something in between it and you, like tmux)
16:03 geekosaur too many moving parts that all have to support UTF8 properly :/
16:04 brokenchicken alright, screw it then :)
16:05 timotimo what does the .perl give you for the thing you've copypasted?
16:06 brokenchicken $ perl6 -e 'say "😿 ".perl'
16:06 brokenchicken "􏿽xF0􏿽x9F􏿽x98􏿽xBF "
16:07 wamba joined #perl6
16:09 timotimo OK, how about $*IN.read(5).perl.say and pasting it into the terminal then?
16:09 timotimo is it actually F0 9F 98 BF?
16:09 timotimo m: say "\x[F09F98BF]"
16:09 camelia rakudo-moar 9994c0: OUTPUT«===SORRY!===␤chr codepoint cannot be negative␤»
16:09 timotimo m: say Buf.new(0xF0,0x9F,0x98,0xBF).encode("utf8")
16:09 camelia rakudo-moar 9994c0: OUTPUT«No such method 'encode' for invocant of type 'Buf'␤  in block <unit> at <tmp> line 1␤␤»
16:09 timotimo m: say Buf.new(0xF0,0x9F,0x98,0xBF).decode("utf8")
16:09 camelia rakudo-moar 9994c0: OUTPUT«😿␤»
16:10 timotimo is that a cat face to you?
16:11 brokenchicken Yeah
16:11 brokenchicken the read thing gives me Buf[uint8].new(240,159,152,191,10)
16:12 brokenchicken m: say (240,159,152,191,10)».base: 16
16:12 camelia rakudo-moar 9994c0: OUTPUT«(F0 9F 98 BF A)␤»
16:13 brokenchicken fffuuuu
16:13 brokenchicken Wrote a doc update, hit submit "No server is currently available to service your request." -_-
16:14 raschipi ugexe: Should I use Text::Fuzzy::PP or Text::Fuzzy?
16:15 timotimo well, i have no idea what's going wrong there
16:16 brokenchicken It's fine. It may be my box that's busted.
16:16 brokenchicken It's a 12.04 frankenbuntu
16:16 perigrin sudo apt-get breakitalltohell
16:25 Geth doc: d0de40f93d | (Zoffix Znet)++ | doc/Programs/00-running.pod6
16:25 Geth doc: Describe RAKUDO_EXCEPTIONS_HANDLER
16:25 Geth doc:
16:25 Geth doc: specifically the expected properties of the handler class
16:25 Geth doc: review: https://github.com/perl6/doc/commit/d0de40f93d
16:28 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.
16:31 Geth doc: edf207644c | (Zoffix Znet)++ | doc/Programs/00-running.pod6
16:31 Geth doc: Update --profile-filename
16:31 Geth doc:
16:31 Geth doc: to include info that we can do SQL format now too
16:31 Geth doc: review: https://github.com/perl6/doc/commit/edf207644c
16:33 Geth doc: f517579c16 | (Zoffix Znet)++ | doc/Programs/00-running.pod6
16:33 Geth doc: Fix copy-paste fail
16:33 Geth doc: review: https://github.com/perl6/doc/commit/f517579c16
16:37 travis-ci joined #perl6
16:37 travis-ci Doc build errored. Zoffix Znet 'Update --profile-filename
16:37 travis-ci https://travis-ci.org/perl6/doc/builds/191683541 https://github.com/perl6/doc/com​pare/d0de40f93def...edf207644c38
16:37 travis-ci left #perl6
16:38 travis-ci joined #perl6
16:38 travis-ci Doc build errored. Zoffix Znet 'Fix copy-paste fail'
16:38 travis-ci https://travis-ci.org/perl6/doc/builds/191683769 https://github.com/perl6/doc/com​pare/edf207644c38...f517579c16a4
16:38 travis-ci left #perl6
16:39 brokenchicken (github 504ing)
16:39 tbrowder https://www.irccloud.com/pastebi​n/ZJJNBEL2/zef-install-data-dump
16:39 geekosaur https://twitter.com/githubsta​tus/status/819940738452615168
16:40 tbrowder .tell ugexe see https://www.irccloud.com/pastebi​n/ZJJNBEL2/zef-install-data-dump
16:40 yoleaux tbrowder: I'll pass your message to ugexe.
16:41 brokenchicken tbrowder: works fine for me.
16:42 brokenchicken without any versions that paste doesn't say much.
16:43 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
16:46 * brokenchicken doesn't see any zef updates to account for the difference
16:49 brokenchicken tbrowder: can you run that command with --debug flag?
16:49 brokenchicken zef --debug instal blah blah
16:50 tbrowder yes i will, BTW, on another host of mine running older rakudo install is ok...trying debug now...
16:52 khw joined #perl6
16:52 tbrowder hm, install went ok with the --debug flag.  trying uninstall and reinstall without flag
16:54 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 brokenchicken .oO( prolly should be detected and reported to the user in some better way )
16:55 geekosaur github claims ot be back now https://twitter.com/githubsta​tus/status/819947685503442945
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!
16:57 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 #perl6
16:59 tbrowder ok
17:03 ChoHag joined #perl6
17:04 kurahaupo joined #perl6
17:04 aindilis joined #perl6
17:05 buggable joined #perl6
17:10 rje_ joined #perl6
17:12 rje_ joined #perl6
17:17 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|st​ar|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>
17:18 brokenchicken m: say "Hi, rje_!"
17:18 camelia rakudo-moar d1c2e7: OUTPUT«Hi, rje_!␤»
17:20 rje_ I forgot how to point eval at a Gist...
17:20 nicq20 joined #perl6
17:20 brokenchicken rje_: m: https://gist.....
17:21 rje_ m: https://gist.githubusercontent.com/bobbyjim/9​2bac5c1f89680e9aebb6e7091baf4a7/raw/c0163ae0f​ddea7d1369e8c91a531b68fde213b69/hamadryas.p6
17:21 camelia rakudo-moar d1c2e7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3https:7⏏5//gist.githubuse​rcontent.com/bobbyjim/92␤    expecting any of:␤        colon pair␤»
17:21 brokenchicken rje_: just the gist, not raw or anything
17:21 rje_ ah
17:21 rje_ m: https://gist.github.com/bobbyjim/​92bac5c1f89680e9aebb6e7091baf4a7
17:21 camelia rakudo-moar d1c2e7: OUTPUT«「Hama」␤»
17:22 brokenchicken .oO( that looks familiar.... )
17:22 rje_ m: https://gist.github.com/bobbyjim/​92bac5c1f89680e9aebb6e7091baf4a7
17:22 camelia rakudo-moar d1c2e7: OUTPUT«「Hama」␤Hama␤»
17:22 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.
17:23 brokenchicken hah
17:24 perlpilot put has no .gist
17:24 rje_ Until the LP6 draft, I'd never heard of put()
17:24 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
17:24 rje_ Right, say() calls gist()
17:24 moritz rje_: it can't be perfect in every edge case
17:24 rje_ Heh.
17:24 rje_ True.
17:24 moritz rje_: if you have nested captures in a match, .gist can be *very* helpful
17:25 moritz 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
17:25 moritz m: say 'Hama' ~~ /(.((.)(.))/'
17:25 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␤»
17:25 moritz m: say 'Hama' ~~ /(.((.)(.))/
17:25 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␤»
17:25 brokenchicken m: put "Hamas" ~~ /(.)(.)(.)(.)(.)/
17:25 camelia rakudo-moar d1c2e7: OUTPUT«Hamas␤»
17:25 brokenchicken m: say "Hamas" ~~ /(.)(.)(.)(.)(.)/
17:25 camelia rakudo-moar d1c2e7: OUTPUT«「Hamas」␤ 0 => 「H」␤ 1 => 「a」␤ 2 => 「m」␤ 3 => 「a」␤ 4 => 「s」␤»
17:25 moritz m: say 'Hama' ~~ /(.((.)(.)))/
17:25 camelia rakudo-moar d1c2e7: OUTPUT«「Ham」␤ 0 => 「Ham」␤  0 => 「am」␤   0 => 「a」␤   1 => 「m」␤»
17:25 moritz eeks
17:25 moritz you need real newlines to make sense of it
17:25 nicq20 Hey perlpilot, when you have a minute, I sent your Git::Wrapper module some pull requests.
17:25 TimToady m: say 1..10000000000
17:25 camelia rakudo-moar d1c2e7: OUTPUT«1..10000000000␤»
17:26 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 …»
17:26 brokenchicken :D
17:26 TimToady m: put 1...10000000000
17:26 brokenchicken m: say 1...Inf
17:26 brokenchicken aw, crap
17:26 brokenchicken m: say 1..Inf
17:26 TimToady :P
17:26 brokenchicken m: put 1..Inf
17:26 camelia rakudo-moar d1c2e7: OUTPUT«(timeout)»
17:26 camelia rakudo-moar d1c2e7: OUTPUT«(...)␤»
17:26 camelia rakudo-moar d1c2e7: OUTPUT«1..Inf␤»
17:26 camelia rakudo-moar d1c2e7: OUTPUT«1..*␤»
17:26 brokenchicken :o
17:26 perlpilot nicq20++ nice.
17:26 brokenchicken m: put 1..Inf
17:26 camelia rakudo-moar d1c2e7: OUTPUT«1..*␤»
17:27 brokenchicken intreresting...
17:27 rje_ Granted, say in 5.10 does exactly what I would expect.
17:27 brokenchicken lol
17:27 geekosaur m: (1..Inf).WHAT.say
17:27 camelia rakudo-moar d1c2e7: OUTPUT«(Range)␤»
17:27 brokenchicken rje_: yeah, 5.10 of an entirely different language.
17:27 brokenchicken s: ^1, 'put', \()
17:27 SourceBaby brokenchicken, Sauce is at https://github.com/rakudo/rakudo/​blob/25615c7/src/core/Mu.pm#L472
17:28 brokenchicken s: ^1, 'Str', \()
17:28 SourceBaby brokenchicken, Sauce is at https://github.com/rakudo/rakudo/b​lob/25615c7/src/core/Range.pm#L379
17:28 brokenchicken ah, it got magics for infs
17:29 rje_ granted (a) p5.* <> p6.* and (b) idiom must be learned.
17:31 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>)
17:31 camelia rakudo-moar ce6569: OUTPUT«(a b c)␤»
17:31 rje_ m: put (<a>,<b>,<c>)
17:31 camelia rakudo-moar ce6569: OUTPUT«a b c␤»
17:32 [Coke] perlpilot: P6's say annoys some P6ers, too! :)
17:32 rje_ So "put" seems more like P5.say
17:32 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
17:32 rje_ I'm just trying to grab it by the horns.
17:33 brokenchicken rje_: yeah, put is the Perl 5's say
17:33 brokenchicken If you had 200 elements in that list above, say would've outputted just 100 of them, for example.
17:33 rje_ I'm also getting 'helpful help' from IRC.
17:34 brokenchicken rje_: what do you think of LP6 so far?
17:34 nicq20 perlpilot: Only if you want to. I'm using it for a small project, and just noticed some bugs. :)
17:34 perlpilot nicq20: I'm not using it at all, so you win!  ;)
17:35 nicq20 perlpilot: Lolz, Ok. :)
17:35 rje_ brokenchicken_: I can answer that best with another gist.
17:35 rje_ m: https://gist.github.com/bobbyjim/​92bac5c1f89680e9aebb6e7091baf4a7
17:35 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␤ …»
17:36 * brokenchicken isn't sure what the answer is :)
17:36 domidumont joined #perl6
17:36 rje_ lol that looks horrible doesn't it?  OK the answer is: helpful.
17:36 brokenchicken m: dir[0].^name.say
17:36 camelia rakudo-moar ce6569: OUTPUT«IO::Path␤»
17:36 brokenchicken that .IO is useless there
17:37 brokenchicken m: dir[0].modified.^name.say
17:37 camelia rakudo-moar ce6569: OUTPUT«Instant␤»
17:37 rje_ The first LP book taught me Perl umpteen hundred years ago.  I think this LP will help me learn P6.
17:37 brokenchicken cool :)
17:38 rje_ That's the idea anyway.
17:38 brokenchicken and the given {} I guess.
17:38 rje_ So $dir.IO is ... ah you're saying there's nothing in the block that uses IO
17:39 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.
17:39 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 $_
17:40 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
17:40 rje_ I find I type in three or four different ways to quit the REPL before I try 'exit'.
17:40 brokenchicken CTRL+D should do it
17:40 rje_ Unix++
17:42 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:43 rje_ 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
17:43 rje_ you're probably right
17:43 rje_ for some reason my instincts lead me elsewhere
17:43 brokenchicken yup, just tried on Windows in 2016.11 release
17:43 nicq20 left #perl6
17:44 rje_ And for goodness' sake, the first line in the REPL says....... "To exit type 'exit' or '^D'"
17:44 rje_ Do I listen?  noooooo
17:44 brokenchicken m: my $pattern = rx/ Hama /; $_ = "Hd"; say $pattern ?? "wat" !! "nope"
17:44 camelia rakudo-moar ce6569: OUTPUT«nope␤»
17:44 brokenchicken m: my $pattern = rx/ Hama /; $_ = "Hamad"; say $pattern ?? "wat" !! "nope"
17:44 camelia rakudo-moar ce6569: OUTPUT«wat␤»
17:44 brokenchicken TIL we have this :/
17:44 rje_ I like ?? and !!
17:44 brokenchicken too magical for my tastest
17:45 rje_ Why do you say that?  Is there some bizarre-o side effect going on that I'm unaware of?
17:46 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
17:46 rje_ However, say $pattern is quite obscure to me.
17:46 rje_ yes
17:46 rje_ agree
17:46 rje_ I'd be scared if I had to debug someone's code that had those thingies in there.
17:47 rje_ 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
17:48 brokenchicken There's a csv stuff we use
17:48 lizmat brokenchicken: also @strings.grep( { $pattern } )
17:48 huggable joined #perl6
17:49 brokenchicken huggable: csv
17:49 huggable brokenchicken, https://github.com/Tux/CSV (see `bench csv` for how to run bench)
17:49 lizmat but that is actually better written as: @strings.grep( $pattern )  # optimized for Regex
17:49 brokenchicken lizmat: yeah, those look less weird than this one: https://gist.github.com/bobbyjim/92bac5c1f8968​0e9aebb6e7091baf4a7#file-hamadryas-p6-L14-L15
17:49 brokenchicken :)
17:50 rje_ @strings.grep() is fascinating
17:51 rje_ "where's the assignment?"  It's implicit.  I like it.
17:51 lizmat assignment ??
17:51 awwaiid mmm. I can time the overall test suite, that'll be pretty good for now
17:51 rje_ If I Understand (IIU), @strings is populated by the grep().
17:52 brokenchicken nope
17:52 geekosaur no, it's running grep on the contents, not setting it
17:52 rje_ oh crap
17:52 rje_ okay
17:52 brokenchicken rje_: for each thing in @strings, it gets aliased to $_ inside the grep thing
17:52 rje_ @found = @strings.grep( $rex )
17:52 rje_ ?
17:52 brokenchicken m: my @strings = <foo bar ber>; my @result = @strings.grep: { say "Thing is $_"; $_.starts-with: "b" }; say @result
17:52 camelia rakudo-moar 032040: OUTPUT«Thing is foo␤Thing is bar␤Thing is ber␤[bar ber]␤»
17:53 rje_ { $rex }
17:53 brokenchicken m: my @strings = <foo bar ber>; my @result = @strings.grep: { say "Thing is $_"; $_.starts-with: "b" }; say "The result is @result[]"
17:53 camelia rakudo-moar 032040: OUTPUT«Thing is foo␤Thing is bar␤Thing is ber␤The result is bar ber␤»
17:53 rje_ powerfuller
17:53 rje_ grep + map -ish
17:54 brokenchicken m: my @strings = <foo bar ber>; my @result = keys @strings ∖ <bar ber>; say @result
17:54 camelia rakudo-moar 032040: OUTPUT«[foo]␤»
17:54 brokenchicken hehe :)
17:54 rje_ what the what....
17:55 rje_ \ removes from set?
17:55 pmurias joined #perl6
17:55 brokenchicken No, ∖ does
17:55 brokenchicken m: "∖".uniname.say
17:55 camelia rakudo-moar 032040: OUTPUT«SET MINUS␤»
17:55 brokenchicken https://perl6advent.wordpress.com/2016/12/07/s​et-in-your-ways-perl-6s-setty-and-baggy-types/
17:55 rje_ using keys on an array....
17:56 brokenchicken nope, it's using keys on the result of @strings ∖ <bar ber>
17:56 brokenchicken which is a Set
17:56 rje_ yes, a hash is an array (Perl 4 taught me that), but to think of it that way...
17:56 brokenchicken Hash isn't an array :S
17:56 brokenchicken m: say Hash ~~ Array
17:56 camelia rakudo-moar 032040: OUTPUT«False␤»
17:57 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.
17:57 brokenchicken rje_: keys() is a subroutine
17:57 * brokenchicken feels he pushed rje_ too far in
17:57 lizmat m: my @a = ^10; say @a.keys
17:57 camelia rakudo-moar 032040: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤»
17:57 rje_ understood.  But understand I first have to disconnect neurons that scream "KEYS FOR HASHES!"
17:57 brokenchicken How about this for something less mind blowing:
17:57 rje_ And those neurons are baked in...
17:58 brokenchicken m: sub infix:<+> { $^a - $^b }; say 2+2
17:58 camelia rakudo-moar 032040: OUTPUT«0␤»
17:58 rje_ Perl4 is not Precambrian, but it's close...
17:58 brokenchicken But see what I said above "brokenchic+│ nope, it's using keys on the result of @strings ∖ <bar ber>"
17:58 brokenchicken here...
17:58 rje_ ah ok yes I didn't get that far
17:59 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]␤»
17:59 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
17:59 rje_ I think my Rakudo doesn't like \
18:00 brokenchicken It's not \, it's ∖
18:00 rje_ uh oh
18:00 brokenchicken u: ∖
18:00 unicodable6 brokenchicken, U+2216 SET MINUS [Sm] (∖)
18:00 brokenchicken u: \
18:00 unicodable6 brokenchicken, U+005C REVERSE SOLIDUS [Po] (\)
18:00 brokenchicken You want the SET MINUS one
18:01 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
18:01 rje_ let
18:02 timotimo there's also the non-unicode variant of set minus, which is (-)
18:02 brokenchicken Ah, yeah :)
18:02 rje_ yes, just looked it up
18:02 brokenchicken The alternatives are all up here: http://docs.perl6.org/language/unicode_texas
18:02 rje_ that might save some brain cells
18:03 rje_ https://docs.perl6.org/routine/(-)
18:03 brokenchicken pfft, bran cells are overrated
18:03 rje_ m: my @foo = <foo bar baz> (-) <baz>
18:03 camelia rakudo-moar 032040: ( no output )
18:03 timotimo brian cells?
18:03 rje_ no, bran cells.  he's right.
18:03 brokenchicken You need a say or something; to print output
18:03 brokenchicken m: my @foo = <foo bar baz> (-) <baz>; say @foo
18:03 [Coke] I'm sure a little girl is going to be more neural plastic than you and have an easier time. :P
18:03 camelia rakudo-moar 032040: OUTPUT«[set(foo, bar)]␤»
18:03 rje_ no brain cells left; have to use bran
18:03 rje_ Coke is right
18:04 TimToady .oO(egoless thinking)
18:04 rje_ ego is underrated
18:04 brokenchicken eggos? I love those waffles!
18:04 rje_ at least that's what ego thinks.  ah, eggo thinks.
18:05 rje_ ok
18:05 rje_ where was I with sets?  OK I can subtract from sets now.  I'll use (-) because numeric keypads are scary.
18:06 setty1 joined #perl6
18:06 rje_ m: my @bar = keys <foo bar baz>
18:06 camelia rakudo-moar 032040: ( no output )
18:06 rje_ sigh
18:06 brokenchicken oh, right, I almost forgot about that
18:06 rje_ m: my @bar = keys <foo bar baz>; say @bar
18:06 [Coke] mmm, eggos.
18:06 camelia rakudo-moar 032040: OUTPUT«[0 1 2]␤»
18:07 brokenchicken s: [], 'keys', \()
18:07 SourceBaby brokenchicken, Sauce is at https://github.com/rakudo/rakudo/b​lob/25615c7/src/core/List.pm#L784
18:07 rje_ m: my @bar = <foo bar baz> (-) <bar>; say @bar
18:07 camelia rakudo-moar 032040: OUTPUT«[set(foo, baz)]␤»
18:08 brokenchicken k, .keys on a list gives you idnexes. neat
18:08 setty1 joined #perl6
18:09 rje_ m: my @bar = <foo bar baz>; say keys @bar
18:09 camelia rakudo-moar 032040: OUTPUT«(0 1 2)␤»
18:09 rje_ duh, an array has keys.  they're numeric.  a hash has string indexes.  I've known this forever; why should it bother me?
18:09 brokenchicken m: my @bar = <foo bar baz>; say keys @bar Z @bar
18:09 camelia rakudo-moar 032040: OUTPUT«(0 1 2)␤»
18:09 brokenchicken m: my @bar = <foo bar baz>; say (keys @bar) Z @bar
18:09 camelia rakudo-moar 032040: OUTPUT«((0 foo) (1 bar) (2 baz))␤»
18:09 rje_ Z = zip?
18:10 brokenchicken yup
18:10 brokenchicken m: my @bar = <foo bar baz>; say zip (keys @bar), @bar
18:10 camelia rakudo-moar 032040: OUTPUT«((0 foo) (1 bar) (2 baz))␤»
18:10 rje_ I remember that but don't quite grep it yet
18:10 rje_ m: my @foo = <foo bar>; my @bar = <bar baz>; say @foo Z @bar
18:10 camelia rakudo-moar aba04b: OUTPUT«((foo bar) (bar baz))␤»
18:11 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
18:11 rje_ yep
18:11 brokenchicken And you can give it some op to use
18:11 brokenchicken m: my @foo = <foo bar>; my @bar = <bar baz>; say @foo Z=> @bar
18:11 camelia rakudo-moar aba04b: OUTPUT«(foo => bar bar => baz)␤»
18:11 brokenchicken m: my @foo = <foo bar>; my @bar = <bar baz>; say @foo Z~ @bar
18:11 camelia rakudo-moar aba04b: OUTPUT«(foobar barbaz)␤»
18:11 rje_ hash construction
18:11 vendethiel- joined #perl6
18:12 brokenchicken more-or-less. It returns a list of pairs.
18:12 brokenchicken m: my @foo = <foo foo foo>; my @bar = <bar bar bar>; say @foo Z~ @bar
18:12 camelia rakudo-moar aba04b: OUTPUT«(foobar foobar foobar)␤»
18:12 brokenchicken m: my @foo = <foo foo foo>; my @bar = <bar bar bar>; say @foo Z=> @bar
18:12 camelia rakudo-moar aba04b: OUTPUT«(foo => bar foo => bar foo => bar)␤»
18:12 brokenchicken m: my @foo = <foo foo foo>; my @bar = <bar bar bar>; say (@foo Z=> @bar).Hash
18:12 camelia rakudo-moar aba04b: OUTPUT«{foo => bar}␤»
18:12 brokenchicken ^ and they'd collapse in a hash
18:12 brokenchicken Perl 6 got Pair objects.
18:15 lukaramu joined #perl6
18:20 rje_ ok
18:21 rje_ that'll take a bit of thinking
18:22 dalek Inline-Perl5: 11dcf7d | (Brock Wilcox)++ | .travis.yml:
18:22 dalek Inline-Perl5: Bump rakudo version for travis
18:22 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/11dcf7d075
18:22 dalek Inline-Perl5: 81135cf | lizmat++ | .travis.yml:
18:22 dalek Inline-Perl5: Merge pull request #86 from awwaiid/rakudo-2016.12
18:22 dalek Inline-Perl5:
18:22 dalek Inline-Perl5: Bump rakudo version for travis
18:22 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/81135cfc7d
18:23 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) /; say @foo
18:23 camelia rakudo-moar aba04b: OUTPUT«[「Ham」␤ 0 => 「Ham」]␤»
18:23 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) /; put @foo
18:23 camelia rakudo-moar aba04b: OUTPUT«Ham␤»
18:23 lizmat hmmm... seems a bit appropriate dalek is still doing Inline::Perl5  :-)
18:23 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham). :i (DRY) /; put @foo
18:23 camelia rakudo-moar aba04b: OUTPUT«Hamadry␤»
18:24 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo
18:24 camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
18:24 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo.reverse
18:24 camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
18:24 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; put @foo.reverse
18:24 camelia rakudo-moar aba04b: OUTPUT«Hamadry␤»
18:24 mr-foobar joined #perl6
18:25 rje_ m: say <sheet dryer>.reverse
18:25 camelia rakudo-moar aba04b: OUTPUT«(dryer sheet)␤»
18:25 rje_ m: my @foo = <sheet dryer>; say @foo.reverse
18:25 camelia rakudo-moar aba04b: OUTPUT«[dryer sheet]␤»
18:25 brokenchicken FWIW, the bot also takes /msg
18:25 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo
18:25 camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
18:26 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo.values
18:26 camelia rakudo-moar aba04b: OUTPUT«(「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」)␤»
18:26 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo.values.reverse
18:26 camelia rakudo-moar aba04b: OUTPUT«(「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」)␤»
18:26 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo.keys
18:26 camelia rakudo-moar aba04b: OUTPUT«(0)␤»
18:26 rje_ m: my @foo = 'Hamadryas' ~~ / (Ham) . :i (DRY) /; say @foo
18:26 camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
18:27 rje_ m: my @foo = ('Hamadryas' ~~ / (Ham) . :i (DRY) /); say @foo
18:27 camelia rakudo-moar aba04b: OUTPUT«[「Hamadry」␤ 0 => 「Ham」␤ 1 => 「dry」]␤»
18:28 [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
18:28 camelia rakudo-moar aba04b: OUTPUT«[「1910」␤ 0 => 「19」␤ 1 => 「1」␤ 2 => 「0」]␤»
18:29 rje_ oops forgot whitespace thingy
18:29 Tonik joined #perl6
18:29 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」]␤»
18:29 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...
18:30 rje_ Sorry
18:31 xzhao joined #perl6
18:35 vendethiel joined #perl6
18:52 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␤»
18:52 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));
18:52 camelia nqp-moarvm: OUTPUT«1␤0␤»
18:52 pmurias ^^ this seems like a bug
18:52 pmurias 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));
19:02 Geth doc: fe34000c72 | (Zoffix Znet)++ | doc/Programs/00-running.pod6
19:02 Geth doc: List default of RAKUDO_MAX_THREADS
19:02 Geth doc: review: https://github.com/perl6/doc/commit/fe34000c72
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)
19:02 * brokenchicken wonders what DBA is....
19:03 [Coke] "doing business as". or incorporated, or other-wise set up a company.
19:09 masak oh! didn't know that meaning of DBA.
19:10 masak there's also a :dba directive inside Perl 6 grammars, where it also means "doing business as"
19:10 masak IIUC it's used to give more cogent error messages when a mismatch happens
19:10 masak of course, in the rest of IT it means "database administrator"... :P
19:11 geekosaur depends on the kind of company
19:12 perigrin and the location you're setting the company up in
19:13 mspo DBA depends on context :)
19:13 mspo bu twhen I said it the other day I was talking about Doing-Business-As in relation to ICANN
19:13 mspo (assuming that was in this channel)
19:13 perigrin [Coke]: at a guess I'd say "no more than there is for Perl 5"
19:16 grondilu joined #perl6
19:16 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:17 grondilu Hello, #perl6.  Question: how can I search voyels, including those with diacritics (e.g.  àéèù etc.)
19:17 grondilu ?
19:17 brokenchicken grondilu: wouldn't those be different, depending on the language?
19:18 brokenchicken You mean just the aeuoi with any mark, you can use :ignoremark adverb
19:18 grondilu well, I suppose.  I'm interested in French.
19:18 brokenchicken m: .say for "àéh2è34ùaoauzb".match: :g, :ignoremark, /<[aeuoi]>/
19:19 camelia rakudo-moar 232641: OUTPUT«「a」␤「o」␤「a」␤「u」␤»
19:19 grondilu m: say "été" ~~ m:ignoremark/e/;
19:19 camelia rakudo-moar 232641: OUTPUT«「é」␤»
19:19 grondilu nice
19:19 brokenchicken :(
19:19 huf isnt french full of odd multi-letter ways to spell vowels?
19:19 huf or is that a can of worms we dont want to touch right now? :)
19:19 brokenchicken s: "àéh2è34ùaoauzb", 'match', \(:g, :ignoremark, /<[aeuoi]>/)
19:19 SourceBaby brokenchicken, Sauce is at https://github.com/rakudo/rakudo/​blob/fe891c0/src/core/Str.pm#L945
19:21 * brokenchicken has trouble understanding that code :(
19:21 brokenchicken s: /<[aeuoi]>/, 'CALL-ME', \('g', True, %(:ignoremark))
19:21 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-pe​rl6/perl6.moarvm:<dependencies+deserialize>)␤
19:21 grondilu thing is, I was reading a French wp article about "art of memory":  https://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.
19:22 grondilu I think the hassle/usefulness ration would be less than 1 but I'm not sure.
19:22 grondilu *ratio
19:23 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␤␤
19:23 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␤␤
19:23 brokenchicken s: /<[aeuoi]>/, 'CALL-ME', \('g', True, "ignoremark", True)
19:23 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␤␤
19:23 brokenchicken :(
19:26 raschipi u:
19:26 unicodable6 raschipi, Found nothing!
19:26 nicq20 joined #perl6
19:27 lmmx joined #perl6
19:32 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␤␤»
19:32 grondilu m: say "foo" ~~ /(.) ** 2..*/;
19:32 camelia rakudo-moar 232641: OUTPUT«「foo」␤ 0 => 「f」␤ 0 => 「o」␤ 0 => 「o」␤»
19:32 brokenchicken m: say "foo".subst: /(.) ** 2..*/, -> $/ { $0 };
19:32 camelia rakudo-moar 232641: OUTPUT«f o o␤»
19:32 brokenchicken m: say "foo".subst: /(.) ** 2..*/, { $_[0] };
19:32 camelia rakudo-moar 232641: OUTPUT«f o o␤»
19:33 brokenchicken Your way you're using the current $0, not the one that'll be produce during matching.
19:33 grondilu indeed
19:33 grondilu I'm not sure why f is a match though
19:34 grondilu m: say "foo" ~~ /. ** 2..*/;
19:34 camelia rakudo-moar 232641: OUTPUT«「foo」␤»
19:34 grondilu oh
19:34 grondilu silly me
19:34 grondilu how do I state "a letter repeating itself"?
19:34 timotimo don't we have something like ww for that?
19:34 timotimo otherwise backreference with $0 and friends
19:35 brokenchicken m: say "baac dddd" ~~ m:g/<ww>/
19:35 camelia rakudo-moar 232641: OUTPUT«(「」␤ ww => 「」 「」␤ ww => 「」 「」␤ ww => 「」 「」␤ ww => 「」 「」␤ ww => 「」 「」␤ ww => 「」)␤»
19:35 brokenchicken m: say "baac dddd" ~~ m:g/<!ww>/
19:35 camelia rakudo-moar 232641: OUTPUT«(「」 「」 「」 「」)␤»
19:35 brokenchicken m: say "baac dddd" ~~ m:g/.<ww>/
19:35 camelia rakudo-moar 232641: OUTPUT«(「b」␤ ww => 「」 「a」␤ ww => 「」 「a」␤ ww => 「」 「d」␤ ww => 「」 「d」␤ ww => 「」 「d」␤ ww => 「」)␤»
19:35 brokenchicken m: say "baac dddd" ~~ m:g/.<!ww>/
19:35 camelia rakudo-moar 232641: OUTPUT«(「c」 「 」 「d」)␤»
19:36 mr_ron joined #perl6
19:36 pecastro joined #perl6
19:37 grondilu this is obscure to me
19:37 brokenchicken nah, ignore it
19:37 brokenchicken it's not-word-boundary IIRC
19:37 pmurias is a  NQPClassHOW allowed to have parents that are not NQPClassHOW?
19:37 brokenchicken m: say "foo".subst: /(.)$0+/, { $_[0] };
19:37 camelia rakudo-moar 232641: OUTPUT«fo␤»
19:38 brokenchicken m: say "foooooosssssss".subst: :g, /(.)$0+/, { $_[0] };
19:38 camelia rakudo-moar 232641: OUTPUT«fos␤»
19:38 brokenchicken m: say "foooooosssssss".subst: :g, /(.))>$0+/, {$_};
19:38 camelia rakudo-moar 232641: OUTPUT«foooooosssssss␤»
19:39 brokenchicken :(
19:39 brokenchicken m: say "foooooosssssss".subst/(.))>$0+/, {~$_};
19:39 camelia rakudo-moar 232641: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix call␤at <tmp>:1␤------> 3say "foooooosssssss".subst/(.7⏏5))>$0+/, {~$_};␤»
19:40 brokenchicken m: say "foooooosssssss".subst: :g, /(.))>$0+/, {~$_};
19:40 camelia rakudo-moar 232641: OUTPUT«foooooosssssss␤»
19:40 brokenchicken :/
19:40 brokenchicken oh right
19:40 brokenchicken m: say "foooooosssssss".subst: :g, /(.)<($0+/, "";
19:40 camelia rakudo-moar 232641: OUTPUT«fos␤»
19:40 brokenchicken \o/
19:40 grondilu nicely done
19:41 grondilu I have no idea what <( means though
19:41 cyphase joined #perl6
19:41 brokenchicken capture boundary
19:41 brokenchicken like \K in Perl 5 for )>; except we also have <(
19:41 brokenchicken m: say "foooooosssssss".comb.squish.join
19:41 camelia rakudo-moar 232641: OUTPUT«fos␤»
19:41 mr_ron Looking for feedback on a new module https://github.com/ronaldxs/Perl6-US-ASCII.  If there are other/better places for such discussion please say ...  I was directed here from another chan
19:41 grondilu oh yeah, that's pretty smart
19:43 brokenchicken mr_ron: that distro is broken. Your META file is missing some of the files in lib/
19:43 brokenchicken m: "foooooosssssssooooossssoo​ooss".comb.squish.join.say
19:43 camelia rakudo-moar 232641: OUTPUT«fososos␤»
19:43 mst brokenchicken: https://github.com/perl6/doc/commit/ade320d095250b​12c2c5364896cdefb57d39f87c#commitcomment-20472280
19:43 grondilu oh yeah squish can be used indeed
19:43 brokenchicken m: "foooooosssssssooooossssooo​oss".comb.squish.join.say; say now - INIT now
19:43 camelia rakudo-moar 232641: OUTPUT«fososos␤0.00346733␤»
19:44 brokenchicken m: for ^1000 { "foooooosssssssooooossssoo​ooss".comb.squish.join.say }; say now - INIT now
19:44 camelia rakudo-moar 232641: OUTPUT«fososos␤fososos␤fososos␤fososos␤foso​sos␤fososos␤fososos␤fososos␤fososos␤fososos​␤fososos␤fososos␤fososos␤fososos␤fososos␤fo​sosos␤fososos␤fososos␤fososos␤fososos␤fosos​os␤fososos␤fososos␤fososos␤fososos␤fososo…»
19:44 brokenchicken >_<
19:44 brokenchicken m: for ^1000 { "foooooosssssssooooossssooooss".comb.squish.join }; say now - INIT now
19:44 camelia rakudo-moar 232641: OUTPUT«0.1059373␤»
19:44 brokenchicken m: for ^1000 { "foooooosssssssooooossssooooss".subst: :g, /(.))>$0+/, "" }; say now - INIT now
19:44 camelia rakudo-moar 232641: OUTPUT«0.5617486␤»
19:44 brokenchicken neat, squish is faster too!
19:46 brokenchicken mst: surprised to see teh name of the author of that commit. I have zero recollection of writing that.
19:47 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?
19:47 mst probably not
19:47 mst er, that channel is for the toolchain. it's where compunitrepository, zef, etc. get discussed normally
19:47 brokenchicken Oh, I'd no idea :)
19:47 mst similar to irc.perl.org's #toolchain covering CPAN.pm, Makefile.PL, Build.PL etc.
19:48 brokenchicken You seem to have a good idea of what it should say... you got the commit bit, right? :)
19:49 brokenchicken Sent you an invite
19:49 brokenchicken to perl6 org
19:50 vendethiel joined #perl6
19:50 mst oh dear
19:50 brokenchicken ^_^
19:50 mst but, yes, I suppose I can attempt to rewrite it
19:50 brokenchicken mst++ thanks
19:51 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 #perl6
19:53 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:54 grondilu probably doable but tough
19:54 raschipi Does it have anything to do with the way vowels are placed arond it?
19:54 arnsholt I think that should actually be doable
19:54 grondilu yes
19:55 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
19:55 arnsholt At least c before vowel
19:56 grondilu but if the voyel is 'e', then it's pronounced 's' I think
19:56 raschipi Ça va.
19:56 arnsholt [aou] gives k, [eiy] gives s
19:56 grondilu I'm French but I'm actually not sure there is any case where the 'c' is pronounced 'k' before a 'e'
19:57 arnsholt Pretty sure there isn't
19:57 arnsholt (I'm a foreigner, so we had to drill this shit =)
19:58 arnsholt 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.
19:58 arnsholt And I think c before consonant will generally be k
19:59 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
20:00 * grondilu eventually googles it and finds http://www.maxicours.com/se/fiche/7/1/13971.html
20:01 grondilu also https://fr.wikipedia.org/wiki/C_(lettre)#Fran.C3.A7ais
20:01 grondilu I should be able to write this mnemotechnic program I'm thinking of, but it will require some work.
20:01 arnsholt Right, so no objections to our rules there then
20:02 arnsholt Although the "zinc" example is interesting
20:02 arnsholt Didn't think of word-final c
20:02 grondilu yeah I forgot those
20:02 arnsholt For your purposes, you can probably ignore the distinction between g and k
20:03 grondilu I doubt it, it seems important for the purpose.
20:04 grondilu oh wait actually you're right, Q, K Gu all code the number 7
20:04 grondilu (that's convenient)
20:05 arnsholt grondilu: Well, I have no idea what you need this for, so I'm just guessing at this point =)
20:05 girafe joined #perl6
20:06 mr_ron Looking for feedback on fitness of US-ASCII module for ecosystem.  If no other objection will add it I guess.
20:08 brokenchicken Add it :)
20:08 jdv79 mr_ron: what does it do?
20:08 jdv79 and where is it
20:08 mr_ron https://github.com/ronaldxs/Perl6-US-ASCII
20:12 labster joined #perl6
20:12 travis-ci joined #perl6
20:13 travis-ci Doc build passed. Zoffix Znet 'List default of RAKUDO_MAX_THREADS'
20:13 travis-ci https://travis-ci.org/perl6/doc/builds/191728118 https://github.com/perl6/doc/com​pare/f517579c16a4...fe34000c721d
20:13 travis-ci left #perl6
20:17 vendethiel joined #perl6
20:23 bjz joined #perl6
20:27 brokenchicken m: say "à".match: /:ignoremark <[aeuoi]>/
20:27 camelia rakudo-moar 232641: OUTPUT«「à」␤»
20:27 brokenchicken Earlier where it didn't work above... :ignoremark and :ignorecase need to be inside regex, as they affect how it's compiled.
20:28 brokenchicken (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
20:28 jnthn So they're easily composed into other grammars
20:29 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
20:30 jnthn Whereas with inheritance I get...whatever is first in the C3 MRO
20:30 jnthn Which is less simple to reason about :)
20:30 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 mr_ron thanks ... will try to research further and make the needed changes
20:32 dugword https://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:34 arnsholt "Not as advanced as the stuff Damian or jnthn puts out, but also not as funny." ^.^
20:38 mst mr_ron: because a role is simpler than inheritance.
20:39 mst 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:40 arnsholt Given that Ovid just mentioned C3 in that video: "I find [it] about as useful as an icepick on the Titanic" =)
20:40 arnsholt Possibly with a "usually" mixed in
20:40 samcv do we have a good YAML parser?
20:40 samcv i saw there is one but I have not used it yet
20:41 mst arnsholt: well, yeah, he had a lot of trouble understanding roles, and C3 is significantly harder
20:41 mst I've seen classes he wrote that compose in ten or fifteen roles, all of which are just bags of utility functions
20:42 mst those are ... interesting to unpick
20:42 mst usually into a mixture of imported subroutines and delegation to sub-objects
20:42 jnthn samcv: I used it in $dayjob project. My main complaint is that it's not got good error reporting.
20:43 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.
20:43 arnsholt samcv: Just outside of the bounds
20:43 jnthn So if you write correct YAML life is good. :P
20:43 samcv ok then i know what the problem probably is
20:43 mst arnsholt: yeah, I mean, it's a common programmer failure mode
20:44 mst 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 mst then they discover Moose and try and meta ALL the things
20:44 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
20:44 arnsholt True, true
20:44 samcv so that makes sense
20:44 RabidGravy ah, arnsholt https://github.com/arnsholt/Net-ZMQ/pull/9 if you have a moment
20:44 mst I didn't fall down that particular rathole with roles, but I've fallen down most of the others
20:45 mst 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:46 samcv yeah this ASAN report it's 8 bytes and 0 to the right, so it's probably accessing the pointer.
20:47 samcv would be nice if ASAN said, XX is starts 0 bytes to the right of YYY
20:47 samcv would be more clear
20:50 vendethiel joined #perl6
20:53 cdg joined #perl6
20:53 DrForr Interesting buglet I just caught - Errors that are truncated like "List ($(Long::Type::Nam...)" don't balance thei parens.
20:54 DrForr Should "really" be "List ($(Long::Type::Nam...))" IMO, at least to keep editors happy.
20:55 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 moritz she came back with a 32GB MicroSD card, because it was the cheapest. 5€.
20:56 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
20:56 RabidGravy yeah, I've got a bowl here full of 2GB ones,
20:57 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:01 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:02 Geth ecosystem: nicqrocks++ created pull request #286: Take over Git::Wrapper
21:02 Geth ecosystem: review: https://github.com/perl6/ecosystem/pull/286
21:02 Geth ecosystem: d9501a37fb | Nic++ | META.list
21:02 Geth ecosystem: Take over Git::Wrapper (#286)
21:02 Geth ecosystem:
21:02 Geth ecosystem: Given permission by @perlpilot, (see: https://irclog.perlgeek.de/​perl6/2017-01-13#i_13915698) I would like to take over maintenance of the Git::Wrapper module.
21:02 Geth ecosystem: review: https://github.com/perl6/e​cosystem/commit/d9501a37fb
21:02 samcv why is lenovo's site always broken…
21:06 lmmx joined #perl6
21:08 lmmx joined #perl6
21:11 lmmx joined #perl6
21:17 lmmx joined #perl6
21:18 ChoHag joined #perl6
21:18 lmmx joined #perl6
21:20 jdv79 so it looks like i have supply { loop { emit() } } and emit doesn't seem to do anything
21:21 jdv79 but remove the loop {} and it works
21:24 brokenchicken umm.. what does it emit?
21:25 El_Che are all modern democracies about delegating power to a prince for a time?
21:26 brokenchicken like what's the actual code
21:27 El_Che oops
21:27 jdv79 i'm golfing it
21:27 * El_Che ignores El_Che
21:30 nicq20 left #perl6
21:32 jdv79 oh, i think its because its .act'ed
21:32 jdv79 and the loop never ends
21:33 jdv79 i lifted the loop and used .tap and it seems happier.  thanks .
21:33 brokenchicken Why would that matter?
21:34 brokenchicken it's only executed until an emit
21:36 [Coke] rant: can't easily convert comments on commits into github tickets.
21:36 [Coke] mst: converted your comment into a ticket so someone can act on it.
21:39 mst [Coke]: ta
21:39 mst [Coke]: I think I got 'well volunteered' for it, but that doesn't mean I'll get to it soon
21:39 [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.
21:40 [Coke] (makes working on doc stuff SUPER slow.)
21:42 [Coke] ¿⋊ᴚOM SIH⊥ SƎO◖
21:42 [Coke] aha! I can paste in unicode if I'm using tmux, but not when doing tmux -CC
21:43 mspo [Coke]: a lot of corp/windows virus scanners have excluded directories
21:43 mspo [Coke]: if you find the config you can put everything in the excludes and things speed way up
21:44 mspo at least assuming it's doing the mcaffee read-every-IO-op thing
21:51 brokenchicken I have the strangest of problems: I'm failing at turning on the air conditioner because the motor is frozen solid.
21:52 ssotka joined #perl6
21:52 jnthn If it's so cold, why do you need air conditioning? Or does the conditioner also provide heating?
21:55 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
21:55 brokenchicken 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.
21:56 brokenchicken 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 brokenchicken 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
21:57 timotimo yikes
22:00 jeepc joined #perl6
22:02 samcv ok I fixed ASAN
22:02 samcv oops wrong room
22:04 jeepc Hi,  I still have a question on perl6 grammar. I have an issue with simple quote. My testcase is https://gist.github.com/anonymous​/fa686cee87c4b1e5f675275f5d9116a5.   I don't understand why simple quote are not captured by the regex <expr2txt>  defined as {:s .+}
22:05 jeepc I tried to give complete explanation with the code ...
22:05 jeepc Thanks for your help.
22:09 brokenchicken jeepc: prolly 'cause rules don't backtrack. Change expr2 from rule to regex
22:09 espadrine joined #perl6
22:09 * brokenchicken recalls a wise voice saying backtracking in grammars is a smell...
22:10 jeepc Many thanks.
22:10 jeepc I'm checking.
22:12 jeepc 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.
22:13 DrForr And [<foo>]* is easie to write as <foo>*.
22:13 jeepc You are right
22:17 DrForr In the longer term, <expr1> and <expr2> will probably merge into one term.
22:22 go|dfish joined #perl6
22:23 bleh_ joined #perl6
22:25 moritz and if you want to parse a quoted string, the inside usually parses as <-[$delimiter]>*
22:25 moritz much better than .+ and backtracking
22:26 bleh_ left #perl6
22:26 mcsnolte joined #perl6
22:38 pecastro joined #perl6
23:21 jdv79 brokenchicken: youre right.  it was something else that got changed indirectly.
23:28 lmmx joined #perl6
23:28 raschipi joined #perl6
23:37 samcv how do you define new methods for lets say the Str type?
23:38 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␤»
23:39 lizmat m: use MONKEY-TYPING; augment class Str { }
23:39 camelia rakudo-moar 0ffce7: ( no output )
23:39 samcv ok cool :)
23:42 lmmx joined #perl6
23:45 brokenchicken http://perl6.party/post/Hacking-on-​Rakudo-Perl-6-Compiler-Mix-Your-Fix # seems topical
23:49 yqt joined #perl6
23:52 samcv where is JSON::Faster
23:52 samcv hah. trying to dump 10MB of data is slow :P
23:53 samcv i don't need json can be anything… i suppose i could just like use a data dumper instead
23:53 samcv what's the fastest data dumper module?
23:53 AlexDaniel joined #perl6
23:54 AlexDaniel o/
23:54 AlexDaniel woah… what a day
23:55 DarthGandalf joined #perl6
23:57 brokenchicken What makes it whoahy?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo