Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-02-28

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:20 _thou joined #perl6
00:21 kurahaupo_mobile joined #perl6
00:21 JumpingJackeroo joined #perl6
00:23 skids joined #perl6
00:24 rurban1 joined #perl6
00:39 simcop2387 joined #perl6
00:39 water joined #perl6
00:40 Exodist joined #perl6
00:41 fhelmberger joined #perl6
00:42 slavik1 joined #perl6
00:42 kaare__ joined #perl6
00:42 FROGGS joined #perl6
00:42 avuserow joined #perl6
00:42 yath joined #perl6
00:50 ilbot3 joined #perl6
00:50 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
00:50 molaf joined #perl6
00:51 xenoterracide joined #perl6
00:51 [Sno]_ joined #perl6
00:53 colomon joined #perl6
00:55 Exodist joined #perl6
00:56 Psyche^ joined #perl6
00:57 hoverboard joined #perl6
00:58 ilogger2 joined #perl6
00:59 yves_ joined #perl6
00:59 BooK joined #perl6
00:59 bonsaikitten joined #perl6
00:59 japhb_ joined #perl6
01:00 awwaiid joined #perl6
01:02 JumpingJackeroo when should i use the bind operator := instead of =
01:02 JumpingJackeroo shouldn't perl6 knows if a list is going to be infinite
01:03 JumpingJackeroo any scenario where := is necessary
01:03 JumpingJackeroo ?
01:06 eternaleye joined #perl6
01:07 araujo joined #perl6
01:08 japhb_ joined #perl6
01:26 colomon_ joined #perl6
01:26 lee__ joined #perl6
01:27 clsn_ joined #perl6
01:29 awwaiid joined #perl6
01:29 japhb joined #perl6
01:29 japhb joined #perl6
01:31 rurban joined #perl6
01:32 TimToady JumpingJackeroo: the halting problem implies that we can't always know whether a list is infinite
01:32 araujo joined #perl6
01:32 simcop2387 joined #perl6
01:32 TimToady it knows in the obvious cases, but not all cases are obvious
01:33 JumpingJackeroo thank you
01:33 TimToady anyway, P5 programmers will expect = to be eager regardless of whether we know
01:33 TimToady r: my @foo = 1..*;  # knows
01:33 camelia rakudo-parrot 3c80d3, rakudo-jvm 3c80d3, rakudo-moar 3c80d3: ( no output )
01:33 TimToady r: my @foo = 1..*;  say @foo[^20]; # knows
01:33 camelia rakudo-parrot 3c80d3, rakudo-jvm 3c80d3, rakudo-moar 3c80d3: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20␤»
01:34 TimToady but as soon as you put a gather and some generating code, the halting problem arises
01:53 dayangkun joined #perl6
02:01 FROGGS_ joined #perl6
02:04 BenGoldberg I know in perl5, if I do $x = delete $h{$y}, it will remove key $y from hash %h, and will assign to $x the value that had been in $h{$y} before the deletion occured.... how do I do this in perl6?
02:04 BenGoldberg my $x = %h{$y} :delete; ?
02:04 BenGoldberg (doesn't seem to do the right thing)
02:05 * BenGoldberg is attempting a sieve of eratosthenese, as follows:
02:05 BenGoldberg r: my %sieve; my @primes; my $p_i = 0; my $p = 2; my $q = 4; my $n = 5; @primes := gather { take 2; take 3; OUTER: loop { while ( my $s = %sieve{$n} :delete ) { push %sieve{$n + $_}, $_ for $s; $n += 2 }; while $n < $q { take $n; $n += 2; next OUTER if %sieve{$n} :exists; }; push %sieve{$q + $p * 2}, $p * 2; $p = @primes[++$p_i]; $q = $p*$p; $n += 2; } };
02:05 camelia rakudo-jvm 3c80d3: OUTPUT«Unhandled exception: This representation can not unbox to a native str␤  in delete_key (gen/jvm/CORE.setting:8973)␤  in delete_key (gen/jvm/CORE.setting:8969)␤  in  (gen/jvm/CORE.setting:1915)␤  in  (gen/jvm/CORE.setting:1908)␤  in SLICE_ONE (gen/…»
02:05 camelia ..rakudo-parrot 3c80d3: OUTPUT«This type cannot unbox to a native string␤current instr.: 'delete_key' pc 370776 (src/gen/p-CORE.setting.pir:156357) (gen/parrot/CORE.setting:8993)␤called from Sub 'delete_key' pc 370699 (src/gen/p-CORE.setting.pir:156300) (gen/parrot/CORE.setting:89…»
02:05 camelia ..rakudo-moar 3c80d3: OUTPUT«Unhandled exception: This type cannot unbox to a native string␤   at src/gen/m-CORE.setting:8973  (/home/p6eval/rakudo-inst-1/languages/perl6/​runtime/CORE.setting.moarvm:delete_key:72)␤ from src/gen/m-CORE.setting:8969  (/home/p6eval/rakudo-inst-1/lang…»
02:07 BenGoldberg n: my %sieve; my @primes; my $p_i = 0; my $p = 2; my $q = 4; my $n = 5; @primes := gather { take 2; take 3; OUTER: loop { while ( my $s = %sieve{$n} :delete ) { push %sieve{$n + $_}, $_ for @$s; $n += 2 }; while $n < $q { take $n; $n += 2; next OUTER if %sieve{$n} :exists; }; push %sieve{$q + $p * 2}, $p * 2; $p = @primes[++$p_i]; $q = $p*$p; $n += 2; } };
02:07 camelia niecza v24-109-g48a8de3: ( no output )
02:07 BenGoldberg n: my %sieve; my @primes; my $p_i = 0; my $p = 2; my $q = 4; my $n = 5; @primes := gather { take 2; take 3; OUTER: loop { while ( my $s = %sieve{$n} :delete ) { push %sieve{$n + $_}, $_ for @$s; $n += 2 }; while $n < $q { take $n; $n += 2; next OUTER if %sieve{$n} :exists; }; push %sieve{$q + $p * 2}, $p * 2; $p = @primes[++$p_i]; $q = $p*$p; $n += 2; } }; say @primes[^5];
02:07 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method push in type Any␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/pq2BxZQpL8 line 1 (ANON @ 28) ␤  at /tmp/pq2BxZQpL8 line 1 (ANON @ 9) ␤  at <unknown> line 0 (KERNEL dogather @ 1) ␤  at /home/…»
02:26 BenGoldberg Hmm... I think that the "cannot unbox" is a rakudobug.
02:27 BenGoldberg With niecza, the following works ok:
02:27 BenGoldberg n: my %sieve; sub addit($start is copy, $step) {$start+=$step while %sieve{$start};%sieve{$start}= $step;}; my @primes;my$p_i=1;my$n=5;my$​p=3;my$q=9;@primes:=gather {take 2; take 3; loop { if ( my $s = %sieve{$n} :delete ) { addit($n + $s, $s) } elsif $n < $q { take 0+$n } else { addit($q + $p*2, $p * 2); $p = @primes[++$p_i]; $q = $p*$p; }; $n += 2 } }; say @primes[^20];
02:27 camelia niecza v24-109-g48a8de3: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71␤»
02:27 BenGoldberg But with rakudo, it dies with the "This type cannot unbox to a native string" exception.
02:34 TimToady I believe loop labels are NYI
02:37 BenGoldberg I rewrote it to not need the label.
02:37 rurban joined #perl6
02:37 BenGoldberg Well, actually I made it more like the original python code :), but same difference.
02:39 go|dfish joined #perl6
02:41 jnap joined #perl6
02:44 timotimo joined #perl6
02:45 jnap1 joined #perl6
02:47 klapperl joined #perl6
02:49 TimToady a workaround, when you say %sieve{$x}, say %sieve{~$x} instead
02:49 TimToady it apparently can't figure out how to hash an integer
02:50 BenGoldberg Ok :)
02:51 BenGoldberg rn: my %sieve; sub addit($start is copy, $step) {$start+=$step while %sieve{$start};%sieve{$start}= $step;}; my @primes;my$p_i=1;my$n=5;my$​p=3;my$q=9;@primes:=gather {take 2; take 3; loop { if ( my $s = %sieve{~$n} :delete ) { addit($n + $s, $s) } elsif $n < $q { take 0+$n } else { addit($q + $p*2, $p * 2); $p = @primes[++$p_i]; $q = $p*$p; }; $n += 2 } }; say @primes[^100];
02:51 camelia rakudo-parrot 3c80d3, rakudo-jvm 3c80d3, rakudo-moar 3c80d3, niecza v24-109-g48a8de3: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257…»
02:51 BenGoldberg \o/
02:52 BenGoldberg Does anyone besides me think that an infinite lazy list of primes, with roughly constant time for each additional prime, is really cool?
02:55 alc joined #perl6
03:08 _thou joined #perl6
03:11 lue That bugfix from a while ago fixed the issue of getting panda to run at all, but the bootstrap process now gets stuck on ==> Fetching panda :(
03:40 lue My panda is getting stuck because of that recursive .work/* problem. Using the 'absolute' branch (which seemed like a good choice) doesn't work either.
03:46 jnap joined #perl6
03:51 _thou joined #perl6
04:07 hoverboard joined #perl6
04:35 awwaiid_ joined #perl6
04:36 __thou joined #perl6
04:37 japhb_ joined #perl6
04:39 rurban joined #perl6
04:46 go|dfish joined #perl6
04:47 FROGGS_ joined #perl6
04:48 xenoterracide joined #perl6
04:49 simcop2387 joined #perl6
04:50 rurban joined #perl6
04:50 klapperl joined #perl6
04:56 rurban1 joined #perl6
05:01 skids joined #perl6
05:02 lee_ joined #perl6
05:02 rurban_ joined #perl6
05:02 awwaiid joined #perl6
05:16 lue Hrm. I'm trying to write a routine tracer (similar to Grammar::Tracer); I've got the various Dispatcher metamodel classes set up, but apparently I can't do the EXPORTHOW trick Grammar::Tracer does with EXPORT :/
05:16 skids joined #perl6
05:18 awwaiid joined #perl6
05:20 rurban joined #perl6
05:25 awwaiid_ joined #perl6
05:28 lue joined #perl6
05:28 tadzik joined #perl6
05:28 Yappo__________7 joined #perl6
05:29 raydiak joined #perl6
05:35 raydiak_ joined #perl6
05:49 jnap joined #perl6
06:03 dalek roast: 10afb2d | larry++ | S02-lexical-conventions/unicode-whitespace.t:
06:03 dalek roast: MONGOLIAN VOWEL SEPARATOR moved from Zs to Cf
06:03 dalek roast:
06:03 dalek roast: So don't test it for being whitespace already.
06:03 dalek roast: review: https://github.com/perl6/roast/commit/10afb2d85c
06:05 ingy joined #perl6
06:05 tadzik joined #perl6
06:07 xinming_ joined #perl6
06:12 telex joined #perl6
06:24 dalek specs: 43477ea | larry++ | S05-regex.pod:
06:24 dalek specs: bring <cntrl> in line with <:Cc>
06:24 dalek specs: review: https://github.com/perl6/specs/commit/43477eaff1
06:30 [Sno] joined #perl6
06:34 FROGGS_ .tell lue You need this: https://github.com/tadzik/panda/pull/69
06:35 lue heh, I was just about to leave my computer for the night too :) . I'll check it tomorrow, ♘ #perl6 o/
06:41 TimToady m: say "\c[PILE OF POO]"
06:41 camelia rakudo-moar 3c80d3: OUTPUT«􁝫␤»
06:41 TimToady m: say "\c[PILE OF POO].ord.base(16)"
06:41 camelia rakudo-moar 3c80d3: OUTPUT«􁝫.ord.base(16)␤»
06:42 TimToady m: say "\c[PILE OF POO]".ord.base(16)
06:42 camelia rakudo-moar 3c80d3: OUTPUT«10176B␤»
06:42 TimToady not yet
06:43 FROGGS_ gnight lue
06:48 * FROGGS_ is eager to run the regex spectests
06:49 jnap joined #perl6
06:57 FROGGS_ gosh how I love that list:
06:57 FROGGS_ Using /home/froggs/dev/nqp/install/bin/nqp-p (version 2014.02-1-g8aab212 / Parrot 6.1.0).
06:57 FROGGS_ Using /home/froggs/dev/nqp/install/bin/nqp-j (version 2014.02-1-g8aab212 / OpenJDK 1.7.0_51).
06:57 FROGGS_ Using /home/froggs/dev/nqp/install/bin/nqp-m (version 2014.02-1-g8aab212 / MoarVM 2014.02-5-g6653722).
06:58 berekuk joined #perl6
06:59 FROGGS_ I just miss this one:
06:59 FROGGS_ Using /home/froggs/dev/nqp/install/bin/nqp-js (version 2014.02-1-g8aab212 / node.js 10.7.3).
07:00 dalek roast: ced837a | larry++ | S05-mass/rx.t:
07:00 dalek roast: MONGOLIAN VOWEL SEPARATOR moved from Zs to Cf
07:00 dalek roast: review: https://github.com/perl6/roast/commit/ced837a521
07:00 dalek roast: 42a12c5 | larry++ | S05-mass/charsets.t:
07:00 dalek roast: º and ª moved from Ll to Lo
07:00 dalek roast: review: https://github.com/perl6/roast/commit/42a12c5612
07:01 TimToady haven't been able to figure out where <cntrl> is defined; <:cntrl> properl aliases <:Cc>, but <cntrl> doesn't
07:01 TimToady maybe we should just delete <cntrl>
07:02 xinming joined #perl6
07:02 FROGGS_ MoarVM/UNIDATA/PropertyValueAliases.txt:561:gc ; Cc                               ; Control                          ; cntrl
07:02 moritz +1
07:03 FROGGS_ and it seems like cntrl has a property code (14) and a property value code
07:03 moritz (to removing cntrl)
07:04 FROGGS_ moritz: but it seems to be still a valid alias
07:04 TimToady m: say so "\x80" ~~ /<cntrl>/; say so "\x80" ~~ /<:cntrl>/
07:04 camelia rakudo-moar 3c80d3: OUTPUT«False␤True␤»
07:05 TimToady where's the first def coming from?
07:05 FROGGS_ m: say "\t" ~~ /<:cntrl>/
07:05 camelia rakudo-moar 3c80d3: OUTPUT«「    」␤␤»
07:05 FROGGS_ ahhh
07:06 FROGGS_ now I read correctly about <:cntrl>/<cntrl>
07:06 FROGGS_ TimToady: I guess it is a method in nqp somewhere
07:06 FROGGS_ TimToady: nqp/src/QRegex/Cursor.nqp:650:    method cntrl() {
07:06 TimToady haven't been able to grep it out
07:07 TimToady ah
07:07 FROGGS_ we're even using it: nqp/src/QRegex/Cursor.nqp:653:        $cur."!cursor_pass"($!pos+1, 'cntrl')
07:09 Alina-malina joined #perl6
07:11 clsn joined #perl6
07:12 TimToady needs to be fixed in MoarVM/src/strings/ops.c and should probably just delegate to the Cc class
07:13 TimToady or, as I say, we should just delete the non-: form
07:13 TimToady it's not all that useful
07:15 FROGGS_ if :cntrl is way slower than we might leave <cntrl> it as an internal thing in nqp
07:16 TimToady 1) probably not even used, and 2) if we defer to Cc, it's the same speed
07:17 TimToady looks like it's only used in tests :)
07:18 TimToady nothing in rakudo-star uses it
07:20 TimToady and frankly, all those categories are just in there only because posix had [:cntrl:] or some such
07:20 FROGGS_ cool
07:20 FROGGS_ (about checking star)
07:20 TimToady (well, except the same tests)
07:21 FROGGS_ /home/froggs/dev/ecosystem/gge/STATUS:58:    <xdigit>, <space>, <cntrl>, <punct>
07:21 FROGGS_ /home/froggs/dev/ecosystem​/gge/lib/GGE/Match.pm:214:    method cntrl()  { self.cclass: /<cntrl>/  }
07:21 FROGGS_ /home/froggs/dev/ecosystem/gge/t/per​l6regex/rx_subrules:43:<cntrl>\t\n\r !"#$%&'()*+,-./:;<=>?@[\]^`_{|}012345​6789ABCDEFGHIJabcdefghij/mob<cntrl>: <\t @ 0>/<cntrl>
07:21 FROGGS_ whatever gge is, it uses it
07:23 TimToady m: say "\c[PILE OF POO]".ord.base(16)
07:23 camelia rakudo-moar 3c80d3: OUTPUT«10176B␤»
07:23 TimToady nope
07:23 FROGGS_ perl6-m -e 'say "\c[PILE OF POO]".ord.base(16)'
07:23 FROGGS_ 1F4A9
07:23 FROGGS_ my box is happy :o)
07:23 FROGGS_ (very happy)
07:24 FROGGS_ because this fixes like about 50 spectests?
07:24 TimToady I didn't count
07:24 FROGGS_ TimToady: ahh, we need to bump moar and nqp revision
07:24 FROGGS_ camelia does not build head
07:25 darutoko joined #perl6
07:25 TimToady how...conservative...
07:27 FROGGS_ that is from [Coke]++'s roast log: S05-mass/named-chars.rakudo.moar................... 284   53    0   94  431
07:28 FROGGS_ and now it passes on my boc
07:28 FROGGS_ box*
07:28 FROGGS_ TimToady++ # so there are already 53 more passing tests :o)
07:29 FROGGS_ TimToady: are you going to bump revision or shall I?
07:29 dalek specs: bf45e2f | larry++ | S05-regex.pod:
07:29 dalek specs: recommend <:alpha> for no underscore
07:29 dalek specs: review: https://github.com/perl6/specs/commit/bf45e2f980
07:30 TimToady you may do it
07:30 moritz FROGGS_: if it's a valid Unicode alias, it should be available as <:cntrl>; no need to make it available as <cntrl>
07:30 TimToady that's what we were discussing above
07:31 FROGGS_ moritz: yes, I've understand it in between :o)
07:31 moritz ok -)
07:31 TimToady except if peopel expect all the posixy [:foo:] things to turn into <foo>
07:31 dalek nqp: 5796e43 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
07:31 dalek nqp: bump moar rev to get unicode fixes, TimToady++
07:31 dalek nqp: review: https://github.com/perl6/nqp/commit/5796e43f41
07:32 moritz TimToady: then we need to teach them to look for <:foo> instead; shouldn't be too hard, the posixy thing contains colons too, after all :-)
07:32 dalek rakudo/nom: 1726c7d | (Tobias Leich)++ | tools/build/NQP_REVISION:
07:32 dalek rakudo/nom: bump nqp (moar) rev to get unicode fixes, TimToady++
07:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1726c7d251
07:32 FROGGS_ now we have to wait an hour :o)
07:32 TimToady or two
07:46 xinming_ joined #perl6
07:49 jnap joined #perl6
07:55 kaleem joined #perl6
07:56 bjz joined #perl6
08:00 FROGGS_ masak: I PR'd you :o)
08:01 FROGGS_ TimToady: that said PR removes the only usage of <cntrl> in the ecosystem
08:01 FROGGS_ commute &
08:03 dmol joined #perl6
08:08 moritz I was just wondering why rakudo rebuild on camelia's server was so slow
08:09 moritz turns out there was a JVM process from camelia using 100% CPU
08:14 moritz m: say "\c[PILE OF POO]".ord.base(16)
08:14 camelia rakudo-moar 3c80d3: OUTPUT«10176B␤»
08:26 nwc10 rn: say "\c[PILE OF POO]".ord.base(16)
08:27 nwc10 because I'm curious
08:27 camelia rakudo-jvm 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unrecognized character name PILE OF POO�at /tmp/tmpfile:1�------> [32msay "\c[PILE OF POO[33m�[31m]".ord.base(16)[0m�»
08:27 camelia ..rakudo-parrot 1726c7, rakudo-moar 1726c7, niecza v24-109-g48a8de3: OUTPUT«1F4A9␤»
08:27 sqirrel joined #perl6
08:29 virtualsue joined #perl6
08:33 FROGGS joined #perl6
08:37 pdcawley joined #perl6
08:41 zakharyas joined #perl6
08:46 xinming joined #perl6
08:50 jnap joined #perl6
09:01 timotimo o/
09:03 FROGGS o/
09:09 denisboyun joined #perl6
09:18 pdcawley joined #perl6
09:23 xinming_ joined #perl6
09:28 Yappo__________7 joined #perl6
09:49 pdcawley joined #perl6
09:51 jnap joined #perl6
10:01 nwc10 [Coke]: oh woe, no automated spectest runs. So we won't know how much closer to JVM ++TimToady's commit got us
10:01 pdcawley_ joined #perl6
10:05 nwc10 I hope you're able to find a new home for that soon.
10:06 nwc10 I have none to offer
10:13 Ven joined #perl6
10:25 Ven r: class A { has $.a; submethod init($.a) {  } }; my A $a .= new; say $a.perl; $a.init(5); say $a.perl;
10:25 camelia rakudo-parrot 1726c7, rakudo-moar 1726c7: OUTPUT«A.new(a => Any)␤Cannot assign to a readonly variable or a value␤  in submethod init at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
10:25 camelia ..rakudo-jvm 1726c7: OUTPUT«A.new(a => Any)␤java.lang.RuntimeException: $.x parameters NYI␤  in submethod init at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
10:26 Ven oh, omly the :$ with (a =>) form is implemented I guess
10:29 yoleaux joined #perl6
10:38 Ven `is`, `will` and kinda `but`
10:41 mavcunha joined #perl6
10:43 kaleem joined #perl6
10:52 jnap joined #perl6
11:04 Sqirrel joined #perl6
11:24 rindolf joined #perl6
11:26 dalek panda: b89cd24 | (Donald Hunter)++ | lib/Panda/Fetcher.pm:
11:26 dalek panda: Use eager for loop to resolve recursing into .work directory.
11:26 dalek panda: review: https://github.com/tadzik/panda/commit/b89cd24eec
11:26 dalek panda: d6f8a3a | tadzik++ | lib/Panda/Fetcher.pm:
11:26 dalek panda: Merge pull request #69 from donaldh/eager-for
11:26 dalek panda:
11:26 dalek panda: Use eager for loop to resolve recursing into .work directory.
11:26 dalek panda: review: https://github.com/tadzik/panda/commit/d6f8a3ac23
11:39 Ven r: sub f(:(::T $ where Int | Bool --> T) $x) { ($x(3), $x(True)) }
11:39 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Missing blockâ�¤at /tmp/tmpfile:1â�¤------> [32msub f(:(::T $ where Int | Bool --> T) [33mâ��[31m$x) { ($x(3), $x(True)) }[0mâ�¤    expecting a…»
11:40 dalek panda/moar-support: 934a4f3 | tadzik++ | ext/File__Find:
11:40 dalek panda/moar-support: Update File::Find
11:40 dalek panda/moar-support: review: https://github.com/tadzik/panda/commit/934a4f3152
11:40 dalek panda/moar-support: 1b8e421 | tadzik++ | ext/File__Find:
11:40 dalek panda/moar-support: Update File::Find
11:40 tadzik I killed it
11:40 tadzik but, moar-support is merged, panda is now workings :)
11:40 dalek joined #perl6
11:41 Ven r: sub f(:(::T $ where Int | Bool --> T) $x) { return ($x(3), $x(True)) }
11:41 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Missing blockâ�¤at /tmp/tmpfile:1â�¤------> [32msub f(:(::T $ where Int | Bool --> T) [33mâ��[31m$x) { return ($x(3), $x(True)) }[0mâ�¤    expe…»
11:42 Ven err
11:43 Guest26732 joined #perl6
11:47 Ven not sure about that one
11:50 Ven r: sub f(&x:(::T $ where Int | Bool --> T)) { return (x(3), x(True)) }
11:50 camelia rakudo-jvm 1726c7: OUTPUT«===SORRY!===␤Can not invoke this object␤»
11:50 camelia ..rakudo-moar 1726c7: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤»
11:50 camelia ..rakudo-parrot 1726c7: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::WVal'␤»
11:53 jnap joined #perl6
12:00 timotimo Ven: the problem with your init method is that you were trying to set a value to $.a, which isn't defined as "is rw"
12:01 timotimo if you want to set a value for $.a you need to access it via the attribute storage, not via the accessor
12:01 timotimo so you want to have method init($!a) { } rather than init($.a} { }
12:06 Ven timotimo: ah, I was trying that code from S06
12:06 Ven any idea for my second code ?
12:08 Ven (but I don't get why I need to use $!a for $.a :o)
12:09 Ven r: class A { has $.a; submethod init($!a) {  } }; my A $a .= new; say $a.perl; $a.init(5); say $a.perl;
12:09 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«A.new(a => Any)␤A.new(a => 5)␤»
12:10 Ven Well~ timotimo++
12:14 Ven r: class A { has $.a is rw; submethod init($.a) {  } }; my A $a .= new; say $a.perl; $a.init(5); say $a.perl;
12:14 camelia rakudo-jvm 1726c7: OUTPUT«A.new(a => Any)␤java.lang.RuntimeException: $.x parameters NYI␤  in submethod init at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
12:14 camelia ..rakudo-parrot 1726c7, rakudo-moar 1726c7: OUTPUT«A.new(a => Any)␤A.new(a => 5)␤»
12:14 Ven alright.
12:14 FROGGS tadzik++
12:40 tadzik FROGGS++
12:41 bluescreen10 joined #perl6
12:41 tadzik for some reason panda can't connect to feather though
12:41 tadzik Could not download module metadata: Failed to connect: host is unreachable
12:43 dalek panda: 026cd23 | (Tobias Leich)++ | / (7 files):
12:43 dalek panda: use absolute paths where possible
12:43 dalek panda: review: https://github.com/tadzik/panda/commit/026cd23367
12:43 dalek panda: d37c017 | tadzik++ | / (7 files):
12:43 dalek panda: Merge pull request #71 from tadzik/absolute
12:43 dalek panda:
12:43 dalek panda: use absolute paths where possible [based on moar-support branch]
12:43 dalek panda: review: https://github.com/tadzik/panda/commit/d37c017392
12:43 colomon tadzik: I don't seem to be having difficulty here?
12:43 tadzik moar commits
12:43 tadzik colomon: must be something with my conneciton then :/
12:43 mtk joined #perl6
12:44 colomon though ABC build just failed.  or… ==> Installing ABC from a local directory 'ABC'  ?
12:45 colomon None of the parametric role variants for 'ABC::Pitched' matched the arguments supplied.
12:45 * colomon now wonders if the Parrot version will work.  He's already got a full module smoke test on Parrot underway…
12:53 jnap joined #perl6
12:59 colomon huh
12:59 colomon If I just run straight from the ABC .pm files, all tests pass.
13:00 colomon It's compiling ABC::BrokenRhythm that triggers the None of the parametric role variants for 'ABC::Pitched' matched the arguments supplied messae
13:00 Ven can you do something like c++ template specialization ?
13:01 Ven ie `multi class a [::T] {}; class a [Int]` or something
13:03 spider-mario joined #perl6
13:05 kaleem joined #perl6
13:16 kbaker_ joined #perl6
13:25 denisboyun joined #perl6
13:29 TimToady roles dispatch like multis, if that's what you're asking
13:33 TimToady role a[::T] { method foo() { say "::T" } }; role a[Int] { method foo() { say "Int" }}; class aInt does a[Int] {}; class aT does a[Str] []; say aInt.new.foo; say aT.new.foo
13:33 TimToady r: role a[::T] { method foo() { say "::T" } }; role a[Int] { method foo() { say "Int" }}; class aInt does a[Int] {}; class aT does a[Str] []; say aInt.new.foo; say aT.new.foo
13:33 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse class definition�at /tmp/tmpfile:1�------> [32mnt does a[Int] {}; class aT does a[Str] [33m�[31m[]; say aInt.new.foo; say …»
13:33 TimToady r: role a[::T] { method foo() { say "::T" } }; role a[Int] { method foo() { say "Int" }}; class aInt does a[Int] {}; class aT does a[Str] {}; say aInt.new.foo; say aT.new.foo
13:33 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«Int␤True␤::T␤True␤»
13:34 TimToady like that?
13:34 TimToady Ven: ^^
13:35 Ven TimToady: something like that :-)
13:35 Ven I actually realize what I'd want needs type inference
13:36 TimToady we don't quite do that yet
13:37 Ven TimToady: Hindley-Milner for Perl 7, ha !
13:41 Ven r: role Semigroup[::T]; role Monoid[::T] is Semigroup[T] {}; role Functor[::T]; role Applicative[::T] is Functor[T]; role Monoid[::T] is Monoid[T] is Application[T] {}
13:41 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«===SORRY!===␤Cannot type check against type variable T␤»
13:41 Ven something like that I guess
13:43 TimToady r: role Semigroup[::T]; role Monoid[::T] does Semigroup[T] {}; role Functor[::T]; role Applicative[::T] does Functor[T]; role Monoid[::T] does Monoid[T] does Application[T] {}
13:43 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Too late for semicolon form of role definition�at /tmp/tmpfile:1�------> [32moes Semigroup[T] {}; role Functor[::T]; [33m�[31mrole Applica…»
13:43 Ven I guess it was bound to be does
13:43 Ven I just wondered whether between role and role it'd be inheritance
13:43 TimToady r: role Semigroup[::T] {}; role Monoid[::T] does Semigroup[T] {}; role Functor[::T] {}; role Applicative[::T] does Functor[T] {}; role Monoid[::T] does Monoid[T] does Application[T] {}
13:44 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Unable to parse role definitionâ�¤at /tmp/tmpfile:1â�¤------> [32m}; role Monoid[::T] does Monoid[T] does [33mâ��[31mApplication[T] {}[0mâ�¤   …»
13:44 Ven mmh ?
13:45 TimToady r: role Semigroup[::T] {}; role Monoid[::T] does Semigroup[T] {}; role Functor[::T] {}; role Applicative[::T] does Functor[T] {}; role Monoid[::T] does Monoid[T] does Applicative[T] {}
13:45 camelia rakudo-moar 1726c7: OUTPUT«Unhandled exception: Could not instantiate role 'Monoid':␤Not enough positional parameters passed; got 1 but expected 2␤   at <unknown>:1  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/​Perl6/Metamodel.moarvm:specialize:4294967295)␤ from src/gen/m-Met…»
13:45 camelia ..rakudo-jvm 1726c7: OUTPUT«Unhandled exception: Could not instantiate role 'Monoid':␤Not enough positional parameters passed; got 1 but expected 2␤  in specialize (gen/jvm/Metamodel.nqp:2025)␤  in  (gen/jvm/Metamodel.nqp:2465)␤  in  (gen/jvm/Metamodel.nqp:2461)␤  in compose…»
13:45 camelia ..rakudo-parrot 1726c7: OUTPUT«Could not instantiate role 'Monoid':␤Not enough positional parameters passed; got 1 but expected 2␤current instr.: 'specialize' pc 22132 (src/gen/perl6-metamodel.pir:10426) (gen/parrot/Metamodel.nqp:2102)␤called from Sub '' pc 27863 (src/gen/perl6-…»
13:46 Ven role Monoid[::T] does Monoid[T]
13:47 Ven r: role Semigroup[::T] {}; role Monoid[::T] does Semigroup[T] {}; role Functor[::T] {}; role Applicative[::T] does Functor[T] {}; role Monad[::T] does Monoid[T] does Applicative[T] {}
13:47 camelia rakudo-parrot 1726c7: OUTPUT«Could not instantiate role 'Monad':␤Not enough positional parameters passed; got 1 but expected 2␤current instr.: 'specialize' pc 22132 (src/gen/perl6-metamodel.pir:10426) (gen/parrot/Metamodel.nqp:2102)␤called from Sub '' pc 27863 (src/gen/perl6-m…»
13:47 camelia ..rakudo-jvm 1726c7: OUTPUT«Unhandled exception: Could not instantiate role 'Monad':␤Not enough positional parameters passed; got 1 but expected 2␤  in specialize (gen/jvm/Metamodel.nqp:2025)␤  in  (gen/jvm/Metamodel.nqp:2465)␤  in  (gen/jvm/Metamodel.nqp:2461)␤  in compose …»
13:47 camelia ..rakudo-moar 1726c7: OUTPUT«Unhandled exception: Could not instantiate role 'Monad':␤Not enough positional parameters passed; got 1 but expected 2␤   at <unknown>:1  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/​Perl6/Metamodel.moarvm:specialize:4294967295)␤ from src/gen/m-Meta…»
13:47 TimToady well, looks like it's close to doing what you want
13:48 Ven type-inference is what I want, but replicating the typeclassopedia in p6 would be a nice start :)
13:48 Ven maybe by 2025, perl 6.5 will have type inference, eh :[
13:49 Ven s/'['/')'/
13:49 TimToady we'd have to find some smart people who can figure out how to do it without requiring the user to be just as smart as they are :)
13:50 FROGGS joined #perl6
13:50 Ven TimToady: I think HM works nicely in Haskell
13:50 Ven I love static type check, so that probably doesn't fit a scripting language -- which is fine
13:50 TimToady well, Haskell is definitely aimed at a different target audience than Perl 6
13:51 daxim http://bartoszmilewski.com/2014/02/2​6/c17-i-see-a-monad-in-your-future/  # compare the syntax here with jnthn's talk series about futures
13:52 TimToady The only question is how much of the Promethian Fire we can put into the Procrustean Bed.
13:53 Ven TimToady: I do believe that's a task perl 6 is trying to tackle, though ? Mixing what probably shouldn't be mixed ;)
13:53 TimToady *Promethean
13:53 TimToady indeed, we're too stupid to know it's impossible :)
13:53 stevan_ joined #perl6
13:54 Ven "They didn't know it was impossible, so they did it", eh ? I guess I just like breed mixing :)
13:54 jnap joined #perl6
13:55 TimToady one can call it either "bastardization" or "hybrid vigor"  :)
13:55 Ven If I liked stuff to be "pure" or something called like that I'd probably do lisp all day
13:55 Ven (not "pure" in the functional sense. Else I'd do Agda or something)
13:55 TimToady well, the purity of lisp is a bit overstated at times
13:57 TimToady but yeah, lisp definitely uses its circularity saw at a very low level
13:57 Ven oh, it definitely is. I guess I can't really say I only do cool-looking stuff though, because "^^[]{}@@=>->|..=><[]>+~>%"#@".>>.&*$~_?\\`°" is a valid expression in a language I'm working on :P
13:58 Ven (it's a no-op though ...)
13:58 TimToady looks a bit like Teco :)
13:59 TimToady which, one recalls, the first emacs was built upon, which says...something...
13:59 Ven TimToady: Hahahhaa ! The whole language doesn't look like that, though. I guess you can show a really crazy perl example and scare people off, when really ...
13:59 [Coke] m: "^^[]{}@@=>->|..=><[]>+~>%"#@".>>.&*$~_?\\`°"
13:59 camelia rakudo-moar 1726c7: ( no output )
13:59 [Coke] (it's valid here, too. :P)
14:00 Ven oh wow :D
14:00 Ven [Coke]++
14:00 TimToady he cheated
14:00 geekosaur note the string quotes :p
14:00 Ven oh yeah
14:00 [Coke] what, I pasted his code verbatim. :)
14:00 Ven well
14:00 Ven there's #@ inbetween though
14:00 [Coke] I thought -he- was cheating.
14:01 Ven [Coke]: livescript.net, I'll let you try it :p
14:01 Ven (as I said, it's a no-op, `->` is a function, and it's never called
14:01 jnap joined #perl6
14:02 TimToady curious now
14:02 TimToady m: ^^[]{}@@=>->|..=><[]>+~>%"#@".>>.&*$~_?\\`°
14:02 camelia rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/hRiuIeQw1Fâ�¤Two terms in a rowâ�¤at /tmp/hRiuIeQw1F:1â�¤------> [32m^^[]{}[33mâ��[31m@@=>->|..=><​[]>+~>%"#@".>>.&*$~_?\\`°[0mâ�¤    expecting any of:â�¤        postfixâ�¤        subscriptâ�¤  â€¦Â»
14:02 Ven Could you add methods to the grammar to make it work,though :)?
14:02 Ven I guess you can
14:02 TimToady every other langauge is just a dialect of Perl 6
14:02 TimToady including Perl 7 :)
14:03 Ven oh, I guess that goes for everything. I once met a guy saying lisp's reader macros where available in every language, and pasted a C example to modify the source code as an argument :)
14:04 Ven but Perl 7 will be too godly for Perl 6 :p.
14:04 Ven or I guess "holy" should be the word here, I can't english !
14:04 TimToady well,just think of it as a form of 'use strict;'
14:05 Ven I'd love a use stricttypes; with a more static type checking
14:05 Ven (gradual typing is cool and all, though)
14:06 TimToady that's the big bet
14:06 Ven (so long you're not dart and you're not typechecking anything ..)
14:06 ajr joined #perl6
14:06 TimToady gotta keep people honest occasionally
14:06 Ven TimToady: are type annotations more of a burden (perf-wise) right now ?
14:07 TimToady depends
14:07 TimToady on assignment, yes
14:07 TimToady on multi signatures, no
14:07 Ven something like int VS something like subset Duck of Mu where *.^can('quack')
14:07 TimToady since you'd have to be writing switches or doing dispatch anyway
14:07 Ven and on simple signatures ?
14:08 TimToady sure, constraints quickly run into halting problems if you try to be analytical
14:08 Ven mmh ?
14:09 TimToady you generally have to run the constraint to figure out whether it's true or not
14:09 Ven yes, but on the error hand, it leaves room for optimization
14:09 TimToady and your duck example is potentially optimizable
14:09 Ven with `sub (Dog $d) { $d.barf; }` you know which method to call (almost)
14:10 Ven (because it allows for Dog subtyping IIRC)
14:10 TimToady probably more so than 'subset Even of Int where * %% 2;'
14:10 Ven that shouldn't allow much optimizations though
14:11 Ven I don't know of many methods that take longers on Odds
14:11 TimToady well, you can prove it's true right after a left shift :)
14:11 Ven TimToady: yes ! but it's still overhead compared to "Int"
14:11 Ven whereas knowing statically $d will always be a Dog object makes it easier to generate more efficient code
14:12 TimToady sure, which is why we call it "nominal typing"
14:12 Ven I've seen atrocious perf hits in some languages because the JIT had to back off a method (suddenly, a single call with a Duck after 10k calls with a Dog)
14:13 Ven TimToady: well, ^.can allows for kinda-structural typing, which is nice
14:13 * TimToady imagines a constraint that is enforced randomly, so you eventually catch the error, but not at the expense of much runtime, course that doesn't help with constraint-based dispatch
14:13 Ven (static analysis ?)
14:13 TimToady which is why I said your example was somewhat optimizable
14:13 xragnar_ joined #perl6
14:16 Ven TimToady: In a few years, maybe
14:16 Ven or if moar gets a JIT with GSoC
14:18 TimToady one imagines a CanQuack role that automatically composes itself into anything that can quack
14:19 TimToady presuming that can be determined without an instance
14:19 Ven TimToady: that's structural typing
14:19 Ven can you do that yet ?
14:19 TimToady not the automatic part
14:19 TimToady it's kind of an AOPish thing
14:20 TimToady needs something like a global COMPOSE phaser
14:21 Ven r: say &infix:<@#>
14:21 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared name:â�¤    &infix:<@#> used at line 1â�¤â�¤Â»
14:21 Ven No way this operator doesn't exist
14:21 TimToady whazzit do?
14:22 Ven No idea, that's just from earlier, when trying to compiling my snippet. it was like `r: "lots of stuff"#@"other stuff"` and I wondered how it worked
14:22 Ven when [Coke] cheated
14:23 TimToady I see a #@
14:24 Ven True that, I messed the order :). Whazzit do?
14:24 TimToady r: say 42 #@ "eels";
14:24 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«42␤»
14:24 Ven OH
14:24 Ven hahahaha
14:25 Ven ++<<[ TimToady, [Coke] ]
14:25 TimToady it's more of an infix macro, which has the unfortunate ability to eat your semicolons
14:26 TimToady along with your right argument :)
14:27 TimToady because it takes the entire rest of your line as the right argument
14:28 Ven don't push it :p
14:28 TimToady ;)
14:34 FROGGS TimToady: have you seen this? https://github.com/rakudo/rakudo/commit/3c80d3ae0e
14:35 FROGGS I wonder what is needed to do to fix this issue...
14:35 FROGGS r: my @j; my int $j = 42; @j.push($j); say @j # RT #121349
14:35 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121349
14:35 camelia rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«42␤»
14:35 camelia ..rakudo-parrot 1726c7: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in method REIFY at gen/parrot/CORE.setting:8407␤  in method reify at gen/parrot/CORE.setting:7279␤  in method gimme at gen/parrot/CORE.setting:7724␤  in method push at gen/parrot/CORE.setti…»
14:38 skids joined #perl6
14:42 benabik joined #perl6
14:43 TimToady p: my @j; my int $j = 42; @j.push(+$j); say @j # RT #121349
14:43 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121349
14:43 camelia rakudo-parrot 1726c7: OUTPUT«42␤»
14:44 TimToady fixed it fer ya  :P
14:44 FROGGS :P
14:45 FROGGS I have no positive feeling about that^^
14:47 colomon ADT and Sum modules started failing sometime in the last week (Parrot)
14:47 colomon timotimo: ^
14:47 FROGGS when was you last test?
14:48 TimToady Sum could be related to X or Z changes
14:48 TimToady or [Z+]
14:48 TimToady or the [] as a list bug
14:49 FROGGS ADT also: https://github.com/timo/ADT/​blob/master/lib/ADT.pm6#L30
14:51 TimToady that looks like it should work, unless >> is returning a [] rather than a ()
14:51 TimToady say <1 2 3>».Str.WHAT
14:51 FROGGS p: say (<a b c>>>.Str).perl
14:51 camelia rakudo-parrot 1726c7: OUTPUT«("a", "b", "c")␤»
14:52 TimToady r: say <1 2 3>».Str.WHAT
14:52 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«(Parcel)␤»
14:52 TimToady r: say <1 2 3>».Str.VAR.WHAT
14:52 FROGGS there is a Z=> also: https://github.com/timo/ADT/​blob/master/lib/ADT.pm6#L140
14:52 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«(Parcel)␤»
14:52 FROGGS but Z=> should work too, at least it does for panda
14:53 btyler joined #perl6
14:55 colomon FROGGS: my last smoke run prior was the 23rd
14:55 TimToady well, but it's autoviving an Array, so maybe it needs a .list
14:55 molaf joined #perl6
14:56 rurban joined #perl6
14:56 FROGGS colomon: and the latest run? because I think we fixed something yesterday
14:56 TimToady Z=> is fine, but not if you expect [] to flatten
14:56 colomon FROGGS: latest run was this morning.
14:56 masak why would you expect [] to flatten?
14:57 FROGGS I guess the right answer is to never expect [] to flatten, right?
14:57 colomon about an hour ago
14:57 FROGGS colomon: okay
14:57 FROGGS I was hoping for something differently
14:58 TimToady r: my @a; @a.push: 42; say @a.VAR.WHAT
14:58 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«(Array)␤»
14:59 TimToady r: my %a; %a<foo>.push: 42; say %a<foo>.VAR.WHAT
14:59 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«(Scalar)␤»
14:59 TimToady there you go
14:59 TimToady it's itemized
14:59 FROGGS I see
15:00 FROGGS so it should be this? self.bless(|($name.lc => $type.new(|(%handlers{$name}.list Z=> @args).hash)))
15:00 TimToady r: my %a; %a<foo>.push: 42; say %a<foo>[].VAR.WHAT
15:00 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«(Array)␤»
15:00 TimToady or that
15:01 FROGGS or @(), but there are enough parens :o)
15:03 __thou joined #perl6
15:09 FROGGS p: say "\x[FF62]"
15:09 camelia rakudo-parrot 1726c7: OUTPUT«「␤»
15:09 FROGGS nqp: say "\x[FF62]"
15:09 camelia nqp-parrot: OUTPUT«Confused at line 2, near "say \"\\x[FF"␤current instr.: 'panic' pc 15934 (gen/parrot/stage2/NQPHLL.pir:5941) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
15:10 camelia ..nqp-jvm: OUTPUT«Confused at line 2, near "say \"\\x[FF"␤  in panic (gen/jvm/stage2/NQPHLL.nqp:378)␤  in comp_unit (gen/jvm/stage2/NQP.nqp:922)␤  in TOP (gen/jvm/stage2/NQP.nqp:820)␤  in parse (gen/jvm/stage2/QRegex.nqp:1290)␤  in parse (gen/jvm/stage2/NQPHLL.nqp:1377)␤  …»
15:10 camelia ..nqp-moarvm: OUTPUT«Confused at line 2, near "say \"\\x[FF"␤   at gen/moar/stage2/NQPHLL.nqp:369  (/home/p6eval/rakudo-inst-1/language​s/nqp/lib/NQPHLL.moarvm:panic:120)␤ from gen/moar/stage2/NQP.nqp:917  (/home/p6eval/rakudo-inst-1/language​s/nqp/lib/nqp.moarvm:comp_unit:346)␤ f…»
15:10 FROGGS nqp: say "\c[FF62]"
15:10 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say \"\\c[FF"␤   at gen/moar/stage2/NQPHLL.nqp:369  (/home/p6eval/rakudo-inst-1/language​s/nqp/lib/NQPHLL.moarvm:panic:120)␤ from gen/moar/stage2/NQP.nqp:917  (/home/p6eval/rakudo-inst-1/language​s/nqp/lib/nqp.moarvm:comp_unit:346)␤ f…»
15:10 camelia ..nqp-jvm: OUTPUT«Confused at line 2, near "say \"\\c[FF"␤  in panic (gen/jvm/stage2/NQPHLL.nqp:378)␤  in comp_unit (gen/jvm/stage2/NQP.nqp:922)␤  in TOP (gen/jvm/stage2/NQP.nqp:820)␤  in parse (gen/jvm/stage2/QRegex.nqp:1290)␤  in parse (gen/jvm/stage2/NQPHLL.nqp:1377)␤  …»
15:10 camelia ..nqp-parrot: OUTPUT«Confused at line 2, near "say \"\\c[FF"␤current instr.: 'panic' pc 15934 (gen/parrot/stage2/NQPHLL.pir:5941) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
15:11 FROGGS nqp: say("\x[FF62]")
15:11 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«「␤»
15:17 virtualsue joined #perl6
15:23 timotimo thank you colomon
15:32 zakharyas left #perl6
15:32 FROGGS colomon: we really need your stats on a public server :/
15:33 colomon and need them for jvm and moar, too.
15:33 FROGGS timotimo: you've seen the discussion about the possible fix?
15:33 FROGGS colomon: ohh, yes
15:35 colomon if someone could just mail me a large supply of tuits...
15:37 FROGGS wendy++ could do that *g*
15:37 araujo joined #perl6
15:38 colomon then I could burn them to stay warm (-19F when I woke up this morning) and use the savings to spend an extra hour working on p6!
15:39 FROGGS -19F??
15:39 colomon yup
15:39 FROGGS that is kinda crazy
15:40 btyler multiple days with air temperature in that range here in MN: with windchill it got down to more like -40F/C
15:40 btyler really tough winter this year
15:40 geekosaur I wake up kinda late (0900ish local) and it was still 0°F today
15:40 colomon This has been a pretty extreme winter
15:40 timotimo FROGGS: no, not yet
15:40 timotimo i was on ym phone
15:40 timotimo i'm now on my notebook, though, so i can have a look
15:40 colomon we've only gotten above freezing for maybe four days in the last six weeks.
15:40 geekosaur (we haven't quite reached -19 at any point this winter)
15:41 FROGGS - self.bless(|($name.lc => $type.new(|(%handlers{$name} Z=> @args).hash)))
15:41 FROGGS + self.bless(|($name.lc => $type.new(|(%handlers{$name}.list Z=> @args).hash)))
15:41 FROGGS timotimo: something like this --^
15:41 timotimo oh, that is from my code?
15:42 FROGGS timotimo: yes, ADT that is
15:42 FROGGS https://github.com/timo/ADT/​blob/master/lib/ADT.pm6#L140
15:42 kivutar joined #perl6
15:42 FROGGS I dunno how long our winter was in germany, it it was not very long and it was not very cold even
15:43 timotimo thank you :)
15:44 colomon we've had 10+ cm of snow on the ground since mid-December.  And if the 10-day forecast is even close to right, we will have it well into March.
15:44 FROGGS timotimo: we just patched it in theory, you must do the hard testing work :o)
15:44 kaleem joined #perl6
15:44 colomon and we've been lucky, they got another meter of snow just a couple hours' drive south of us.
15:47 timotimo hehe
15:47 timotimo will do it when i've reached my destination
15:47 timotimo i think i'm getting a bit sick from using my laptop on the train right now
15:52 FROGGS yeah, the same happens to me
15:59 treehug88 joined #perl6
16:04 mtk joined #perl6
16:05 nwc10 TimToady: in perl 1, why does it have EXT struct stat statbuf; and EXT struct tms timesbuf; in perl.h, rather than using local variables in functions? Was there some compiler back then that screwed up allocating structs on the stack?
16:09 TimToady Don't recall, but I suspect it's just because the stat manpage had 'extern struct stat statbuf'
16:09 nwc10 aha thanks
16:13 geekosaur nwc10: for what it's worth, early versions of the original pcc (the cc on v7/2bsd/4bsd) couldn't return structs, so you needed to allocate and return a pointer or write to an external buffer somewhere. which is why so much stuff takes a struct pointer parameter that is written into
16:32 [Sno] joined #perl6
16:35 timotimo FROGGS: how did you become a #perl6 member if you can't code on a train? :)
16:36 * geekosaur did so by not having a train to code on...
16:37 FROGGS timotimo: I am not that often on a train obviously, so they tolerate me :o)
16:38 molaf_ joined #perl6
16:44 * colomon has never coded on a train
16:45 masak :)
16:46 timotimo :)
16:55 PerlJam Have you coded on a bus?  Did you code without much fuss?
16:55 masak :)
16:55 masak yes.
16:56 masak though that's probably the vehicle I've coded on where I'm the most likely to get carsick.
16:56 PerlJam wouldn't that be bus-sick?
16:56 PerlJam :)
16:56 masak :P
16:56 timotimo bad bus factor ...
16:58 * colomon has actually spent a good bit of time coding in a car or minivan…
17:17 isBEKaml joined #perl6
17:22 grondilu joined #perl6
17:25 grondilu rn: grammar Foo { rule TOP { <expr> }; rule expr { <symbol> '[' ~ ']' [ <symbol>+ % ',' ]?  }; token symbol { <.alpha>+ } }; say Foo.parse('Foo[bar,buz]');
17:25 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7, niecza v24-109-g48a8de3: OUTPUT«「Foo[bar,buz]」␤ expr => 「Foo[bar,buz]」␤  symbol => 「Foo」␤  symbol => 「bar」␤  symbol => 「buz」␤␤»
17:26 grondilu rn: grammar Foo { rule TOP { <expr> }; rule expr { <symbol> | <expr> '[' ~ ']' [ <expr>+ % ',' ]?  }; token symbol { <.alpha>+ } }; say Foo.parse('Foo[bar,buz]');
17:26 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«「Foo」␤ expr => 「Foo」␤  symbol => 「Foo」␤␤»
17:26 camelia ..niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
17:27 * grondilu desperately notices that he never manages to correctly write recursive rules :/
17:28 grondilu rn: grammar Foo { rule TOP { <expr> }; token expr { <symbol> | <expr> '[' ~ ']' [ <expr>+ % ',' ]?  }; token symbol { <.alpha>+ } }; say Foo.parse('Foo[bar,buz]');
17:29 camelia rakudo-moar 1726c7, niecza v24-109-g48a8de3: OUTPUT«(timeout)»
17:29 camelia ..rakudo-parrot 1726c7: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 139569 (src/gen/p-CORE.setting.pir:59493) (gen/parrot/CORE.setting:10965)␤called from Sub 'defined' pc 9129 (gen/parrot/stage2/NQPCORE.setting.pir:4209) (gen/parrot/stage2/NQPCORE.…»
17:29 camelia ..rakudo-jvm 1726c7: OUTPUT«pr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤  in expr␤…»
17:31 FROGGS rn: grammar Foo { rule TOP { <expr> }; token expr { <symbol> | <expr> {} '[' ~ ']' [ <expr>+ % ',' ]  }; token symbol { <.alpha>+ } }; say Foo.parse('Foo[bar,buz]');
17:31 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«「Foo」␤ expr => 「Foo」␤  symbol => 「Foo」␤␤»
17:31 camelia ..niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
17:31 FROGGS m: grammar Foo { rule TOP { <expr> }; token expr { <symbol> | <expr> {} '[' ~ ']' [ <expr>+ % ',' ]  }; token symbol { <.alpha>+ } }; say Foo.parse('Foo[bar,buz[zer]]');
17:31 camelia rakudo-moar 1726c7: OUTPUT«「Foo」␤ expr => 「Foo」␤  symbol => 「Foo」␤␤»
17:44 timotimo looking forward to the daily roast commit :3
17:45 [Coke] timotimo: probably won't happen until sunday
17:45 [Coke] and I'm not going to rerun missing days.
17:45 timotimo ah, that's okay
17:46 timotimo it's just that we're expecting a big jump up in rakumoar's pass rate
17:46 [Coke] will oblige asap.
17:48 colomon timotimo: what exactly was done?
17:48 FROGGS TimToady++ fixed unicode character-by-name lookups
17:48 FROGGS which are worth >50 tests AFAIK
17:49 timotimo he fixed PILE OF POO
17:49 FROGGS and we are at about 150 failing tests the last time roast_pass_data worked
17:49 FROGGS exactly
17:50 Guest26732 joined #perl6
17:50 Yappo__________7 joined #perl6
17:50 araujo joined #perl6
17:50 Alina-malina joined #perl6
17:50 kurahaupo_mobile joined #perl6
17:50 dalek joined #perl6
17:50 clsn joined #perl6
17:50 skids joined #perl6
17:51 treehug88 joined #perl6
17:51 dmol joined #perl6
17:52 xinming joined #perl6
17:52 Alina-malina joined #perl6
17:56 ajr_ joined #perl6
17:58 Alina-malina joined #perl6
17:59 Yappo__________7 joined #perl6
18:04 Guest26732 joined #perl6
18:04 isBEKaml joined #perl6
18:04 dmol joined #perl6
18:04 stevan_ joined #perl6
18:04 Yappo__________8 joined #perl6
18:05 ajr joined #perl6
18:06 hoverboard joined #perl6
18:07 mtk joined #perl6
18:10 Rotwang joined #perl6
18:10 rindolf joined #perl6
18:12 araujo_ joined #perl6
18:14 pdcawley joined #perl6
18:16 xenoterracide joined #perl6
18:19 treehug88 joined #perl6
18:20 mavcunha joined #perl6
18:31 Sqirrel joined #perl6
18:39 mtk joined #perl6
18:43 berekuk joined #perl6
18:52 zakharyas joined #perl6
18:53 benabik joined #perl6
19:04 [Sno] joined #perl6
19:08 genehack joined #perl6
19:12 hoverboard joined #perl6
19:13 stevan_ joined #perl6
19:16 stevan_ joined #perl6
19:20 * colomon is finished cooking, backlogs, and ....
19:21 * timotimo is not sure what to do next
19:21 colomon FROGGS, timotimo: so TimToady++ eliminated more than 1/3 of the "passing" tests moar was failing in one blow?
19:22 FROGGS colomon: that is what I think, yes
19:22 colomon woah
19:22 FROGGS but [Coke]++'s smoke testing will have to prove that :oO)
19:22 FROGGS -0
19:23 timotimo colomon i think so, yes
19:24 timotimo ah, i should fix ADT
19:29 timotimo the suggested fix is probably good. i'll run the tests which should prove it to be right :P
19:30 timotimo except my tests are not really extremely thorough
19:31 colomon well, we know they were breaking as of this morning.
19:31 colomon so if you make them stop breaking, it's got to be an improvement
19:31 colomon even if it still isn't right.
19:32 bjz joined #perl6
19:33 timotimo :)
19:33 timotimo i might make more tests at some point
19:33 timotimo we need a test coverage analysis tool :P
19:36 timotimo not yet working :|
19:37 timotimo ah
19:37 timotimo it helps to get the latest commits from nom
19:41 raiph joined #perl6
19:42 __thou joined #perl6
19:50 timotimo (at least i hope so)
19:54 arnsholt joined #perl6
19:54 arnsholt o/
19:55 timotimo heyo arnsholt :)
19:55 timotimo i didn't actually do anything for nativecall on moar yet
19:55 timotimo but jnthn said something about starting with that a few days ago
19:55 arnsholt 'sok, neither did I =)
19:55 FROGGS :o)
19:56 timotimo i'm getting into Qt Creator plugin development
19:58 timotimo i see, people are excited
20:05 arnsholt Tool support for people who aren't already vi/emacs brainwashed sounds like a very good thing
20:06 arnsholt You can have my vi when you pry it from my cold, dead hands, but more tools sounds good to me =)
20:08 timotimo qt creator has a fakevim plugin
20:08 timotimo which i'd like to improve, if i can at all
20:11 mtk0 joined #perl6
20:11 * arnsholt clones iperl6kernel
20:15 timotimo but i'd probably only work on that in order to familiarize myself more with the codebase
20:15 timotimo so that i can build perl6 related stuff ;)
20:15 timotimo and at some point i'll want to improve fakevim because i'm using qt creator all the time ;)
20:15 arnsholt timotimo: In ChattyRepl.interactive, it says that it's copied from HLL::Compiler, but since it's been copied I assume some bits have been changed (since HLL::Compiler.interactive wasn't used). Do you remember roughly which bits?
20:15 Quom donaldh++ https://github.com/tadzik/panda/commit/b89cd2
20:16 timotimo arnsholt: no, that's pretty long ago now :(
20:16 * Quom is glad to see that issue resolved
20:16 arnsholt Not a problem
20:16 timotimo i think i only copied the parts that take care about making lexicals available to future invocations
20:16 Quom and tadzik++ and FROGGS++
20:16 arnsholt I'll just diff agains HLL::Compiler and see what falls out =)
20:16 arnsholt But asked you first in case you remembered, 'cause that's even easier =)
20:16 Quom for making Panda awesomesauce
20:17 timotimo right :)
20:23 arnsholt Oh, and the iPython messaging docs are a bit confusing >.<
20:23 timotimo a bit, aye.
20:28 FROGGS hi Quom :o)
20:28 Mouq hi :)
20:28 timotimo need to go catch a train now
20:28 FROGGS ahh Mouq!
20:29 * FROGGS puts away his mirror
20:29 timotimo ah hey Mouq
20:29 timotimo i wouldn't have minded a new member, but Mouq is just as good :3
20:29 * Mouq doesn't like Mouq_
20:30 Mouq timotimo: Daww, well I should have tuits later this weekend, should probably spend it getting Pod tables working
20:30 Mouq properly
20:38 * Mouq & for now though
20:47 araujo joined #perl6
20:47 araujo joined #perl6
20:50 timotimo cool! :)
20:52 raiph joined #perl6
20:52 mavcunha joined #perl6
20:54 FROGGS I can't tell how much I hate this msg: Missing or wrong version of dependency 'src/gen/m-CORE.setting'
20:58 lue FROGGS: "Uninitialized value of type Any used in string context" is far worse, as well as any other error message that fails to supply a backtrace :)
20:59 FROGGS that is bad too, yes :o)
20:59 raiph_ joined #perl6
21:00 raiph joined #perl6
21:00 lue (perl6-p does provide a backtrace for that error though, which is one of the reasons it's still nice to have around ☺)
21:02 * timotimo adds methods to ADT to treat ADTs like lists of their "positional" parameters
21:04 [Coke] ADT?
21:04 [Coke] oh.
21:04 FROGGS lue: that is what I do too when I get an error in the setting or so... I'll check with other backends, because often you get different error messages for the same problem
21:05 masak FROGGS: what would need to change in order for people not to get that version dependency message? or what would need to change for you/them to hate it less?
21:06 FROGGS masak: I'd let fall back to the pm file if it is present
21:06 FROGGS or perhaps recompile the .moarvm/.pbc/...
21:06 FROGGS because it is just a cached version
21:10 FROGGS masak: in the module loader it checks for both the existence of .pm and .moarvm, so we'd just need to check for the workability of the .moarvm before we are trying to load it
21:11 FROGGS m: say v1 ~~ v2
21:11 camelia rakudo-moar 1726c7: OUTPUT«False␤»
21:11 FROGGS m: say v2 ~~ v1
21:11 camelia rakudo-moar 1726c7: OUTPUT«False␤»
21:11 FROGGS m: say v1.2.3.4 ~~ v1.2.3.4
21:11 camelia rakudo-moar 1726c7: OUTPUT«True␤»
21:11 FROGGS m: say v1.2.3.4 ~~ v1.2.3
21:11 camelia rakudo-moar 1726c7: OUTPUT«True␤»
21:11 FROGGS m: say v1.2.3.4 == v1.2.3
21:11 camelia rakudo-moar 1726c7: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: *%_)␤  in method Numeric at src/gen/m-CORE.setting:1010␤  in sub infix:<==> at src/gen/m-CORE.setting:4068␤  in sub infix:<==> at src/gen/m-CORE.setting:4066␤  in block  at /tmp/k1…»
21:11 FROGGS :/
21:11 FROGGS m: say v1.2.3 ~~ v1.2.3.4
21:11 camelia rakudo-moar 1726c7: OUTPUT«True␤»
21:12 FROGGS versions/versioning is never intuitive, ehh?
21:14 TimToady I see that dalek is MIA
21:14 FROGGS yeah, he took a day off
21:20 masak FROGGS: that sounds incredibly sane to me. why aren't we doing it like that?
21:20 FROGGS tuits? priorities? I dunno
21:22 lue FROGGS: wait, you're running modules from previous versions of Rakudo (or at least trying to)? I've always experienced the versioning of rakudo to be way too granular for that to happen by default.
21:23 masak question to the people: would you write ^$0.elems without hesitation? (it means (0 ..^ $0.elems) -- or would you parenthesize it to ^($0.elems) ?
21:23 masak oops, missing ')' in there. sorry 'bout that :)
21:24 FROGGS lue: I am playing with panda, which precompiles modules like File::Find
21:24 LordV joined #perl6
21:24 moritz joined #perl6
21:25 FROGGS masak: since I write prefix:<+> without parens, I'd also write prefix:<^> without
21:26 lue masak: depends on how familiar I am with the precedence table by that point :)
21:27 Mouq r: say ^+(1,2,3)
21:27 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«0..^3␤»
21:28 masak lue: I think I'm aiming for a style that doesn't depend too much on the level of proficiency of the reader.
21:29 masak so I guess what I'm asking is how shocking ^$0.elems looks to the lowest common denominator.
21:29 grep0r joined #perl6
21:29 stevan_ joined #perl6
21:29 lue masak: I see there's potential for someone's brain to think the smallest operator (^ vs. .elems) should go first.
21:29 FROGGS a bit shocking, yes
21:30 masak right.
21:30 FROGGS because you have to read from the middle to the end to the front
21:30 * masak decides to write it as $0.keys, which is better anyways.
21:30 integral joined #perl6
21:30 integral joined #perl6
21:31 avar joined #perl6
21:31 avar joined #perl6
21:31 lue If relevant and possible, you could put an aside somewhere saying "you don't need the parens, but we're doing it for clarity"
21:31 raydiak_ joined #perl6
21:32 timotimo i kind of like ^+...
21:32 lue couldn't you also write it as ^+$0 though? :)
21:32 simcop2387 joined #perl6
21:32 timotimo r: my @a = <foo bar baz>; say ^+@a;
21:32 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«0..^3␤»
21:33 timotimo well, in that case it'd have to be ^+@$0, which seems kind of line noisy ...
21:34 timotimo there's no non-parethesized way to get something like ^5.perl to mean (^5).perl, right?
21:34 * FROGGS .oO( ^+($0[]) )
21:34 timotimo .perl is less good for an example, but pick and roll are
21:35 Mouq timotimo: +$0 == +$0.elems != +@$0
21:35 Mouq oh, wait
21:35 Mouq *== +@$0
21:35 timotimo r: say pick ^5
21:35 FROGGS well, there are traits about precedence
21:35 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«Nil␤»
21:35 timotimo ..oh?
21:36 timotimo hah
21:37 sjn joined #perl6
21:37 FROGGS m: prefix:<^>(|) is prec('y>') { 42 }; say ^1.perl
21:37 camelia rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/nu47ItmFUt�Preceding context expects a term, but found infix | instead�at /tmp/nu47ItmFUt:1�------> [32mprefix:<^>(|[33m�[31m) is prec('y>') { 42 }; say ^1.perl[0m�»
21:37 timotimo i know what it does
21:37 timotimo it flattens the arguments to figure out how many there are
21:37 timotimo and the npicks from the nonflattened argument list
21:38 FROGGS m: prefix:<^>(*@) is prec('y>') { 42 }; say ^1.perl
21:38 camelia rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/y4icyoVbVsâ�¤Unable to parse expression in argument list; couldn't find final ')' â�¤at /tmp/y4icyoVbVs:1â�¤------> [32mprefix:<^>(*[33mâ��[31m@) is prec('y>') { 42 }; say ^1.perl[0mâ�¤    expec…»
21:38 Mouq FROGGS: You need a space between > and (
21:38 Mouq No, wait
21:38 FROGGS m: multi prefix:<^>(*@) is prec('y>') { 42 }; say ^1.perl
21:38 camelia rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/oIJNQBfBPDâ�¤Can't use unknown trait 'is prec' in a sub declaration.â�¤at /tmp/oIJNQBfBPD:1â�¤------> â�¤    expecting any of:â�¤        rw parcel hidden_from_backtraceâ�¤        pure default DEPREC…»
21:38 * Mouq is dumb
21:39 timotimo haha
21:39 * Mouq was remembering that you can't do "sub type:thing($param) {*}"
21:39 timotimo no i'm silly
21:39 timotimo r: say pick 5, ^5
21:39 camelia rakudo-parrot 1726c7: OUTPUT«4 2 0 3 1␤»
21:39 camelia ..rakudo-moar 1726c7: OUTPUT«0 4 3 2 1␤»
21:39 camelia ..rakudo-jvm 1726c7: OUTPUT«0 1 2 4 3␤»
21:39 timotimo gotta get off my train now
21:40 FROGGS m: multi prefix:<^>(*@) is tighter(&postcirumfix:<[ ]>) { 42 }; say ^1.perl
21:40 camelia rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Dh7kpKqII8â�¤Can't use unknown trait 'is tighter' in a sub declaration.â�¤at /tmp/Dh7kpKqII8:1â�¤------> â�¤    expecting any of:â�¤        rw parcel hidden_from_backtraceâ�¤        pure default DEP…»
21:42 kurahaupo_mobile joined #perl6
21:43 FROGGS m: sub prefix:<^> (|) is tighter(&postfix:<++>) { 42 }; say ^1.perl # there we go
21:43 camelia rakudo-moar 1726c7: OUTPUT«42␤»
21:44 FROGGS hmmm, no
21:45 FROGGS n: sub prefix:<^> (|) is tighter(&postfix:<i>) { 42 }; say ^1.succ # there we go
21:45 camelia niecza v24-109-g48a8de3: OUTPUT«43␤»
21:45 FROGGS m: sub prefix:<^> (|) is tighter(&postfix:<i>) { 42 }; say ^1.succ # there we go
21:45 camelia rakudo-moar 1726c7: OUTPUT«42␤»
21:45 FROGGS r: sub prefix:<^> (|) is tighter(&postfix:<i>) { 42 }; say ^1.succ # there we go
21:45 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«42␤»
21:45 FROGGS rakudobug
21:46 rurban joined #perl6
21:48 Mouq m: proto prefix:<^> (|) is tighter(&postfix:<++>) { 42 }; say ^1.perl
21:48 camelia rakudo-moar 1726c7: OUTPUT«42␤»
21:49 Mouq That error message is LTA; ought to say "Did you mean to use a proto" or likewise, /me thinks
21:51 FROGGS I think my error msg above is because there is no &postcirumfix:<[ ]>
21:51 FROGGS m: say &postcirumfix:<[ ]>
21:51 camelia rakudo-moar 1726c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/iFiYPzkQI4â�¤Undeclared name:â�¤    &postcirumfix:<[ ]> used at line 1â�¤â�¤Â»
21:53 raydiak__ joined #perl6
21:53 xinming_ joined #perl6
21:53 integral joined #perl6
21:53 integral joined #perl6
21:53 bjz joined #perl6
21:54 rurban joined #perl6
21:54 genehack joined #perl6
21:54 [Sno] joined #perl6
21:54 Mouq r: $(1,2,3).WHAT.say
21:54 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«(Parcel)␤»
21:54 Mouq r: (1,2,3).WHAT.say
21:54 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«(Parcel)␤»
21:55 kaare_ joined #perl6
21:55 simcop2387 joined #perl6
21:55 araujo joined #perl6
21:57 LV joined #perl6
21:58 Mouq https://github.com/rakudo/rakudo/commit/7c12a
21:59 Mouq ^^ product of my debugging from a couple days ago; I don't know why it wasn't working then (I think maybe I just hadn't hit save), but it works now
22:01 sjn_ joined #perl6
22:02 Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; say $0.WHAT
22:03 camelia niecza v24-109-g48a8de3: OUTPUT«(List)␤»
22:03 camelia ..rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«(Parcel)␤»
22:03 Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; say $0.caps
22:03 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«No such method 'caps' for invocant of type 'Parcel'␤  in block  at /tmp/tmpfile:1␤␤»
22:03 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method caps in type List␤  at /tmp/tmpfile line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤ …»
22:03 Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; say $0[].caps
22:03 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method caps in type List␤  at /tmp/tmpfile line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤ …»
22:03 camelia ..rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«No such method 'caps' for invocant of type 'List'␤  in block  at /tmp/tmpfile:1␤␤»
22:03 berekuk_ joined #perl6
22:03 Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; say $0>>.caps
22:03 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7, niecza v24-109-g48a8de3: OUTPUT«   ␤»
22:03 Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; say $0.caps
22:03 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7: OUTPUT«No such method 'caps' for invocant of type 'Parcel'␤  in block  at /tmp/tmpfile:1␤␤»
22:03 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method caps in type List␤  at /tmp/tmpfile line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤ …»
22:03 Mouq p6: "a b c d" ~~ /[(\w) \s*]/; say $0.caps
22:04 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7, niecza v24-109-g48a8de3: OUTPUT«␤»
22:04 * Mouq changes a single element to not be an Array, Mouq--
22:04 FROGGS p6: "a b c d" ~~ /[(\w) \s*]/; say $0
22:04 telex joined #perl6
22:04 Mouq *a single capture
22:04 camelia rakudo-parrot 1726c7, rakudo-jvm 1726c7, rakudo-moar 1726c7, niecza v24-109-g48a8de3: OUTPUT«「a」␤␤»
22:04 integral_ joined #perl6
22:08 bjz_ joined #perl6
22:10 xragnar joined #perl6
22:10 moritz joined #perl6
22:10 mtk0 joined #perl6
22:12 BenGoldberg joined #perl6
22:12 clsn joined #perl6
22:12 ty joined #perl6
22:14 pdcawley joined #perl6
22:15 masak 'night, #perl6
22:15 genehack joined #perl6
22:16 dmol joined #perl6
22:16 FROGGS gnight masak
22:17 Mouq o/
22:18 Mouq is there an easier way to say 'nqp::elems(nqp::list($var))'?
22:20 timotimo er, i don't think that will actually flatten for you
22:20 kurahaupo_mobile joined #perl6
22:22 Mouq Hm
22:22 timotimo there's a nqp:: op that does flatten
22:23 timotimo i forgot what it's called :(
22:23 timotimo p6list perhaps?
22:23 * Mouq just wants to know if $var is list-y or Match-y
22:23 FROGGS nqp::islist?
22:23 FROGGS nqp::istype($var, NQPMatch)?
22:23 timotimo ah
22:24 Mouq Thank youuus
22:26 tgt joined #perl6
22:35 denis_boyun joined #perl6
22:36 virtualsue joined #perl6
22:36 rurban joined #perl6
22:39 dmol joined #perl6
22:40 pdcawley joined #perl6
22:50 timotimo i wonder if i should be pushing for adt to get into star at some point
22:50 Mouq r: 'aaaaa' ~~ /\w+/; say $¢
22:50 camelia rakudo-jvm 7c12aa: OUTPUT«(timeout)»
22:50 camelia ..rakudo-parrot 7c12aa, rakudo-moar 7c12aa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Unsupported use of $¢ variableâ�¤at /tmp/tmpfile:1â�¤------> [32m'aaaaa' ~~ /\w+/; say [33mâ��[31m$¢[0mâ�¤    expecting any of:â�¤        argument listâ�¤      â€¦Â»
22:51 timotimo r: 'aaaa' ~~ /\w+/; say $/.CURSOR
22:51 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«Cursor.new()␤»
22:51 timotimo r: 'aaaa' ~~ /\w+/; say $/.CURSOR.DUMP
22:51 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«Cursor<1>(:$!ast(Any))␤»
22:58 timotimo good night!
22:59 lue ♞ timotimo o/
23:02 Mouq o/ timotiom
23:02 Mouq mo
23:04 Mouq r: 'aaaaa' ~~ /\w+/; EVAL 'say $¢'; CATCH $!.WHAT.say
23:04 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Missing blockâ�¤at /tmp/tmpfile:1â�¤------> [32m'aaaaa' ~~ /\w+/; EVAL 'say $¢'; CATCH [33mâ��[31m$!.WHAT.say[0mâ�¤    expecting any of:â�¤   …»
23:04 Mouq r: 'aaaaa' ~~ /\w+/; EVAL 'say $¢'; CATCH { $!.WHAT.say }
23:04 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling eval_0â�¤Unsupported use of $¢ variableâ�¤at eval_0:1â�¤------> [32msay [33mâ��[31m$¢[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or…»
23:05 Mouq r: 'aaaaa' ~~ /\w+/; try { EVAL 'say $¢'; CATCH { $!.WHAT.say } }
23:05 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«Nilâ�¤[31m===[0mSORRY![31m===[0m Error while compiling eval_0â�¤Unsupported use of $¢ variableâ�¤at eval_0:1â�¤------> [32msay [33mâ��[31m$¢[0mâ�¤    expecting any of:â�¤        argument listâ�¤        pre…»
23:05 Mouq r: 'aaaaa' ~~ /\w+/; try { EVAL 'say $¢'; } CATCH { $!.WHAT.say } #?
23:05 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32maaaaa' ~~ /\w+/; try { EVAL 'say $¢'; } [33mâ��[31mCATCH { $!.WHAT.say } #?[0mâ�¤    expe…»
23:05 Mouq r: 'aaaaa' ~~ /\w+/; try { EVAL 'say $¢'; }; CATCH { $!.WHAT.say } #?
23:05 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: ( no output )
23:05 Mouq r: 'aaaaa' ~~ /\w+/; try { EVAL 'say $¢'; }; $!.WHAT.say
23:05 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«(X::Syntax::Perl5Var)␤»
23:05 Mouq ^^ that
23:08 Mouq r: constant \term:<$¢> = macro { $/.CURSOR }; 'aaaaa' ~~ /\w+/; say $¢
23:08 camelia rakudo-moar 7c12aa: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
23:08 camelia ..rakudo-parrot 7c12aa, rakudo-jvm 7c12aa: OUTPUT«===SORRY!===␤No such method 'has_compile_time_value' for invocant of type 'NQPMu'␤»
23:08 Mouq r: constant \term:<$¢> = macro { quasi { $/.CURSOR } }; 'aaaaa' ~~ /\w+/; say $¢
23:08 camelia rakudo-moar 7c12aa: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
23:08 camelia ..rakudo-parrot 7c12aa, rakudo-jvm 7c12aa: OUTPUT«===SORRY!===␤No such method 'has_compile_time_value' for invocant of type 'NQPMu'␤»
23:10 lue $¢ isn't supposed to exist anymore(?)
23:10 Mouq r: macro term:<$¢> () { $/.Cursor }; "aaaaa" ~~ /\w+/; say $¢
23:10 Mouq lue: Oh?
23:10 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«No such method 'Cursor' for invocant of type 'Match'␤  in macro term:<$¢> at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
23:10 * lue still wants the ¢ sigil for sheer -Ofun-ness, by the way.
23:11 Mouq r: macro term:<$¢> () { $/.CURSOR }; "aaaaa" ~~ /\w+/; say $¢
23:11 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«Cursor.new()␤»
23:12 Mouq It was never removed from S05
23:12 lue I could be wrong on $¢, but I know the ¢ sigil is tragically gone.
23:13 Mouq And STD.pm6 uses it heavily IIRC…
23:14 Mouq But adding `macro term:<$¢> { $/.CURSOR }` somewhere in the setting should hypothetically fix that error
23:14 lue Hang on, S08 (Under "Context Deferral") mentions that Capture and Parcel are sufficient to avoid coercing captures into something else. Since \vars are Parcel (IIRC), does that mean \foo is the replacement for ¢foo ?
23:18 lue .ask TimToady if I read the last section of S08 correctly (and correctly understand that \foo operates on a Parcel basis), does that mean \foo is considerable as a replacement for ¢foo ?
23:18 yoleaux lue: I'll pass your message to TimToady.
23:19 Mouq There should definitely be some sort of documentation *just* on parameters
23:20 lue Mouq: That means I should finish my parameter intro/tutorial/thing sometime soon, then? :) [and possibly remove/condense the introductory stuff in Signature]
23:22 tgt joined #perl6
23:22 Mouq class S06 is Int { method addto (|args, $self: @x) { say(args); $self += [+] @x } }; S06.new.addto(5);
23:23 Mouq r: class S06 is Int { method addto (|args, $self: @x) { say(args); $self + [+] @x } }; S06.new.addto(5);
23:23 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Cannot put required parameter $self after variadic parameters�at /tmp/tmpfile:1�------> [32m S06 is Int { method addto (|args, $self[33m�[…»
23:23 Mouq n: class S06 is Int { method addto (|args, $self: @x) { say(args); $self + [+] @x } }; S06.new.addto(5);
23:23 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Only the first parameter may be invocant at /tmp/KRIVsK2col line 1:�------> [32m is Int { method addto (|args, $self: @x[33m�[31m) { say(args); $self + [+] @x } }; S06.n[0m��Unhandled exception: Illegal …»
23:24 Mouq lue: http://perlcabal.org/syn/S06.html#Parcel_binding
23:24 lue Mouq: try ($self: @x, |args)
23:25 Mouq lue: I know, I was just testing a line from S06 that I didn't think would work
23:25 lue Alright :)
23:26 Mouq lue: I'm not sure what ¢var was supposed to do, but between \var and |var I don't know what other Capture semantics you want
23:27 Mouq \var isn't so much Parcel as gimme *exactly* whatever that argument passed to me was, AIUI
23:27 lue Mouq: AFAIU, ¢foo was/is meant to hold Captures without, say, itemizing them, or any other sort of coercion $ and friends would do. Which is why I wonder if \foo is the suitable replacement.
23:27 Mouq lue: That's exactly what \foo does
23:28 lue (Or if we want something specifically Capturesque and bring back ¢foo. I want this option for increased Unicodeness ☺)
23:29 lue If (*if*) we brought back ¢foo, then perhaps \foo would be the ASCII alternative, instead of the weird $@foo (or was it @$foo) thing we had before.
23:30 Mouq p6: $#var
23:30 camelia rakudo-parrot 7c12aa, rakudo-jvm 7c12aa, rakudo-moar 7c12aa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unsupported use of $#variable; in Perl 6 please use @variable.end�at /tmp/tmpfile:1�------> [32m$#var[33m�[31m<EOL>[0m�»
23:30 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Unsupported use of $#var variable; in Perl 6 please use @var.end at /tmp/tmpfile line 1 (EOF):â�¤------> [32m$#var[33mâ��[31m<EOL>[0mâ�¤â�¤Parse failedâ�¤â�¤Â»
23:30 mattp_ joined #perl6
23:31 ingy joined #perl6
23:38 ingy1 joined #perl6
23:39 tgt_ joined #perl6
23:40 Mouq lue: And also yes, parameter intro/tutorial/thing would be awesome :)
23:41 lue :)
23:47 felipe joined #perl6
23:51 hoverboard joined #perl6

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

Perl 6 | Reference Documentation | Rakudo