Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-02-12

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:06 bjz joined #perl6
00:08 bjz joined #perl6
00:15 SmokeMachine Should 'class C { method ^bla {...} }' create a method on the C's meta class?
00:16 SmokeMachine Today it's giving error...
00:16 SmokeMachine m: class C {method ^bla {...} }
00:16 camelia rakudo-moar 266f34: ( no output )
00:16 SmokeMachine Or not...
00:17 SmokeMachine m: class C {method ^bla {...} }; C.new
00:17 camelia rakudo-moar 266f34: ( no output )
00:17 SmokeMachine m: class C {method ^bla {...} }; C.^bla
00:17 camelia rakudo-moar 266f34: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in method bla at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
00:18 SmokeMachine 22:17 <SmokeMachine> m: class C {method ^bla(|) {...} }; C.new
00:18 SmokeMachine m: class C {method ^bla(|) {...} }; C.new
00:18 camelia rakudo-moar 266f34: ( no output )
00:19 SmokeMachine m: class C {method ^bla(|) {...} }; C.^ bla
00:19 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix call␤at <tmp>:1␤------> 3class C {method ^bla(|) {...} }; C.^7⏏5 bla␤»
00:19 SmokeMachine m: class C {method ^bla(|) {...} }; C.^bla
00:19 camelia rakudo-moar 266f34: ( no output )
00:19 SmokeMachine m: class C {method ^bla(|) {...} }; say C.^bla
00:19 camelia rakudo-moar 266f34: OUTPUT«Stub code executed␤  in method bla at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
00:21 SmokeMachine m: role R {method ^pun(|) {die "worked"} }; say R.^pun
00:21 camelia rakudo-moar 266f34: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in multi (did you mean 'my method pun'?)␤    at <tmp>:1␤    ------> 3role R {method7⏏5 ^pun(|) {die "worked"} }; say R.^pun␤(R)␤»
00:21 SmokeMachine That wasn't with class, but with role...
00:22 SmokeMachine m: role R {method ^bla(|) {die "worked"} }; say R.^bla
00:22 camelia rakudo-moar 266f34: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in multi (did you mean 'my method bla'?)␤    at <tmp>:1␤    ------> 3role R {method7⏏5 ^bla(|) {die "worked"} }; say R.^bla␤No such method 'bla' for invocant of type 'Perl…»
00:22 SmokeMachine 22:21 <SmokeMachine> m: role R {method ^bla(|) {die "worked"} }
00:23 SmokeMachine m: role R {method ^bla(|) {die "worked"} }
00:23 camelia rakudo-moar 266f34: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in multi (did you mean 'my method bla'?)␤    at <tmp>:1␤    ------> 3role R {method7⏏5 ^bla(|) {die "worked"} }␤»
00:29 SmokeMachine Should that work on roles?
00:31 Sgeo joined #perl6
00:34 pyrimidine joined #perl6
00:41 aindilis joined #perl6
00:43 kyan joined #perl6
00:57 ssotka joined #perl6
01:02 m0ltar joined #perl6
01:06 FiveBroDeepBook joined #perl6
01:06 FiveBroDeepBook left #perl6
01:06 aborazmeh joined #perl6
01:06 aborazmeh joined #perl6
01:21 ChoHag joined #perl6
01:43 mspo joined #perl6
01:44 mspo has anyone tried using these dart benchmarks on moarvm?
01:45 mspo dart seems to have a lot of superficial similarities (optional typing, at least)
01:47 mspo well a few
01:48 cdg joined #perl6
01:49 jeffythedragonsl joined #perl6
01:49 jeffythedragonsl hey
01:50 timotimo mspo: haven't seen the benchmarks from dart
01:50 jeffythedragonsl My pull request got merged!
01:50 mspo https://github.com/dart-lang/ton80
01:51 mspo jeffythedragonsl: congrats
01:51 jeffythedragonsl Now that I know the process I wonder what else would be good to help with.  There's that unit test and docs...
02:01 MasterDuke jeffythedragonsl: i think https://github.com/MoarVM/MoarVM/issues/513 would fix some rakudo bugs...
02:25 bjz joined #perl6
02:36 pyrimidine joined #perl6
02:37 colomon_ joined #perl6
02:39 jeffythedragonsl joined #perl6
02:39 colomon joined #perl6
02:40 Actualeyes joined #perl6
02:41 CamdenLoch joined #perl6
02:44 colomon joined #perl6
02:49 SmokeMachine m: multi trait_mod:<is>($role, :$punnable!) {say $role; say $role.HOW}; role R is punnable {}; say R; say R.HOW # why 2 different HOWs?
02:49 camelia rakudo-moar 266f34: OUTPUT«(R)␤Perl6::Metamodel::ParametricRoleHOW.new␤(R)␤Perl6::Metamodel::ParametricRoleGroupHOW.new␤»
02:51 SmokeMachine m: multi trait_mod:<is>($role, :$punnable!) {say $role; say $role.HOW; say $role.HOW.WHERE}; role R is punnable {}; say R; say R.HOW; say R.HOW.WHERE
02:51 camelia rakudo-moar 266f34: OUTPUT«(R)␤Perl6::Metamodel::ParametricRoleHOW.new␤140143513630816␤(R)␤Perl6::Metamodel::ParametricRoleGroupHOW.new␤140143485425656␤»
02:56 kalkin- joined #perl6
02:57 pyrimidine joined #perl6
02:58 bjz joined #perl6
02:59 samcv is there much overhead to calling mysub(|Seq, $other_val)
03:00 samcv it doesn't seem to be any faster than creating new variables and then sticking them in the function
03:00 samcv apply-pv-to-range( |.split([';','#'], 3).».trim.head(2), True )
03:00 samcv though it could be the head part is what is slowing it down
03:01 samcv not sure. all i know it's slower than assigning to an array and then sticking @array[0] @array[1] in there
03:16 geekosaur joined #perl6
03:21 cdg_ joined #perl6
03:40 noganex joined #perl6
04:01 samcv is there a way to do `my ($var1, Nil, $var2) = .split(…)`
04:01 samcv have like placeholder variables
04:01 samcv like i don't want to assign it to anything, just to be padding since i don't want where i put Nil
04:04 geekosaur just use a sigil
04:04 geekosaur m: my ($v1, $, $v2) = 1,2,3
04:04 camelia rakudo-moar 266f34: ( no output )
04:04 samcv ok thanks
04:04 samcv will it assign anything to $+
04:04 samcv err i mean $
04:05 samcv m: my ($v1, $, $v2) = 1,2,3; say $;
04:05 camelia rakudo-moar 266f34: OUTPUT«(Any)␤»
04:05 samcv m: my ($v1, $, $v2) = 1,2,3 andthen say $;
04:05 camelia rakudo-moar 266f34: OUTPUT«(Any)␤»
04:05 timotimo every time you mention $ you get a different variable
04:05 timotimo m: say $++; say $++; say $++
04:05 camelia rakudo-moar 266f34: OUTPUT«0␤0␤0␤»
04:05 timotimo m: for ^5 {say $++; say $++; say $++}
04:05 camelia rakudo-moar 266f34: OUTPUT«0␤0␤0␤1␤1␤1␤2␤2␤2␤3␤3␤3␤4␤4␤4␤»
04:06 samcv so it does assign it somewhere?
04:06 timotimo anonymous state variables, those are
04:06 geekosaur no because $ is a special variable elsewhere
04:06 timotimo oh, in a signature bind it probably doesn't assign anything, yeah
04:06 timotimo and if it does, it should probably not do that for performance reasons
04:06 geekosaur each $ is an anonymous state variable bound to the place where it occurs, so each $ is independent of the others
04:06 samcv faster than my @parts = .split(…); my $whatever = @parts[2]; my $otherthing = @parts[1]
04:06 samcv ?
04:06 geekosaur and the one in the sigil does nothing
04:06 geekosaur (except consume a value)
04:06 samcv kk
04:06 timotimo hopefully it's faster, but the way i know rakudo it's probably slower :P
04:07 timotimo benchable6: help
04:07 benchable6 timotimo, Like this: benchable6: f583f22,HEAD my $a = "a" x 2**16;for ^1000 {my $b = $a.chop($_)}
04:07 timotimo i think benchable also has a comparison mode?
04:09 timotimo aha!
04:09 jraglin joined #perl6
04:09 timotimo hm, or is compare about different versions?
04:12 timotimo ah, there it is!
04:13 timotimo benchable6: compare my ($a, $, $c) = "foo bar baz".words; ||| my ($a, $c); my \res := "foo bar baz".words; $a = res[0]; $c = res[2];
04:13 benchable6 timotimo, ¦«my»:Cannot find this revision
04:13 timotimo benchable6: compare 2017.01 my ($a, $, $c) = "foo bar baz".words; ||| my ($a, $c); my \res := "foo bar baz".words; $a = res[0]; $c = res[2];
04:13 benchable6 timotimo, starting to benchmark the 1 given commit
04:13 benchable6 timotimo, https://gist.github.com/5b9456154012bf0a4c9315bdda5f06d4
04:14 timotimo benchable6: compare 2017.01 for ^1000 { my ($a, $, $c) = "foo bar baz".words; } ||| for ^1000 { my ($a, $c); my \res := "foo bar baz".words; $a = res[0]; $c = res[2]; }
04:14 benchable6 timotimo, starting to benchmark the 1 given commit
04:14 benchable6 timotimo, https://gist.github.com/2f2c98661b80cab63a29b09d4dbe0dfd
04:14 timotimo benchable6: compare 2017.01 for ^10000 { my ($a, $, $c) = "foo bar baz".words; } ||| for ^10000 { my ($a, $c); my \res := "foo bar baz".words; $a = res[0]; $c = res[2]; }
04:14 benchable6 timotimo, starting to benchmark the 1 given commit
04:14 benchable6 timotimo, https://gist.github.com/35ac6ed8a8220906b5d036019bbff3a2
04:14 timotimo okay, so about a 30% difference between those two
04:15 timotimo but it seems like the first one is faster
04:15 timotimo so ... that's cool
04:17 timotimo the QAST that comes out of it is pretty weird, though
04:18 timotimo it creates a scalar for the middle one that goes into a local variable
04:18 timotimo i wonder if the bindattr to the Scalar's $!value is actually needed at all?
04:19 timotimo gotta go sleep
04:19 timotimo maybe a more thorough analysis of this behaviour is warranted.
04:19 timotimo i mean the performance characteristics
04:19 timotimo not semantics or anything
04:20 samcv yeah
04:21 timotimo whateverable is cool.
04:23 timotimo nite!
04:25 ssotka joined #perl6
04:26 ssotka1 joined #perl6
04:33 sjohnson joined #perl6
04:35 Cabanoss- joined #perl6
04:35 pyrimidine joined #perl6
04:46 Juerd joined #perl6
05:05 bjz joined #perl6
05:10 CIAvash joined #perl6
05:16 BenGoldberg joined #perl6
05:20 Ben_Goldberg joined #perl6
05:22 aborazmeh joined #perl6
05:22 aborazmeh joined #perl6
05:30 skids joined #perl6
05:37 faraco joined #perl6
05:53 FiveBroDeepBook joined #perl6
05:54 FiveBroDeepBook left #perl6
05:57 cibs joined #perl6
06:15 ufobat joined #perl6
06:31 retupmoca joined #perl6
06:44 darutoko joined #perl6
06:45 wamba joined #perl6
06:45 masak today's neat trick: locally defining a `multi infix:<&&>(&l, &r)` that can AND together two predicates
06:48 masak m: multi infix:<&&>(&l, &r) { { &l($^x) && &r($x) } }; say True && 42; my &has-an-e = { so $^x ~~ /e/ }; my &five-chars = { $^x.chars == 5 }; say (&has-an-e && &five-chars)("perl6")
06:48 camelia rakudo-moar 266f34: OUTPUT«42␤True␤»
06:48 masak \o/
06:48 masak (in the code where I did this, I also overrode `prefix:<!>` in the same way. the result is wonderfully readable)
06:49 masak I love it when I go "gee, I wish this were possible", and Perl 6 rises to the challenge
07:05 * BenGoldberg is thinking, I bet I could do that in C++, if I wanted.  The code to accomplish that might be painful to look at, but the result would be cool.
07:06 faraco o/
07:06 masak hm, something about it doesn't work, though
07:15 masak oh; the above code doesn't actually distinguish a successful overriding from an unsuccessful one
07:15 masak I'm getting soft in later years <3
07:17 masak m: multi infix:<&&>(&l, &r) { { &l($^x) && &r($x) } }; say True && 42; my &has-an-e = { so $^x ~~ /e/ }; my &five-chars = { $^x.chars == 5 }; say (&has-an-e && &five-chars)("purl6")
07:17 camelia rakudo-moar 266f34: OUTPUT«42␤True␤»
07:17 masak yep; that means it didn't work :/
07:17 masak IMHO this is a bug we're seeing
07:20 Tonik joined #perl6
07:28 masak m: multi infix:<&&>(3, 4) { 42 }; say 3 && 4
07:28 camelia rakudo-moar 266f34: OUTPUT«4␤»
07:28 masak right.
07:28 masak that's probably pretty golf'd
07:36 ufobat what does $a === $b exactly mean? i think it is not checking wether it is the same "reference"?
07:36 ufobat m: my $a = 2; my $b=(4/2).Int; say so $a === $b
07:36 camelia rakudo-moar 266f34: OUTPUT«True␤»
07:38 masak ufobat: `==` means "same numerically"; `===` means "same type and value"
07:38 masak that is, `==` is tied to other numeric operations such as `+` and `>`
07:38 masak but `===` isn't; it tries to do a comparison based on type-and-value
07:39 ufobat i think == is clear to me
07:39 masak often it comes down to a reference comparison, but not in the case of Int, since Int is a value type
07:39 ufobat so === isnt working like is-deeply for objects?
07:39 masak nope
07:39 ufobat for objects ists basically is it the same object?
07:39 masak `eqv` works a bit like is-deeply, with caveats
07:40 faraco hmm, I don't really like "standards", but where can I find recommended Perl 6 coding style?
07:40 masak m: say [1, [2, 3], 4] eqv [1, [2, 3], 4]
07:40 camelia rakudo-moar 266f34: OUTPUT«True␤»
07:40 masak faraco: not sure such a style guide has ever been written; I could be wrong, though
07:40 ufobat can i say === is == or eq but without a numeric or stringy context?
07:41 masak faraco: maybe start with `perldoc perlstyle`? :)
07:41 masak ufobat: yeah, kinda
07:41 faraco oh, thanks
07:41 ufobat :D thanks!
07:41 masak ufobat: both `==` and `eq` do casting before comparison. `===` doesn't
07:43 faraco what is the equivalent of Perl `unlink $file if -f $file` in Perl 6? I'm stuck at f method not exist.
07:44 faraco m: unlink 't' if -f 't'
07:44 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    f used at line 1␤␤»
07:45 ufobat m: "foo".IO.unlink
07:45 camelia rakudo-moar 266f34: ( no output )
07:45 ufobat .IO makes a "file" out of your string
07:45 faraco whoa nice, thank you.
07:46 ufobat so i'd say $file.IO.unlink if $file.IO.e
07:47 faraco I can't believe I missed this -https://docs.perl6.org/language/io
07:47 faraco I keep searching for "file" instead..
07:48 faraco thanks
07:56 bjz joined #perl6
08:02 Wanderer68 joined #perl6
08:07 BenGoldberg joined #perl6
08:25 Ben_Goldberg joined #perl6
08:32 labster joined #perl6
08:45 jjido joined #perl6
08:51 salv0 joined #perl6
09:03 ChoHag joined #perl6
09:03 rindolf joined #perl6
09:08 japhb masak: FWIW, IIRC the short-circuiting boolean operators && and || are coded at a "lower level", effectively acting as macros and not fully participating in (multi) dispatch.
09:58 pyrimidine joined #perl6
10:00 ufobat i am so bad in writing README.md :/
10:07 sena_kun joined #perl6
10:12 faraco joined #perl6
10:33 espadrine joined #perl6
10:48 masak japhb: yes, that quickly became clear to me too
10:49 masak japhb: what's not clear is where the imposibility rests, so to speak. is it by nature impossible to combine the short-circuiting semantics and ordinary multi dispatch/overriding? or is it a limitation in Rakudo as currently implemented?
10:50 masak also, thank you for not saying "macroish" :P
10:58 masak reflecting on it, it seems to be a conceptual impossibility
10:58 masak the two things at odds are
10:59 masak (a) default `infix:<&&>` codegens something that doesn't evaluate the rhs *at all* unless the lhs is truthy
10:59 masak (b) the user-defined multi assumes that we know the type of the rhs
11:02 masak unrelatedly, today I found a use for the term `&` (anonymous undefined Callable) in some code :)
11:02 masak I belive I've used all of `$`, `@`, and `%` before
11:03 samcv i couldn't find any good documentation on giving subs as arguments to a routine
11:03 bjz_ joined #perl6
11:03 masak samcv: do you have a specific question?
11:03 samcv yes
11:03 Geth ¦ doc: 27931defe4 | Altai-man++ | doc/Type/UInt.pod6
11:03 Geth ¦ doc: Expand UInt example (fixes https://github.com/perl6/doc/issues/1173)
11:03 Geth ¦ doc: review: https://github.com/perl6/doc/commit/27931defe4
11:04 masak samcv: great!
11:04 samcv idk i want to have a routine where i supply an anonymous sub as an argument, to process a sequence
11:05 samcv and want to know the fastest optimized way to do it
11:06 masak m: sub foo(&c) { say "so fast!"; &c("optimized") }; foo { say "so $^attribute!" }
11:06 camelia rakudo-moar 266f34: OUTPUT«so fast!␤so optimized!␤»
11:06 masak m: sub foo(&c) { say "so fast!"; &c("optimized") }; foo sub { say "so $^attribute!" }
11:06 camelia rakudo-moar 266f34: OUTPUT«so fast!␤so optimized!␤»
11:06 masak m: sub foo(&c) { say "so fast!"; &c("optimized") }; sub named { say "so $^attribute!" }; foo &named
11:06 camelia rakudo-moar 266f34: OUTPUT«so fast!␤so optimized!␤»
11:07 masak m: sub foo(&c) { say "so fast!"; &c("optimized") }; sub named($attribute) { say "so $attribute!" }; foo &named
11:07 camelia rakudo-moar 266f34: OUTPUT«so fast!␤so optimized!␤»
11:07 samcv can that get inlined easily?
11:07 masak oh yes, very easily
11:07 samcv great
11:07 masak practically inlined already
11:07 samcv very good
11:07 IOninja m: my %h := set <a b c>; dd %h
11:07 camelia rakudo-moar 266f34: OUTPUT«set("a","c","b")␤»
11:07 gfldex samcv: blocks are almost always inlined
11:09 IOninja m: sub foo(&c) is pure { say "so fast!"; &c("optimized") }; sub named($attribute) is pure { say "so $attribute!" }; foo &named
11:09 camelia rakudo-moar 266f34: OUTPUT«WARNINGS for <tmp>:␤Useless use of "foo &named" in expression "foo &named" in sink context (line 1)␤so fast!␤so optimized!␤»
11:09 * masak .oO( performances of Starlight Express are almost always inlined ) :P
11:12 samcv i need the fastest way to do something like this sub slurp-lines2 ( Str $filename, &sub ) {
11:12 samcv &sub($_) for "$UNIDATA-folder/$filename.txt".IO.lines;
11:12 samcv }
11:13 samcv don't want the sub called for every line
11:13 samcv that doesn't seem the best way to do it
11:14 samcv or it could be fine, idk
11:14 samcv are there better ways to process sequences than a for loop
11:15 IOninja what do you mean you don't want the sub called for every line?
11:15 samcv well i sort of do, i mean i don't want overhead
11:15 samcv i want to provide it with a sub to process a sequence
11:15 samcv in the fastest possible way
11:16 SmokeMachine m: multi trait_mod:<is>($role, :$punnable!) {say $role; say $role.HOW}; role R is punnable {}; say R; say R.HOW # why 2 different HOWs?
11:16 camelia rakudo-moar 266f34: OUTPUT«(R)␤Perl6::Metamodel::ParametricRoleHOW.new␤(R)␤Perl6::Metamodel::ParametricRoleGroupHOW.new␤»
11:16 samcv since it's very performance sensitive
11:16 eroux joined #perl6
11:16 gfldex samcv: you could deal with the iterators yourself but that would upset roast
11:17 samcv upset roast?
11:17 IOninja iterators?
11:17 IOninja samcv: you could just read the file once and keep it in RAM
11:18 IOninja oh, the filename is also passed
11:18 samcv that's not really an issue with speed
11:18 samcv showed about the same speed reading into ram then calling lines on that versus calling lines on the IO::Path
11:19 IOninja Yeah, I thought there was only one file.
11:19 ggoebel joined #perl6
11:21 IOninja You could try marking both subs as is pure and see if you still get right results.
11:21 * IOninja &
11:28 Geth ¦ ecosystem: ufobat++ created pull request #297: Added XML::XPath
11:28 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/297
11:29 Geth ¦ ecosystem: 4e0e9da7c6 | (Martin Barth)++ | META.list
11:29 Geth ¦ ecosystem: Added XML::XPath (#297)
11:29 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/4e0e9da7c6
11:30 sena_kun joined #perl6
11:32 GauravArya joined #perl6
11:32 GauravArya Hi
11:33 IOninja SmokeMachine: roles are like multies. So you get the Group how handling group of individual roles.
11:33 IOninja GauravArya: hi
11:33 GauravArya Hey ninja..thanks.. how are you..
11:34 GauravArya its my first time here, just checking it out.. i am too exicited about perl6 :D
11:34 IOninja SmokeMachine: it was you who were trying to wrap a sub, wasn't it? And you couldn't 'cuase you were calling it on sub {}.... instead of the name which gave you just that sub instead of the "group" or whatever it's called. Same effect with roles
11:34 IOninja m: my $x = sub foo {}; say $x; say &foo
11:34 camelia rakudo-moar 266f34: OUTPUT«sub foo () { #`(Sub|72719504) ... }␤sub foo () { #`(Sub|72719656) ... }␤»
11:35 mln joined #perl6
11:38 IOninja m: multi trait_mod:<is>($role, :$punnable!) {say $role; say $role.HOW}; role R is punnable {}; say R; say R.^candidates
11:38 camelia rakudo-moar 266f34: OUTPUT«(R)␤Perl6::Metamodel::ParametricRoleHOW.new␤(R)␤((R))␤»
11:39 IOninja m: role R {}; role R[Int] {}; say R.^candidates
11:39 camelia rakudo-moar 266f34: OUTPUT«((R) (R))␤»
11:42 AlexDaniel joined #perl6
11:44 samcv hmm i'm getting an error about "useless use of thechlachlrceherce" basically all the code in the block i gave to the sub. but it seems to work
11:45 IOninja m: my %set is SetHash = <a b c d>;
11:45 camelia rakudo-moar 266f34: OUTPUT«Cannot modify an immutable SetHash␤  in block <unit> at <tmp> line 1␤␤»
11:45 IOninja m: my %set is SetHash; %set<a b c d>»++; dd %set
11:45 camelia rakudo-moar 266f34: OUTPUT«SetHash.new("a","c","b","d")␤»
11:46 IOninja m: my %set := set <a b c d>;
11:46 camelia rakudo-moar 266f34: ( no output )
11:47 samcv well actually didn't work for all of them. weird
11:48 IOninja This reminds me. I think our docs are still outdated for the (^) operator. I don't recall them updated after this PR: https://github.com/rakudo/rakudo/pull/934
11:49 IOninja m: my $a = bag <a a a b c>; my $b = bag <a z y>; say [ ($a ∖ $b) ∪ ($b ∖ $a), $a (^) $b ]
11:49 camelia rakudo-moar 266f34: OUTPUT«[bag(a(2), c, b, y, z) bag(a(2), c, b, y, z)]␤»
11:50 IOninja mc: my $a = bag <a a a b c>; my $b = bag <a z y>; say [ ($a ∖ $b) ∪ ($b ∖ $a), $a (^) $b ]
11:50 committable6 IOninja, ¦«2015.12»: [bag(a(2), c, b, y, z) set(c, b, y, z)]
11:50 IOninja Oh. The docs were wrong before the PR :P and now seem right
11:51 Geth ¦ doc: 895ddcb86d | (Wenzel P. P. Peppmeyer)++ | doc/Type/Routine.pod6
11:51 Geth ¦ doc: we start headings with a capital
11:51 Geth ¦ doc: review: https://github.com/perl6/doc/commit/895ddcb86d
11:51 Geth ¦ doc: d8c3b05601 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Routine.pod6
11:51 Geth ¦ doc: link to MMD
11:51 Geth ¦ doc: review: https://github.com/perl6/doc/commit/d8c3b05601
11:51 Geth ¦ doc: b3be33c6d2 | (Wenzel P. P. Peppmeyer)++ | doc/Language/glossary.pod6
11:51 Geth ¦ doc: link to Sub and Method
11:51 Geth ¦ doc: review: https://github.com/perl6/doc/commit/b3be33c6d2
11:52 gfldex IOninja: Geth seams not to translate realnames to nicks. Is that intentional?
11:53 IOninja gfldex: it just uses whatever GitHub gives it, whereas dalek used the CREDITS file
11:53 gfldex I found the latter useful.
11:54 IOninja Someone needs to add that feature.
11:54 IOninja Source: https://github.com/perl6/geth
11:54 gfldex Today that wont be me as I got a cold and will head back to bed soon.
11:55 * IOninja is busy being the IOninja...
11:55 SmokeMachine IOninja: so how should it use meta methods? Should it?
11:56 gfldex IOninja: would a TODO.txt be welcome?
11:56 IOninja gfldex: with just a credits feature? Opening an Issue seems easier
12:00 gfldex I don't really like the dependence on github for keeping track of bugs and requests. It's not controlled by a foundation or any other public entity.
12:01 masak GauravArya: welcome!
12:01 FiveBroDeepBook joined #perl6
12:01 FiveBroDeepBook left #perl6
12:02 masak GauravArya: we're all excited about Perl 6! :D
12:02 RabidGravy joined #perl6
12:03 patrickz joined #perl6
12:06 IOninja m: sub x { .<a b c> = <1 2 3> with {} }; dd x
12:06 camelia rakudo-moar 266f34: OUTPUT«(IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3"))␤»
12:07 IOninja Is there a way to somehow make an anon hash I can slice-assign to and return?
12:07 IOninja m: sub x { my %h; %h<a b c> = <1 2 3>; %h }; dd x
12:07 camelia rakudo-moar 266f34: OUTPUT«Hash %h = {:a(IntStr.new(1, "1")), :b(IntStr.new(2, "2")), :c(IntStr.new(3, "3"))}␤»
12:07 IOninja ^ like that by without all the mys
12:08 IOninja m: sub x { %(<a b c> X=> <1 2 3>) }; dd x
12:08 camelia rakudo-moar 266f34: OUTPUT«Hash % = {:a(IntStr.new(3, "3")), :b(IntStr.new(3, "3")), :c(IntStr.new(3, "3"))}␤»
12:08 IOninja <3 Perl 6
12:08 IOninja Oh, I meant Z=> :)
12:11 AlexDaniel .oO( what about perl 7 )
12:12 IOninja I'm finished with it :)
12:12 GauravArya Thanks masak
12:13 AlexDaniel but… shouldn't programming languages evolve over time or something? xS
12:14 IOninja Nah, it's eternally perfect now.
12:14 GauravArya the data dumper output of perl6 is very different.
12:14 GauravArya what does :a, :b, :c signify
12:14 IOninja GauravArya: a => True, b => True, c => True
12:14 SmokeMachine IOninja: I'm just trying to fix the role {method ^its-not-multi{}} problem
12:14 samcv m: say (:a).perl
12:14 camelia rakudo-moar 266f34: OUTPUT«:a␤»
12:14 samcv m: say (:a).say
12:14 camelia rakudo-moar 266f34: OUTPUT«a => True␤True␤»
12:14 samcv err put two says in there
12:14 IOninja GauravArya: it's a different language from Perl 5.
12:15 IOninja SmokeMachine: wasn't following so not sure what problem that is :)
12:15 RabidGravy Moo!
12:17 IOninja m: if ("0") { print "Perl 6\n" } else { print "Perl 5\n" }
12:17 camelia rakudo-moar 266f34: OUTPUT«Perl 6␤»
12:17 IOninja GauravArya: ^ that would print "Perl 5" if ran in Perl 5 :)
12:18 IOninja So even such basics as whether "0" is true are different
12:19 gfldex GauravArya: see https://docs.perl6.org/language/glossary#index-entry-Colon_Pair
12:19 gfldex GauravArya: colon pairs are mostly meant to be used as optional arguments but can be a shortcut to create a Pair too.
12:20 SmokeMachine m: role R {method ^bla(|) {say "worked"} } # IOninja: this
12:20 camelia rakudo-moar 266f34: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in multi (did you mean 'my method bla'?)␤    at <tmp>:1␤    ------> 3role R {method7⏏5 ^bla(|) {say "worked"} } # IOninja: thi␤»
12:22 GauravArya IOninja: yes. getting the hang of it.. :)
12:23 brabo joined #perl6
12:23 GauravArya gfldex: thanks for the doc link.. i came across this syntax, but it was in my pipeline to be looked up, one by one..
12:25 GauravArya must say, pretty neat shorthand..
12:25 GauravArya the colon pair..
12:26 IOninja Yup
12:27 samcv well i got it like 10% faster
12:27 IOninja m: dd [ :42posint, :num(65.3), :list<a b c>, :str<meows>, :hash{:42a}, :code{;} ]
12:27 camelia rakudo-moar 266f34: OUTPUT«[:posint(42), :num(65.3), :list(("a", "b", "c")), :str("meows"), :hash({:a(42)}), :code(-> ;; $_? is raw { #`(Block|52940440) ... })]␤»
12:27 samcv now in the for loop there's only one line, nested functions and such
12:27 samcv apply-pv-to-range2( |$range-str.split('..').map( { hex $_ } ), ....
12:27 samcv and that split can return either one or two values, depending on if it's a single value or a range
12:28 samcv so i have a multi and redirects which it goes to
12:30 confundus joined #perl6
12:30 gfldex GauravArya: it's not just a shorthand. see https://docs.perl6.org/language/subscripts#:exists
12:30 gfldex GauravArya: here is the implementation https://github.com/rakudo/rakudo/blob/nom/src/core/hash_slice.pm#L69
12:31 samcv kind of overkill though
12:31 samcv i gotta go to bed. night all! o/
12:32 llfourn joined #perl6
12:38 GauravArya joined #perl6
12:39 timotimo samcv: any reason you can't .map(&hex) instead?
12:40 timotimo is that because hex is a multi that can take two arguments and map would grab two items from the iterator?
12:41 GauravArya gfldex: what does this mean? '%h<a b c> = <1 2 3>'
12:41 Geth ¦ doc: 27c280a81f | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6
12:41 Geth ¦ doc: doc ~~ on Set/Bag
12:41 Geth ¦ doc: review: https://github.com/perl6/doc/commit/27c280a81f
12:42 gfldex GauravArya: the left side selects the pairs behind the keys <a b c> and the right side assigns values. The Hash will autovivify if needed.
12:43 IOninja m: class Foo {}; say Foo.new ~~ Foo.new
12:43 camelia rakudo-moar 266f34: OUTPUT«False␤»
12:43 IOninja m: say [1, 2] ~~ [1, 2]
12:43 camelia rakudo-moar 266f34: OUTPUT«True␤»
12:43 gfldex GauravArya: <foo bar> is a list literal, those can be used in quite a few spots
12:43 IOninja m: say [1, 2] === [1, 2]
12:43 camelia rakudo-moar 266f34: OUTPUT«False␤»
12:44 * gfldex .oO( Some equal things are more equal then others. )
12:45 IOninja The "Any:D -> object identity" for smartmatch isn't accurate. I think value types are checked for equivalence, and that'd subsume Setties, Baggies, and Mixies, along with Lists and Maps (and Seqs?)
12:45 IOninja m: say (1, 2).Seq ~~ (1, 2).Seq
12:45 camelia rakudo-moar 266f34: OUTPUT«False␤»
12:45 IOninja m: say (1, 2).Bag ~~ (1, 2).Mix
12:45 camelia rakudo-moar 266f34: OUTPUT«True␤»
12:46 IOninja And Bag is a degenerate Mix and Set is a degenerate Bag
12:46 IOninja m: say (1, 2).Bag ~~ (1, 2).MixHash
12:46 camelia rakudo-moar 266f34: OUTPUT«True␤»
12:46 IOninja hm
12:46 GauravArya gfldex: i see. i got the %h<a b c>=<1 2 3> part.. but why the sub is defined as my %h, then the populate part, and then %h again before sub ends. didn't understand this sequence.
12:47 timotimo the last part is because they want the hash itself to be returned by the sub
12:48 timotimo m: my %h; dd %h<a b c> = <1 2 3>
12:48 camelia rakudo-moar 266f34: OUTPUT«(IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3"))␤»
12:48 timotimo when you just output the result of that whole assignment, it's just a list of the things you put in
12:48 timotimo rather than the hash that they got assigned into
12:50 gfldex GauravArya: In Perl * the last statement of a Block or Routine is the return value. We do have the explicite return and return-rw statements that fire control exceptions on top of returning a value.
12:51 timotimo i'm not sure "fire control exceptions" is a good way to explain that to someone who is new to the language :)
12:51 IOninja :)
12:52 GauravArya_ joined #perl6
12:53 IOninja वापसी पर स्वागत है
12:53 timotimo just know that "return" behaves like you'd expect - with the exception that it only returns from things with "sub" or "method"
12:53 GauravArya_ IOninja: thanks man.. where did you learn that from..
12:54 IOninja GauravArya_: google translate :}
12:54 GauravArya_ IOninja: hehe.. cool.. i was very surprised to see some hindi text as i was not expecting it.. :P
12:55 gfldex timotimo: it's not but it will put something in the back of his mind that might pop up when he needs it
12:56 GauravArya_ timotimo: i need to dig deeper.. its just that there are too many new things and I can't seem to stick to one and keep bobbing around all of them.. i now need to pick some and sit with them..
12:56 timotimo yeah, i can imagine that :)
12:56 timotimo there are a whole lot of interconnections, and places where the same underlying concept shines through, though
12:57 timotimo that could make learning progress much quicker .. maybe
12:57 timotimo i haven't had to learn perl6 from scratch for a long time :(
12:58 GauravArya_ I mean i have been doing  perl5 for some time, as I use it on a daily basis on my day job.. so for now, i am starting with looking to translate stuff which i like to do, but with perl6
12:58 gfldex in that last halve year about 50% of my doc commits read: link X to Y
12:58 gfldex and there is still plenty of work to do
13:00 IOninja Personally, I found Perl 6 very frustrating when I was trying to translate my Perl 5 into Perl 6. In particular trying to pass arguments to subs. I advocate forgetting Perl 5 entirely while learning Perl 6.
13:00 El_Che IOninja: I find the migration from Perl5/Moo(se) to Perl6 very gradual
13:01 IOninja m: some-sub (1, 2, 3), (4, 5, 6), (7, 8, 9) <- 9 args in Perl 5,  but only 3 args in Perl 6
13:01 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3sub (1, 2, 3), (4, 5, 6), (7, 8, 9) <- 97⏏5 args in Perl 5,  but only 3 args in Per␤    expecting any of:␤        infix␤        infix stopper␤        …»
13:01 IOninja oops, didn't mean to m:
13:02 GauravArya_ we don't have rakudo star for solaris, do we?
13:02 El_Che IOninja: yeah, but perl5 is the odd duck here. Most other languages behave like perl6.
13:02 RabidGravy yeah nearly everything I have made which has an equivalent in Perl 5  has been a rewrite from the ground up
13:02 timotimo giving yourself selective amnesia is a thing that humanity needs to figure out with science. we want that stuff! for reasons!
13:02 El_Che GauravArya_: no, I gave it a go (rakudo, not star) but I got stuck on libuv
13:02 El_Che GauravArya_: libuv compiled, but tests failed
13:03 El_Che RabidGravy: rewrite is something one does when looking at the code after a long time
13:03 El_Che "refactoring" :)
13:03 cdg joined #perl6
13:04 timotimo i imagine changing perl5 code to perl6 is scary, because you will be deleting so much
13:04 RabidGravy no I'm more of a continuous refactoring kind of person
13:06 GauravArya_ guys, just one question. how do I make an account so that I can login automatically so that I could skip the robocop
13:06 timotimo for IRC?
13:06 GauravArya_ yed
13:06 IOninja GauravArya_: get a proper IRC client, like HexChat (google for it)
13:06 timotimo there's multiple stages to automatically getting logged in :)
13:07 timotimo if you're more the console type, i'd recommend weechat
13:07 IOninja the freenode web chat we have a link to on our docs site has a very annoying captcha that you always get when you're on a not-very-trusted network
13:07 timotimo and if you have a server somewhere where you often ssh into, you can run weechat in a tmux session on that
13:07 timotimo oh, that explains it
13:08 pyrimidi_ joined #perl6
13:09 El_Che s/weechat/irssi/ ; s/tmux/screen/ if you're slightly older :)
13:09 IOninja heh
13:09 * IOninja runs weechat in a screen
13:09 El_Che middleage!
13:10 * moritz is slightly annoyed that mosh doesn't have a good SSH agent forwarding approach
13:11 timotimo El_Che: i see no reason why old people should use inferior software :)
13:12 El_Che timotimo: we are set in our ways and we don't know better :)
13:12 IOninja :)
13:12 El_Che I gave weechat a go not so long ago
13:12 GauravArya joined #perl6
13:12 El_Che I saw no reason to use it instead of irssi
13:12 GauravArya I will be back.. on Wee chat.. browser is notworking out..
13:13 GauravArya See you later guys. And Thank you so much for  answering my questions. I like it here.
13:13 El_Che see you
13:16 sena_kun anyone who is willing to review https://github.com/perl6/doc/pull/1187?
13:16 nhywyll joined #perl6
13:17 Geth ¦ doc: 1619a0683c | (Wenzel P. P. Peppmeyer)++ | doc/Language/list.pod6
13:17 Geth ¦ doc: fix example
13:17 Geth ¦ doc: review: https://github.com/perl6/doc/commit/1619a0683c
13:17 Geth ¦ doc: cdc953a23b | (Wenzel P. P. Peppmeyer)++ | doc/Language/list.pod6
13:17 Geth ¦ doc: link to Seq
13:17 Geth ¦ doc: review: https://github.com/perl6/doc/commit/cdc953a23b
13:19 Brumbazz joined #perl6
13:20 moritz lol I blug: https://perlgeek.de/blog-en/perl-6/2017-007-book-parse-errors.html
13:20 timotimo moritz: took me a second to realize that you don't blog about 007 :D
13:21 Brumbazz Hi guys :> I'm trying to install perl6 on my ubuntu machine. However no matter where I look, I see I have to install Parrot(VM). My question is, why is that nessecary ? Is perl6 run in a different way than previous versions ? Thanks in advance :>
13:21 moritz timotimo: :-)
13:22 masak moritz: I read the URL and went "huh! there are parse errors in the 007 book? waitjustaminute!"
13:22 timotimo well, for one, if you're required to install parrot, you're already getting a version that's far too outdated to be of any use
13:22 moritz Brumbazz: if you find installation instructions that talk about paart, they are outdated
13:22 robertle Brumbazz: https://github.com/tadzik/rakudobrew is what many people use, I guess the pages talking about parrot are jhust a bit outdated....
13:22 moritz these days, Rakudo Perl 6 runs on MoarmVM
13:22 timotimo but yeah, perl6 is run in a different way than previous perls. you can run it either with our own VM, which is MoarVM, or with JVM (though there are currently problems with that if i recall correctly)
13:24 Brumbazz ah ok, thanks :>  So perl6 runs on a VM like Java ?
13:24 moritz timotimo, masak: just sequential numbering
13:24 Geth ¦ doc: 3cef368034 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6
13:24 Geth ¦ doc: fix example
13:24 Geth ¦ doc: review: https://github.com/perl6/doc/commit/3cef368034
13:24 Geth ¦ doc: 02a3832889 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6
13:24 Geth ¦ doc: fix example
13:24 Geth ¦ doc: review: https://github.com/perl6/doc/commit/02a3832889
13:24 El_Che Brumbazz : I provide rakudo debs here: https://github.com/nxadm/rakudo-pkg/releases
13:24 moritz Brumbazz: basically all dynamic languages run on some sort of VM
13:25 moritz Brumbazz: Perl 5, Python, Ruby, ...
13:25 Brumbazz El_Che:  ahh that's awesome :D
13:25 moritz Brumbazz: they just start them on demand in the background, like Rakudo does too
13:25 El_Che Brumbazz: you can als install rakudo star (compile rakudo locally): http://rakudo.org/downloads/star/
13:25 moritz Brumbazz: and often the VM and the compiler are very intermingled
13:25 El_Che rakudo star compiles rakudo locally
13:27 Brumbazz moritz:  ahá, cool thanks :>
13:27 Brumbazz thanks El_Che  :>
13:27 Brumbazz I'll try it out :>
13:32 nhywyll joined #perl6
13:34 RabidGravy .seen tadzik
13:34 yoleaux I saw tadzik 7 Feb 2017 07:25Z in #perl6: <tadzik> samcv: hmm, I think it's the first time I see it and like it
13:37 nhywyll joined #perl6
13:43 RabidGravy .tell tadzik there may be a PR on JSON::Unmarshal later so that null in the JSON doesn't break assignment to a typed atrribute
13:43 yoleaux RabidGravy: I'll pass your message to tadzik.
13:43 mscha joined #perl6
13:44 mscha m: my @a = 2,3; my @b = 4,5; @a = @a X* @b; say @a; # This DWIM, but ...
13:44 camelia rakudo-moar 266f34: OUTPUT«[8 10 12 15]␤»
13:44 mscha m: my @a = 2,3; my @b = 4,5; @a X*= @b; say @a; # ... should't this do the same?
13:44 camelia rakudo-moar 266f34: OUTPUT«[40 60]␤»
13:45 timotimo why would it make @a bigger?
13:45 timotimo you're essentially running @a[0] *= @b
13:45 timotimo sorry
13:45 timotimo you're essentially running @a[0] *= @b[0]; @a[0] *= @b[1]; @a[1] *= @b[0]; @a[1] *= @b[1]
13:45 RabidGravy probably just "multi _unmarshal(Any:U, Mu:U $type) { $type }"
13:46 AlexDaniel I'm surprised it works, by the way! :)
13:46 mscha I was assuming that @a = @a op @b would be equivalent to @a op= @b.  Why isn't it?
13:46 timotimo you're Xing that op
13:46 timotimo oh!
13:46 timotimo you're assuming a different bracketing from me
13:46 timotimo m: my @a = 2,3; my @b = 4,5; @a [X*]= @b; say @a;
13:46 camelia rakudo-moar 266f34: OUTPUT«[8 10 12 15]␤»
13:46 timotimo there you go
13:47 mscha Ah, that's it, thanks.
13:47 timotimo it was doing X[*=] instead
13:47 yqt joined #perl6
13:49 ufobat left #perl6
13:49 ufobat joined #perl6
13:49 Geth ¦ doc: 0add03ee51 | Altai-man++ | doc/Type/Str.pod6
13:49 Geth ¦ doc: Correct input types for some adverbs
13:49 Geth ¦ doc: review: https://github.com/perl6/doc/commit/0add03ee51
13:51 moritz m: say (-5) % 256
13:51 camelia rakudo-moar 266f34: OUTPUT«251␤»
13:59 rindolf joined #perl6
14:02 lukaramu joined #perl6
14:02 Brumbazz .
14:03 cdg joined #perl6
14:06 cale2 joined #perl6
14:07 cale2 hey, whoever does the p6weekly, I wrote a quick script to scrape reddit.com/r/dailyprogrammer for perl6 solutions
14:08 cale2 It might be worthwhile to show some of the solutions
14:08 moritz cale2: you should blog about those solutions, then the p6weekly editors can simply link to your blog :-)
14:09 timotimo that'd be nice :)
14:09 timotimo i'll be writing the weekly again tomorrow
14:10 * moritz generates pretty tree maps in Perl 6, to visualize directory usage
14:10 timotimo neat :)
14:10 El_Che timotimo: can you mention syntatic-perl6 (vim syntax error checking)?
14:11 El_Che timotimo: the new part is that it uses the new JSON error output of rakudo
14:11 timotimo yup!
14:12 El_Che timotimo: I hope I get some input before I send it upstream to syntastic
14:16 cale2 Right now I'm just outputting the results to a markdown file
14:17 cale2 it seems there's only a couple users that use perl6 for solutions
14:17 cale2 here's one: https://www.reddit.com/r/dailyprogrammer/comments/5rlpz1/20170202_challenge_301_easyintemerdiate_looking/dd8fd2i
14:17 cale2 and another: https://www.reddit.com/r/dailyprogrammer/comments/5seexn/20170206_challenge_302_easy_spelling_with/ddezgqo
14:18 Geth ¦ doc/tilde-explanation: b6a62da38a | Altai-man++ | doc/Language/regexes.pod6
14:18 Geth ¦ doc/tilde-explanation: Draft of tilde character explanation
14:18 Geth ¦ doc/tilde-explanation: review: https://github.com/perl6/doc/commit/b6a62da38a
14:21 timotimo you could run it with cron and upload results to a github repository? :)
14:24 moritz wow, my next blog post already has 22k characters, and isn't even finished yet
14:24 moritz I guess I'll split it up into two
14:25 Geth ¦ doc: Altai-man++ created pull request #1190: Draft of tilde character explanation
14:25 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1190
14:37 tbrowder hi, #perl6
14:37 moritz \o tbrowder
14:38 sena_kun tbrowder, hi.
14:38 tbrowder another day, another question: how do i use a regex with when? do i need to explicitly use the $_ and ~~?
14:39 moritz m: given 'foo' { when /.($0) / { say ~$/ } }
14:39 camelia rakudo-moar 266f34: ( no output )
14:39 tbrowder i try when /b/ { say "foo" } and get an error
14:39 AlexDaniel which error?
14:39 moritz m: given 'foo' { when /.($0) / { say ~$/ }; default { say "no match" } }
14:39 camelia rakudo-moar 266f34: OUTPUT«no match␤»
14:40 moritz m: given 'foo' { when /.. / { say ~$/ }; default { say "no match" } }
14:40 camelia rakudo-moar 266f34: OUTPUT«fo␤»
14:40 RabidGravy m: my @f = { class => class { has Int $.attr } },; say @f.perl
14:40 camelia rakudo-moar 266f34: OUTPUT«When invoking 2 '', provided outer frame 0x15a8640 (4 '<unit>') does not match expected static frame 0x15a8748 (3 '')␤  in block <unit> at <tmp> line 1␤␤»
14:40 Geth ¦ doc/contributing-examples-style: b3c4ed230b | Altai-man++ | CONTRIBUTING.md
14:40 Geth ¦ doc/contributing-examples-style: Explain examples output style
14:40 Geth ¦ doc/contributing-examples-style: review: https://github.com/perl6/doc/commit/b3c4ed230b
14:40 AlexDaniel m: given 'foo' { when /(.)$0 / { say ~$/ }; default { say "no match" } }
14:40 camelia rakudo-moar 266f34: OUTPUT«oo␤»
14:40 RabidGravy yuk
14:40 AlexDaniel moritz: ;)
14:40 moritz AlexDaniel: thanks, I'm dumb
14:40 AlexDaniel RabidGravy: wow!
14:40 moritz RabidGravy: yes, looks like a nicely golf'd bug
14:42 AlexDaniel oh, by the way
14:42 AlexDaniel mch: my @f = { class => class { has Int $.attr } },; say @f.perl
14:42 committable6 AlexDaniel, https://gist.github.com/c1f6dcebb689c9a8fa805f20493cb4bb
14:43 AlexDaniel xD
14:43 AlexDaniel c: all my @f = { class => class { has Int $.attr } },; say @f.perl
14:43 committable6 AlexDaniel, https://gist.github.com/8a9a8944dbb43fb40aad0f17332d83da
14:44 tbrowder well, i lied with my example. i think i forgot the regex adverb. but does the when require a given? the examples in the docs don't use it, they are in a for loop using when on the implicit $_
14:44 AlexDaniel tbrowder: no, it simply works with $_
14:44 AlexDaniel tbrowder: but you might want to use given to set $_ :)
14:45 Geth ¦ doc/contributing-examples-style: 46ffe0d035 | Altai-man++ | CONTRIBUTING.md
14:45 Geth ¦ doc/contributing-examples-style: Explain examples output style
14:45 Geth ¦ doc/contributing-examples-style: review: https://github.com/perl6/doc/commit/46ffe0d035
14:45 RabidGravy I think that it's just LTA for "I'm interpreting something as a code block"
14:46 tbrowder m: given 'goo' { when :i/^G/ { say "goo" }}
14:46 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5===␤Expression needs parens to avoid gobbling block␤at <tmp>:1␤------> 3given 'goo' { when :i/^G/ { say "goo" }7⏏5}␤Missing block (apparently claimed by expression)␤at <tmp>:1␤------> 3given 'goo' { when :i/^G/ { say "goo"…»
14:46 Geth ¦ doc: Altai-man++ created pull request #1192: Contributing examples output style explanation
14:46 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1192
14:46 tbrowder that's the error i get
14:46 khisanth_ joined #perl6
14:47 tbrowder i haven't yet tried the adverb inside the slashes
14:48 AlexDaniel m:i perhaps?
14:48 moritz tbrowder: use rx:i/.../
14:48 AlexDaniel moritz: what would be the benefit over m:i?
14:49 tbrowder okay, i don't think that's clear in the docs
14:50 tbrowder examples in regexs show the raw adverb ( but nothing for when examples. so is that an exceptional use?
14:50 moritz AlexDaniel: m// has "match immediately" semantics that I don't find really clear
14:50 timotimo garrrghhhh, why does this project need to be built with ironpython
14:50 mrdside_ joined #perl6
14:50 mrdside_ can anybody help me with grammar?
14:51 mrdside_ https://gist.github.com/mrDSide/99a925984ec0ef17a4a4c5960251c6f1
14:51 moritz AlexDaniel: which is why I avoid m// mostly
14:51 llfourn joined #perl6
14:51 RabidGravy I'll rakudobug that then, not quite sure how to describe it
14:51 [Coke] (docs) why does xt/examples-compilation run a makefile target instead of running the script directly?
14:51 mrdside_ No such method 'made' for invocant of type 'Array'
14:52 sena_kun [Coke], oh, I've missed it. I'll fix it right now.
14:52 timotimo oh, it's actually not built in ironpython, it's a c# program that allows scripting with python
14:52 tbrowder so is that a bug?
14:52 mrdside_ in regex TOP at right_the_way.p6 line 5
14:52 moritz mrdside_: [<crd>|<exp>]+ makes $<crd> and $<exp> an array
14:52 moritz mrdside_: not a match
14:52 mrdside_ solution?
14:53 mrdside_ i'm understand
14:53 moritz mrdside_: what do you want to happen when <rd> matches multiple times?
14:53 mrdside_ but no idea
14:53 moritz well, that's the first step
14:53 moritz find out what you want to happen
14:53 mrdside_ it sould happend multiple times, and for each will .made
14:54 moritz so $<exp>.map: *.made
14:54 mrdside_ for eash Match do .made
14:54 mrdside_ in method?
14:54 moritz instead of $<exp>.made
14:54 tbrowder m: given 'g' { when /:i ^G/ { say "g"}}
14:54 camelia rakudo-moar 266f34: OUTPUT«g␤»
14:55 mrdside_ moritx: thx
15:00 travis-ci joined #perl6
15:01 travis-ci Doc build passed. Altai-man 'Draft of tilde character explanation'
15:01 travis-ci https://travis-ci.org/perl6/doc/builds/200870278 https://github.com/perl6/doc/commit/b6a62da38aa2
15:01 travis-ci left #perl6
15:01 Geth ¦ doc: 2abaecd747 | Altai-man++ | xt/examples-compilation.t
15:01 Geth ¦ doc: Run extraction script directly with shell
15:01 Geth ¦ doc: review: https://github.com/perl6/doc/commit/2abaecd747
15:01 sena_kun [Coke], indirection is fixed.
15:08 [Coke] sena_kun: one last thing: instead of "perl6" use $*EXECUTABLE-NAME
15:08 [Coke] sena_kun++
15:08 Geth ¦ doc: d11c913e3e | (Will "Coke" Coleda)++ | doc/Type/UInt.pod6
15:08 Geth ¦ doc: fix typo
15:08 Geth ¦ doc: review: https://github.com/perl6/doc/commit/d11c913e3e
15:09 sena_kun [Coke], sure, just a sec...
15:09 travis-ci joined #perl6
15:09 travis-ci Doc build passed. Altai-man 'Explain examples output style'
15:09 travis-ci https://travis-ci.org/perl6/doc/builds/200874289 https://github.com/perl6/doc/commit/b3c4ed230bf0
15:09 travis-ci left #perl6
15:11 wamba joined #perl6
15:11 Geth ¦ doc: c7b50526db | Altai-man++ | xt/examples-compilation.t
15:11 Geth ¦ doc: Use a variable instead of plain name
15:11 Geth ¦ doc: review: https://github.com/perl6/doc/commit/c7b50526db
15:12 tadzik computer, messages
15:12 yoleaux 13:43Z <RabidGravy> tadzik: there may be a PR on JSON::Unmarshal later so that null in the JSON doesn't break assignment to a typed atrribute
15:12 tadzik oh, sweet
15:13 RabidGravy got sidetracked by yon freaky rakudobug
15:14 cognominal hi, there is a proliferation of bots in #perl6 and #perl6-dev. Is there a page that documents them and gives a pointer to their source code ?
15:14 cognominal I suppose that now, many or most of them are written in Perl 6
15:14 Geth ¦ doc: WildYorkies++ created pull request #1193: add haskell-to-p6 file
15:14 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1193
15:14 MasterDuke cognominal: https://github.com/perl6/doc/issues/711
15:15 cognominal ho, I just found https://github.com/perl6/whateverable
15:16 cognominal thx, MasterDuke
15:16 [Coke] IOninja: I wouldn't bother removing [BUG] from things that are now tagged as testneeded in RT.
15:19 [Coke] so many doc tickets closed since yesterday, but we're still at 215. *sadface*
15:19 travis-ci joined #perl6
15:19 travis-ci Doc build passed. Altai-man 'Explain examples output style'
15:19 travis-ci https://travis-ci.org/perl6/doc/builds/200875272 https://github.com/perl6/doc/compare/b3c4ed230bf0...46ffe0d03568
15:19 travis-ci left #perl6
15:20 pyrimidine joined #perl6
15:20 RabidGravy that's gone in as RT #130763 if anyone fancies taking a look :)
15:20 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130763
15:22 cdg_ joined #perl6
15:32 tbrowder ref when: is it a bug or a known (but undocumented) rule that a bare regex adverb in front of the first slash throws an exception?
15:33 tbrowder either way, i'll update the when doc...
15:33 moritz tbrowder: if you have an adverb followed by regex, you simply have two terms in a row
15:33 moritz or rather, the adverb is parsed as a term, and the next / then as the division operator
15:33 robertle joined #perl6
15:33 moritz so yes, updating the docs on proper application of regex adverbs sounds like a good idea
15:34 tbrowder so only one term is allowed with when before the braces?
15:35 cale2 does andthen and orelse only make sense in the context of promises?
15:35 cale2 I can't figure out when andthen would make sense
15:35 moritz tbrowder: perl 6 generally doesn't allow two terms in a row
15:35 CIAvash m: 'test' ~~ :i/test/
15:35 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3'test' ~~ :i/test/7⏏5<EOL>␤    expecting any of:␤        prefix␤        term␤»
15:36 CIAvash tbrowder: it has nothing to do with when, If I understood you correctly ↑
15:36 tbrowder okay, i'll bite: how about the bare adverbs shown in the regex docs?
15:37 moritz tbrowder: where?
15:37 tbrowder okay let me find them...
15:39 mrdside_ moritz: got 'pu=()' for each match
15:39 mrdside_ https://gist.github.com/mrDSide/99a925984ec0ef17a4a4c5960251c6f1
15:40 IOninja m: my @f = %( class => class  { has Int $.attr; } ),; say @f.perl
15:40 camelia rakudo-moar 266f34: OUTPUT«[{:class(<anon|80222704>)},]␤»
15:40 travis-ci joined #perl6
15:40 travis-ci Doc build errored. Altai-man 'Run extraction script directly with shell'
15:40 travis-ci https://travis-ci.org/perl6/doc/builds/200878708 https://github.com/perl6/doc/compare/0add03ee51a5...2abaecd747c6
15:40 travis-ci left #perl6
15:41 IOninja m: { class => class { } }()
15:41 camelia rakudo-moar 266f34: OUTPUT«When invoking 1 '', provided outer frame 0x29dc500 (3 '<unit>') does not match expected static frame 0x29dc608 (2 '')␤  in block <unit> at <tmp> line 1␤␤»
15:41 moritz mrdside_: I can't and won't debug a whole grammar for you. My advise is to test each regex individually
15:42 moritz because writing and debuggiing a single regex is much easier than doing it with a whole grammar
15:44 moritz (and debugging a grammar without input data is impossible anyway, and not made easier by the use of an unfamiliar script)
15:44 Xliff Grammar::Tracer is your friend
15:44 mrdside_ moritz: whitout `.map` works everhyting, when i use `.made` in loop; like this - `my $people = $line<people>.made`
15:45 mrdside_ problem not with regexes
15:45 mrdside_ i get lines, but empty
15:46 moritz mrdside_: my impression is that the language barrier between us is simply too big
15:47 tbrowder okay, i did not find an example. but one thing i think is misleading is the statement about the adverb can come before or after the start of the regex declaration...I don't have the line number at hand
15:47 moritz maybe somebody else has more experience or patience with that kind of thing
15:48 sena_kun mrdside_, I'm still here. :)
15:48 moritz tbrowder: find it, change it to say that adverbs outside the regex need to come after something that introduces the regexes, like 'rx' or 'm'
15:48 sena_kun Ah, he left already. :/
15:48 tbrowder WILCO
15:49 khw joined #perl6
15:53 colomon_ joined #perl6
15:57 mrdside_ joined #perl6
15:58 pyrimidi_ joined #perl6
16:00 mrdside_ moritz: sorry, but maybe you can give me advice about what i need to do before parse new file, because errors happens after parsing first file
16:01 sena_kun mrdside_, hi! You can pm me once more if I'm appropriate person.
16:02 camelia joined #perl6
16:03 nine m: say "Hi from { $*DISTRO.name } {$*DISTRO.release}"
16:03 camelia rakudo-moar 266f34: OUTPUT«Hi from opensuse 42.2␤»
16:03 nine \o/
16:03 timotimo you done upgraded?
16:03 nine yep
16:04 nine Piece of cake compared to moving my sister's and her boyfriend's wordpress into a VM
16:06 timotimo oh, wordpress
16:06 moritz mrdside_: is it a problem with the contents of the second file? Or always with the second file, no matter the order in which you pass in the files?
16:06 timotimo it took me a few days, but i finally found a way to see all comments again from the wordpress dashboard
16:06 timotimo it turns out they hid every single interesting thing behind a "go to wp admin" button at the bottom left
16:06 nine Ah, of course! Need to install php5-mysql. No need to log any errors about that. Just return nothing at all, that's how we like our challenges
16:06 timotimo totally
16:08 RabidGravy .tell tadzik there you go matey https://github.com/tadzik/JSON-Unmarshal/pull/23 - it would be a great boon if you could look as I found it testing something else :)
16:08 yoleaux RabidGravy: I'll pass your message to tadzik.
16:08 nine Now it's telling me "Error establishing a database connection". No need to go into details there either...
16:08 timotimo yup, just mtrace it !!!kk
16:08 timotimo or is it called ltrace?
16:08 moritz strace?
16:08 timotimo i mean the other one
16:09 timotimo strace is for syscalls, the other one is for any library
16:09 nine Ok, it's finally up.
16:09 moritz oh
16:21 travis-ci joined #perl6
16:21 travis-ci Doc build errored. Altai-man 'Use a variable instead of plain name'
16:21 travis-ci https://travis-ci.org/perl6/doc/builds/200880853 https://github.com/perl6/doc/compare/d11c913e3e3e...c7b50526db0d
16:21 travis-ci left #perl6
16:21 FiveBroDeepBook joined #perl6
16:21 FiveBroDeepBook left #perl6
16:28 lichtkind joined #perl6
16:29 TEttinger joined #perl6
16:31 espadrine joined #perl6
16:38 llfourn joined #perl6
16:44 cibs joined #perl6
16:50 FiveBroDeepBook joined #perl6
16:51 Geth ¦ perl6-most-wanted: 076e750247 | (Tom Browder)++ | most-wanted/modules.md
16:51 Geth ¦ perl6-most-wanted: Update modules.md
16:51 Geth ¦ perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/076e750247
16:52 kurahaupo__ joined #perl6
17:05 BenGoldberg joined #perl6
17:06 RabidGravy tadzik++ # nice one cheers!
17:07 BenGoldberg joined #perl6
17:10 someone123 joined #perl6
17:26 timotimo could i get some folk's opinion on https://github.com/MoarVM/MoarVM/pull/536 ?
17:28 * IOninja has no opinions
17:29 gfldex since there is no need to doc that … :->
17:30 gfldex none the less there shall be many hugs come your way
17:33 geekosaur joined #perl6
17:38 cyphase joined #perl6
17:39 llfourn joined #perl6
17:42 AlexDaniel joined #perl6
17:51 IOninja m: my $x ="ab\x[308]c"; $x ~~ tr /:ignoremark <[a..c]>+ /XYZ/; say $x
17:51 camelia rakudo-moar 266f34: OUTPUT«Zb̈Y␤»
17:51 IOninja seems ignoremark is... ignored?
17:51 IOninja and regexes work? tr/// don't do regexes in Perl 5
17:54 IOninja m: my $x ="ab\x[308]c"; $x ~~ tr:i/<[A..C]>+ /XYZ/; say $x
17:54 camelia rakudo-moar 266f34: OUTPUT«ab̈c␤»
17:59 nine joined #perl6
18:01 camelia joined #perl6
18:02 geekosaur joined #perl6
18:10 nine m: say "alive"
18:10 camelia rakudo-moar 266f34: OUTPUT«alive␤»
18:10 nine Excellent. Host system upgraded as well.
18:11 colomon joined #perl6
18:11 cale2 it's a start: https://github.com/WildYorkies/daily-programmer-examples/blob/master/perl6_daily_programmer.md
18:12 wamba joined #perl6
18:15 sena_kun IOninja++
18:16 colomon joined #perl6
18:21 colomon joined #perl6
18:24 TimToady m: my $x = ":ignoremark"; $x ~~ tr/:ignoremark/A..Z/; $x.say
18:24 camelia rakudo-moar 266f34: OUTPUT«ABCDEFGHIFK␤»
18:26 colomon joined #perl6
18:31 girafe joined #perl6
18:32 mr-foobar joined #perl6
18:36 IOninja Oh
18:38 Geth ¦ doc/master: 21 commits pushed by Cale++
18:38 Geth ¦ doc/master: review: https://github.com/perl6/doc/compare/c7b50526db...e425ca4d19
18:39 llfourn joined #perl6
19:05 travis-ci joined #perl6
19:05 travis-ci Doc build passed. Cale 'Merge pull request #1193 from WildYorkies/master
19:05 travis-ci https://travis-ci.org/perl6/doc/builds/200924494 https://github.com/perl6/doc/compare/c7b50526db0d...e425ca4d1954
19:05 travis-ci left #perl6
19:10 wictory[m] joined #perl6
19:17 dj_goku joined #perl6
19:17 dj_goku joined #perl6
19:24 tadzik joined #perl6
19:24 M-Illandan joined #perl6
19:24 dp[m] joined #perl6
19:24 Matthew[m] joined #perl6
19:24 ilmari[m] joined #perl6
19:24 CIAvash[m] joined #perl6
19:24 Matias[m] joined #perl6
19:24 xui_nya[m] joined #perl6
19:24 mulk[m] joined #perl6
19:24 mienaikage joined #perl6
19:28 Geth ¦ doc: 8ac9a9cb5e | (Tom Browder)++ | doc/Language/regexes.pod6
19:28 Geth ¦ doc: emphasize proper syntax for regex adverbs
19:28 Geth ¦ doc: review: https://github.com/perl6/doc/commit/8ac9a9cb5e
19:29 agentzh joined #perl6
19:32 colomon_ joined #perl6
19:33 BenGoldberg joined #perl6
19:33 Geth ¦ doc: 557090c2ef | (Tom Browder)++ | doc/Language/control.pod6
19:33 Geth ¦ doc: add a regex example, add missing newlines
19:33 Geth ¦ doc: review: https://github.com/perl6/doc/commit/557090c2ef
19:37 Geth ¦ doc: 67884406c2 | (Siavash Askari Nasr)++ | doc/Language/haskell-to-p6.pod6
19:37 Geth ¦ doc: Some modifications for haskell-to-p6
19:37 Geth ¦ doc:
19:37 Geth ¦ doc: - { * } doesn't become { $_ }, it returns a Whatever
19:37 Geth ¦ doc: - Remove the explicit smartmatch
19:37 Geth ¦ doc: - Mention the defined-or operator
19:37 Geth ¦ doc: review: https://github.com/perl6/doc/commit/67884406c2
19:39 llfourn joined #perl6
19:44 ale4L3 joined #perl6
19:46 gfldex cale2: I blame you for https://www.reddit.com/r/dailyprogrammer/comments/5st2so/20170208_challenge_302_intermediate_ascii/ddnpv66/
19:46 samcv good * perl6
19:48 moritz \o samcv
19:48 moritz samcv: what time zone do you live in?
19:48 samcv -8 i think
19:50 moritz I'm in +1 ATM, that explains some of our relatively shifted rhythm :-)
19:50 * moritz can't spell that word
19:50 samcv words
19:50 cale2 gfldex: nice! I'm gonna play around with that
19:51 ale4L3 joined #perl6
19:51 samcv hey cale2
19:51 cale2 hey
19:52 gfldex i wanted to show off with our multi-dim array subscripts for quite some time :)
19:52 ssotka joined #perl6
19:55 bjz joined #perl6
19:55 gfldex m: say 1 ≥ 2
19:55 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3say 17⏏5 ≥ 2␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤        statemen…»
19:59 cale2 m: my $input = Q:to /EOH/;     140 190 1 8     5     140 150 1     150 160 0     160 170 7     170 180 6     180 190 2     EOH  sub MAIN(){     # my $input = slurp;     my ($min-x, $max-x, $min-y, $max-y) = $input.lines[0].split(' ');     my $records = $input.lines[1];     for $max-y … 1 -> $y {         print $y;         for 1 … $records -> $x {             my $data = $input.lines[$x+1].split(' ')[2];             print „   “;
19:59 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3my $input = Q:to /EOH/;     1407⏏5 190 1 8     5     140 150 1     150 160␤    expecting any of:␤        infix␤        infix stopper␤        statement…»
19:59 cale2 lol
19:59 gfldex cale2: i will gist it
20:00 cale2 gfldex: I have a way to scrape all the answers, since the beginning of ever, but I don't know what to do with them once I get them.
20:00 gfldex cale2: https://gist.github.com/936fa016603f3b1d2fe7a7a4563c151a
20:01 gfldex cale2: well you do `git clone https://gist.github.com/gfldex/936fa016603f3b1d2fe7a7a4563c151a; cd 936fa016603f3b1d2fe7a7a4563c151a; perl6 5st2so.p6`
20:03 cale2 gfldex: Oh, I ran that in glot.io already :) I'm talking about this: https://github.com/WildYorkies/daily-programmer-examples
20:03 cale2 Perhaps it would be better to write a bot so that it can actively listen for new updates all the time, and then push the solutions somewhere
20:10 samcv can you use zef to find which modules depend on another module?
20:11 gfldex samcv: you may be able to combine --depsonly with --dry (I didn't test)
20:11 IOninja star: use LWP::Simple; from-json(LWP::Simple.get("http://ecosystem-api.p6c.org/projects.json")).grep({.<depends>.any eq "HTTP::UserAgent"}}».<name>.say
20:12 camelia star-m 2016.10: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3ep({.<depends>.any eq "HTTP::UserAgent"}7⏏5}».<name>.say␤»
20:12 IOninja star: use LWP::Simple; from-json(LWP::Simple.get("http://ecosystem-api.p6c.org/projects.json")).grep({.<depends>.any eq "HTTP::UserAgent"})».<name>.say
20:12 camelia star-m 2016.10: OUTPUT«Use of uninitialized value of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤  in block  at <tmp> line 1␤Use of uninitialized value of type Any in string context.␤Methods .^name, .…»
20:12 IOninja star: use LWP::Simple; quietly from-json(LWP::Simple.get("http://ecosystem-api.p6c.org/projects.json")).grep({.<depends>.any eq "HTTP::UserAgent"})».<name>.say
20:12 camelia star-m 2016.10: OUTPUT«(TelegramBot Selenium::WebDriver Questhub Crust WebService::GitHub JSON::Infer HTTP::Signature WebService::Soundcloud WebService::GoogleDyDNS Discord WebService::SOP Audio::Icecast Geo::Coder::OpenCage Task::Galaxy deredere Lumberjack::Application App::AizuOnl…»
20:12 wamba joined #perl6
20:13 moritz IOninja++
20:13 samcv curl -s 'https://raw.githubusercontent.com/perl6/ecosystem/master/META.list' | xargs -I '{}' curl -s '{}' | grep Foo
20:13 samcv heh
20:14 gfldex zef would recurse tho
20:14 samcv i mean ecosystem modhules depend on each other so this should work I think
20:16 pyrimidine joined #perl6
20:24 BenGoldberg joined #perl6
20:25 setty1 joined #perl6
20:28 kjk joined #perl6
20:29 agentzh joined #perl6
20:30 kjk hello, I'm trying to implement a >= operator like this:  sub infix:< ≥ >(\a, \b) is assoc<chain> is equiv(&infix:<< >= >>) { a >= b }
20:30 kjk but it doesn't work as expected: if 1 ≥ 2 ≥ 0 { say 'OMG!' } else { say "that's more like it." }
20:30 kjk says 'OMG!'
20:31 kjk what am I doing wrong?
20:31 gfldex kjk: you are trying to reinvent the wheel i suppose
20:31 gfldex m: my &infix:«≤» := &infix:«<=»; say 1 ≤ 2;
20:31 camelia rakudo-moar 266f34: OUTPUT«True␤»
20:32 kjk p6: say 1 ≥ 2;
20:32 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3say 17⏏5 ≥ 2;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤        stateme…»
20:33 kjk ≥ doesn't seem to work? that's why I tried to implement it and to learn, of course
20:33 AlexDaniel kjk: but the idea is to bind it to >= intead of actually implementing it
20:33 AlexDaniel s
20:34 AlexDaniel m: my &infix:«≤» := &infix:«<=»; my &infix:«≥» := &infix:«>=»; say 1 ≤ 2; say 1 ≤ 2 ≥ 0;
20:34 camelia rakudo-moar 266f34: OUTPUT«True␤True␤»
20:36 kjk oh~ ic..., so that's how you bind it
20:36 kjk but why my sub didn't work?
20:37 samcv because you're using an index operator much more complicatedy
20:38 samcv though maybe assoc<chain> is supposed to work idk
20:38 AlexDaniel I remember there was some issue with it…
20:40 gfldex Rakudo seams not to care for assoc<chain> for =>
20:40 gfldex >= even
20:41 gfldex if everything is bigger in Texas where is everything smaller?
20:41 llfourn joined #perl6
20:41 AlexDaniel in perl 6
20:42 gfldex i need a module name for unicode variants of quite a few things
20:43 kjk p6: my &infix:«≥» := &infix:«>=»; say 1 ≥ 2 ≥ 0;
20:43 camelia rakudo-moar 266f34: OUTPUT«True␤»
20:44 kjk looks like it's not chaining
20:44 AlexDaniel … let's just add ≥ to core. The rest can be in a module, fine. But please…
20:44 RabidGravy joined #perl6
20:45 kjk anyway, I don't really care about having ≥ (though it would be nice if it works), I was just playing with unicode and got curious if that would work.
20:45 gfldex ¬ ∧ ∨ ⊻ ≥ ≤ are all on my list
20:45 kjk thanks for looking it
20:46 AlexDaniel huggable: texas
20:46 huggable AlexDaniel, All of Perl 6's fancy Unicode operators have traditional ASCII symbol alternatives (aka Texas Variants): See http://doc.perl6.org/language/unicode_texas
20:46 AlexDaniel hmmm
20:46 AlexDaniel gfldex: fwiw: https://gist.github.com/AlexDaniel/c89bd2786f9b63f31e4c
20:48 AlexDaniel u: 🍦
20:48 unicodable6 AlexDaniel, U+1F366 SOFT ICE CREAM [So] (🍦)
20:48 AlexDaniel soft ice cream but no hard ice cream!
20:48 AlexDaniel u: 🖪🖬
20:48 unicodable6 AlexDaniel, U+1F5AA BLACK HARD SHELL FLOPPY DISK [So] (🖪)
20:48 unicodable6 AlexDaniel, U+1F5AC SOFT SHELL FLOPPY DISK [So] (🖬)
20:49 AlexDaniel :|
20:51 IOninja kjk: basically > and friends are currently parsed specially in the grammar so you can't do them properly by just defining your own ops.
20:52 IOninja The chaining assoc will work, but that doesn't let you mix the chainees, so it's pretty useless.
20:53 sena_kun AlexDaniel, there are even worse cases. Like...
20:53 IOninja It is in the plans to make it work though, so... "check back later" :)
20:53 sena_kun u: 👯
20:53 unicodable6 sena_kun, U+1F46F WOMAN WITH BUNNY EARS [So] (👯)
20:53 sena_kun but no other variants of ears!
20:54 AlexDaniel just ZWJ it with other animals or whatever
20:54 IOninja m: "\c[men with bunny ears partying]".say
20:54 camelia rakudo-moar 266f34: OUTPUT«👯‍♂️␤»
20:54 AlexDaniel see!
20:54 sena_kun oh god
20:55 sena_kun but.
20:55 tbrowder um, looking into the web world again: anyone had any experience with web server named "caddy?", programmed in go, referenced on the letsencrypt.org website as a client--its features look pretty slick!
20:57 sena_kun it is still incomplete - there is no fox ears. To connect nations Unicode should be extended!
20:59 IOninja "AlexDaniel │ … let's just add ≥ to core."
20:59 IOninja I recall TimToady mentioning wanting to make it possible to do in userspace first.
20:59 IOninja And if we're to add it to core then, we'd just make an op
20:59 AlexDaniel well, we've waited for a year now…
21:00 IOninja Well, Rakudo's opensource ;) Pop up your editor and start making things possible :)
21:00 AlexDaniel yea, that's a good idea
21:01 IOninja Insteresting... Can't search chat logs for "≥"
21:06 kjk IOninja: gotcha, thanks.
21:07 BenGoldberg joined #perl6
21:32 jraglin joined #perl6
21:33 bpmedley joined #perl6
21:36 bolangi joined #perl6
21:40 colomon_ joined #perl6
21:42 llfourn joined #perl6
21:44 BenGoldberg joined #perl6
21:45 bjz joined #perl6
21:47 bolangi joined #perl6
22:21 ssotka joined #perl6
22:27 agentzh joined #perl6
22:38 jraglin joined #perl6
22:38 moritz the IRC logs use a stemmed search index, and I guess that the stemming reduces ≥ to the empty string
22:44 llfourn joined #perl6
22:54 TEttinger U+7F46F DOG WITH CAT EARS [So] (y)
22:56 IOninja m: "\c[7F46F]".uniname.say
22:56 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized \c character␤at <tmp>:1␤------> 3"\c[7⏏7F46F]".uniname.say␤    expecting any of:␤        double quotes␤        term␤»
22:56 IOninja m: "\x[7F46F]".uniname.say
22:56 camelia rakudo-moar 266f34: OUTPUT«<illegal>␤»
22:56 IOninja u lie
22:56 TEttinger :D
22:57 TEttinger hence why the char was "y"
22:57 TEttinger as in, "y u do dis"
22:59 TEttinger U+7ED3C DOG WITH FLOOFY POOFAGE AND WIDDLE BITTY STUBBER STOMPERS [So] ( http://i.imgur.com/c85Wah7.jpg )
23:03 kurahaupo_ joined #perl6
23:10 timotimo https://cdn-images-1.medium.com/max/800/1*wPRcBE66_sj_AppB4tQ3lw.png - neural-network generated nightmare-fuel "dog"
23:10 IOninja There is a weird dog one though: 🐶 U+D88F BEATEN DOG
23:11 IOninja timotimo: the one google AI makes are creepier: http://static5.businessinsider.com/image/559d8be1371d22ce178b5d83-887-884/guia%20google%20ai%201.png
23:12 IOninja Or this one: http://www.slate.com/content/dam/slate/articles/technology/bitwise/2015/07/150723_BIT_GoogleDream.jpg.CROP.promo-xlarge2.jpg
23:20 TEttinger http://psychic-vr-lab.com/deepdream/pics/1166309.html
23:23 BenGoldberg joined #perl6
23:23 TEttinger octocat is surprising, http://psychic-vr-lab.com/deepdream/pics/1166014.html
23:38 lep-delete joined #perl6
23:43 Hotkeys is there an easy way to quote lone combining chars
23:43 Hotkeys m: say "̚"
23:43 camelia rakudo-moar 266f34: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3say7⏏5 "̚"␤Bogus postfix␤at <tmp>:1␤------> 3say 7⏏5"̚"␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        sta…»
23:44 Hotkeys m: say "\̚"
23:44 camelia rakudo-moar 266f34: OUTPUT«\̚␤»
23:44 Hotkeys doesn't work as I'd assume either
23:45 llfourn joined #perl6
23:50 timotimo you probably want to work with Uni
23:56 Actualeyes joined #perl6

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

Perl 6 | Reference Documentation | Rakudo