»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:07 tinyblak joined
TimToady and that fails no tests, so obviously we never tested the flattening of the method forms 00:18
dalek ast: 931a0de | TimToady++ | S03-junctions/misc.t:
test that junctional methods do not flatten
00:19
00:20 laouji_ joined
TimToady m: say ((1,2,3),(4,5,6)).any == 3 00:21
camelia rakudo-moar b80de3: OUTPUT«any(True, True)␤» 00:22
TimToady m: say any((1,2,3),(4,5,6)) == 3
camelia rakudo-moar b80de3: OUTPUT«any(False, False, True, False, False, False)␤»
TimToady what it used to say
00:24 hobbs left 00:26 hobbs joined 00:29 rurban left 00:36 ssqq joined
dalek ast: 44d4696 | TimToady++ | S03-junctions/misc.t:
also test that listop forms are flattening
00:36
00:39 laouji_ left, laouji_ joined 00:41 jnthn left, jnthn joined 00:43 gcole joined 00:44 laouji_ left
TimToady note this change may also have ecosystem fallout, even though roast didn't 00:44
00:48 gcole left, laouji_ joined
raiph .tell jepeway I've added a comment to your gist 00:57
yoleaux raiph: I'll pass your message to jepeway.
colomon smoke.perl6.org/report looks like there has already been some ecosystem issue over the weekend… bunch of new failures since the 23rd. 01:00
yoleaux 24 Apr 2015 07:09Z <nine> colomon: ah, yes, I do not handle overloading at all, yet. Maybe I should have a look at that soonish.
TimToady well, this is the part of the GLR we knew we need to get out of the way because API 01:01
colomon TimToady: aye, I just hope someone looks at the issues. :) 01:03
any idea how pm’s team did in the robot worlds this weekend?
TimToady ain't heard 01:04
01:17 TomHyer left 01:22 Spot__ joined 01:34 raiph left
ugexe dir("/").sort({ -.chars })>>.say # is the hyperoperator parallelizing the work, resulting in like: aaaa,bb,c,ddddddd,eeee,ff? 01:45
01:46 ilbot3 joined 01:48 chenryn joined
ugexe example output for a better picture: gist.github.com/ugexe/dd3169b7fe1a80e30ef6 01:51
02:05 yeahnoob joined 02:07 ssqq left 02:08 aborazmeh joined, aborazmeh left, aborazmeh joined
dalek kudo/nom: 9f7c71f | TimToady++ | src/core/Junction.pm:
remove commented code
02:16
02:24 cognominal left 02:32 gcole joined 02:36 gcole left 02:40 ssqq joined
ssqq I think the method `first` of `List` should have default behaviour just like Lisp: get the first element of List. 02:42
(1,2,3).first #=> 1 02:43
(1,2,3).last #=> 3; (1,2,3).rest #=> (2,3) 02:44
02:48 konsolebox joined 02:53 raiph joined
TimToady why duplicate [0] and such? 02:55
02:55 noganex_ joined
TimToady and most of the time we end up dealing with that using binding: ($first, *@rest) 02:56
besides, it should obviously be .car and .cdr :) 02:57
02:58 noganex left
ssqq TimToady: last elements of array `[*-1]` is ugly, .last is better. 03:08
TimToady: .car and .cdr have been out of style, `first` and `last` is modern. 03:11
TimToady last is terribly ambiguous ("previous"?) and last already means something else in Perl 03:14
and nothing about Lisp can be construed as "modern" :P
except in the prior-to-postmodern sense :)
ssqq TimToady: I think `(1,2,3).first` is more natural than `(1,2,3)[0]` 03:15
TimToady and we're not in the business of pulling in every meme we can from other languages anyway--that was Perl 1's jobb :)
and why overload .first anyway, when .head is unambiguous 03:16
ssqq Maybe I poison in `Lisp` too much.
TimToady we're quite willing to borrow ideas from other languages, but specific syntax...not so much...
dalek kudo/nom: 13aed01 | TimToady++ | src/core/Hash.pm:
flattery gets .classify and .categorize nowhere
03:17
03:29 ssqq_ joined
dalek kudo/nom: fff887e | TimToady++ | src/core/Any.pm:
min/max/minmax deflatting
03:32
skids std: grammar A { token foo-bar { <[A]> }; token TOP { <[B] + foo-bar> } };
camelia std 28329a7: OUTPUT«ok 00:00 138m␤»
skids m: grammar A { token foo-bar { <[A]> }; token TOP { <[B] + foo-bar> } }; 03:33
camelia ( no output )
skids oh its runtime.
03:33 ssqq left
skids m: grammar A { token foo-bar { <[A]> }; token TOP { <[B] + foo-bar> } }; A.parse("A"); 03:33
camelia rakudo-moar 9f7c71: OUTPUT«Method 'bar' not found for invocant of class 'A'␤ in regex TOP at /tmp/7frYnpHMaF:1␤ in method parse at src/gen/m-CORE.setting:16852␤ in block <unit> at /tmp/7frYnpHMaF:1␤␤»
03:37 ssqq_ left
dalek osystem: 71068f3 | (David Farrell)++ | META.list:
Added Pod::Perl5
03:45
03:52 konsolebox left 04:00 rhr joined 04:01 konsolebox joined
labster I'm almost tempted to define bytes as octets in S99 so I can close github.com/perl6/specs/issues/85 04:10
04:14 chenryn left 04:18 BenGoldberg left 04:21 gcole joined, aborazmeh left 04:25 gcole left 04:40 laouji_ left 04:41 chenryn joined 04:55 laouji_ joined 05:11 baest_ is now known as baest 05:15 kaare_ joined 05:16 skids left 05:33 chenryn left 05:36 rindolf joined 05:40 chenryn joined 05:50 raiph left 06:06 domidumont joined 06:09 diana_olhovik joined, gcole joined 06:10 domidumont left 06:11 domidumont joined 06:14 gcole left 06:19 FROGGS joined
FROGGS o/ 06:22
raydiak \o 06:24
jnthn o/ 06:30
nwc10 \o
"you have no messages" 06:31
including, you have no messages from ASAN
jnthn phew :)
labster \o/ 06:32
06:43 mathw_ is now known as mathw 06:44 eli-se joined 06:48 RabidGravy joined
labster m: 1 x "''''" 06:56
camelia rakudo-moar fff887: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏''''' (indicated by ⏏)␤ in sub parse-int-frac-exp at src/gen/m-CORE.setting:7463␤ in sub parse-simple-number at src/gen/m-CORE.setting:7633␤ in sub parse-…»
labster hm, maybe that string in the error should escape single quotes. 06:57
06:59 Rounin joined
jnthn Or just pick the same quotes that regexes use to put in that error 07:00
07:03 virtualsue joined
raydiak m: say "" ~~ /^$/ 07:03
camelia rakudo-moar fff887: OUTPUT«「」␤»
raydiak m: say "「」" ~~ /../ 07:04
camelia rakudo-moar fff887: OUTPUT«「「」」␤»
labster m: (1 x "a").WHAT.say 07:05
camelia rakudo-moar fff887: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤ in sub parse-int-frac-exp at src/gen/m-CORE.setting:7463␤ in sub parse-simple-number at src/gen/m-CORE.setting:7633␤ in sub parse-rea…»
labster m: my $x = "a"; (1 x "a").WHAT.say 07:06
camelia rakudo-moar fff887: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤ in sub parse-int-frac-exp at src/gen/m-CORE.setting:7463␤ in sub parse-simple-number at src/gen/m-CORE.setting:7633␤ in sub parse-rea…»
labster m: my $x = "a"; (1 x $x).WHAT.say
camelia rakudo-moar fff887: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤ in sub parse-int-frac-exp at src/gen/m-CORE.setting:7463␤ in sub parse-simple-number at src/gen/m-CORE.setting:7633␤ in sub parse-rea…»
jnthn uh, Match objects I mean
07:06 salv0 joined, _mg_ joined
labster I vaguely feel like that should be a Failure, not sure why. 07:07
07:07 Rounin left 07:08 telex left 07:09 xfix joined 07:10 telex joined
moritz TimToady: thanks, fixed 07:10
yoleaux 26 Apr 2015 21:53Z <TimToady> moritz: ss/need to much/need to know much/
07:13 Rounin joined, salv0 left, salv00 joined 07:14 salv00 left, salv0 joined 07:18 virtualsue_ joined, virtualsue left, virtualsue_ is now known as virtualsue 07:20 zakharyas joined
dalek ast: b634151 | lizmat++ | S16-filehandles/io.t:
Remove test for #124394, it's tested elsewhere
07:24
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124394
lizmat and good *, #perl6!
labster good * lizmat
m: "a".Numeric.WHAT.say
camelia rakudo-moar fff887: OUTPUT«(Failure)␤»
labster m: "a".Int.WHAT.say 07:25
camelia rakudo-moar fff887: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤ in sub parse-int-frac-exp at src/gen/m-CORE.setting:7463␤ in sub parse-simple-number at src/gen/m-CORE.setting:7633␤ in sub parse-rea…»
lizmat last news about pmichaud's team is: 5th place (woolfy++) 07:27
FROGGS (pmichaud's team)».++
nwc10 5th place in the known universe? 07:29
dalek ast: 52a016a | lizmat++ | S16-filehandles/io.t:
When you remove a test, adjust the count, duh!
07:30
lizmat world championship robotics
nwc10 "world championship" is roughly "known universe", if you follow my sense of humour
lizmat I'm not that terran centric :-) 07:31
meanwhile, with all the last changes, startup on my machine has gone up from .20 to .32 seconds 07:32
I also understand 5th out of 64 teams
moritz that's pretty impressive 07:34
jnthn Indeed.
07:34 bjz joined
jnthn Congrats to them :) 07:35
07:35 mr-foobar joined, araujo joined
jnthn lizmat: If the NFG merge is within the scope of that increase, it's entirely possible that doing a load of NFG-ing at startup as we load various string heaps could be part of it. 07:35
lizmat: Thankfully for that one, callgrind can tell me how much of an issue it is, and I've a good idea how to solve it. :) 07:36
lizmat feels like it
TimToady it's unlikely to be the GLR api changes
jnthn TimToady: Agree.
lizmat agree
07:36 domidumont left
jnthn I kinda suspected we might take a startup hit from switching NFG one, but punted worrying about that until I'd got past the "make it work" phase. :) 07:37
s/one/on/
lizmat yeah, that's why I didn't mention it until now :-)
jnthn Anyways, I'll do some measuring tomorrow and see if that's it. :) 07:38
lizmat kewl :-)
FROGGS TimToady: do we want to support this? my $Letter = True; say "foo..." ~~ / <:$Letter>+ / 07:39
nwc10 jnthn: in theory, we could serialise in NFG. Or, at least, have an option, enabled during setting compiation, to serialise as NFG, and bootstrap the NFG table from the serialised blob. 07:40
or, have a "trusted" flag on the seralisation saying that we've confirmed there's nothing NFG-able in here
dalek kudo/nom: 0a68977 | TimToady++ | src/core/List.pm:
deitemize combination/permutations
07:41
ast: 19ddb08 | TimToady++ | S32-list/ (2 files):
de-itemize combinations/permutations
jnthn nwc10: In practice, latin-1 already *is* in NFG, and more compact than UTF-8, and cheaper to decode than UTF-8, so we probably win more overall just by storing those strings we can as latin-1. :)
(which was my plan :))
nwc10 although if (post Christmas) someone (else) writes the 8 bit NFG, it might be that the setting uses fewer than 128 non-ASCII characters, so it can all be stored as 8 bit 07:42
TimToady FROGGS: beats me
nwc10 but agree, seralising to Latin 1 where viable feels like a win.
FROGGS k, leave it out for now
07:43 domidumont joined, abraxxa joined
jnthn FROGGS: Do we do :Letter($Letter) already? 07:43
FROGGS jnthn: yes
jnthn Hmm
It's arguable :) 07:44
It's cute :)
(today) ;)
FROGGS it is a colonpair
jnthn Right 07:45
That's what makes it arguable :)
FROGGS well, it can be extended later very easily...
thing is, I need to check what the jvm is doing here at all, since getuniprop_{str,int} is not supported yet 07:46
so I probably do that first so I can apply my patches
and add or unfudge tests, since there was not a single passing todo :o( 07:47
07:49 zakharyas left
FROGGS m: say "foo" ~~ "foo"|"bar" ?? 1 !! 0 07:50
camelia rakudo-moar fff887: OUTPUT«1␤»
FROGGS m: say ("foo"|"bar").ACCEPTS("foo") ?? 1 !! 0
camelia rakudo-moar fff887: OUTPUT«1␤»
FROGGS m: say (("foo"|"bar").ACCEPTS("foo") ?? 1 !! 0).perl
camelia rakudo-moar fff887: OUTPUT«1␤»
FROGGS hmmm
07:50 cschwenz joined
lizmat m: use strict <foo bar> # what should this do ? 07:51
camelia rakudo-moar fff887: OUTPUT«===SORRY!===␤This representation (P6str) does not support associative access␤»
lizmat my approach at the moment, is that it goes out to find a module with that name
and then fail atm: 07:52
$ 6 'use strict <foo bar>'
===SORRY!===
Could not find strict in any of
m: use strict
camelia ( no output )
FROGGS and without the arglist it would use the pragma? that feels strange
lizmat well, I can let it die then and there as well :-) 07:53
FROGGS I mean, if we do not handle options passed to pragmas yet we should say so
lizmat that's what I'm working on now
before, any options passed to pragmas were simply ignored or caused LTA errors
cschwenz That also has huge potential to conflict with design.perl6.org/S22.html#emulates
FROGGS ahh
07:55 zakharyas joined 07:57 bjz left 07:58 bjz joined, gcole joined
FROGGS cschwenz: in what way? 07:59
cschwenz "use JSON::XS:auth<cpan:MLEHMANN>;" 08:00
admitedly there is an "auth" there, but still…
*admittedly 08:01
FROGGS I still don't see a connection to pragmas here
jnthn There's no ambiguity; the :auth is part of the name 08:02
Arguments come after whitespace
use Foo :auth<bar>; # use Foo, pass one argument (and probably get an error for trying) 08:03
08:03 gcole left
lizmat so jnthn, you're saying that: 08:04
$ 6 'use strict:auth<foo>'
===SORRY!===
Could not find strict in any of:
feels correct but:
dalek ast: eec1d5e | TimToady++ | S32-list/ (2 files):
.unique and .squish don't flatten
08:04 andreoss joined
lizmat $ 6 'use strict <foo bar>' 08:04
===SORRY!===
Could not find strict in any of
dalek kudo/nom: 3a2f8a5 | TimToady++ | src/core/List.pm:
.unique and .squish don't flatten
lizmat should fail with something like "strict doesn't take any parameters" ?
jnthn lizmat: The latter is certainly correct 08:05
lizmat: The first we may want to recognize they're using a built-in pragma that doesn't accept ver/auth search.
lizmat ok, I'll make it that way then 08:06
jnthn And so give a slightly more helpful error.
Otherwise we'll only get somebody reporting it as LTA :P
lizmat but only if the module cannot be found? or not try to load anyway ?
08:07 virtualsue left
jnthn lizmat: My first inclination is "don't even try", but maybe that's restricting people writing their own definition of strict...otoh we don't have the facilities to really do such a thing yet. 08:07
lizmat if we would allow access to %*PRAGMAS, it could work, no? 08:08
jnthn %*PRAGMAS is just a stand-in for now
We need a better mechanism eventually.
Ties into masak++'s QTree work, I suspect. 08:09
lizmat ok, well, then we shouldn't restrict just yet, then
jnthn yeah...guess it's Perl-ier not to :)
lizmat fwiw, my next thing would be using the %*PRAGMAS framework for handling 'use lib' 08:10
jnthn So maybe you already have it right. :)
andreoss the readline interface is now broken with perl6-m 08:16
jnthn readline interface?
08:16 darutoko joined
andreoss repl 08:16
how do you call it? 08:17
jnthn Broken in what sense?
I think you need to install some module to get history/tab-completion support.
(Since it was moved out of the VM)
cschwenz andreoss: do you mean the linenose reimplementation of readline?
*linenoise 08:18
andreoss ^A, ^E etc don't work
so i putted rlwrap in bin/perl6
it was a nice feature, I guess some people want it out of the box. 08:20
jnthn I assume we'll ship the module needed with R*, so most end users will get it out of the box.
08:21 sqirrel joined 08:27 dakkar joined
dalek kudo/nom: 34f7992 | lizmat++ | src/Perl6/ (2 files):
Move module loading logic to World

Step #1 towards making module loading more S11/S22 compatible.
08:28
08:35 bjz left 08:36 domidumont1 joined 08:38 domidumont left 08:40 zeleiadi joined
dalek kudo/nom: 1dd95d4 | lizmat++ | src/ (2 files):
Make 'use strict <foo bar>' give a better error
08:43
lizmat afk for a bit& 08:44
08:50 bjz joined 08:54 hobbs left, laouji__ joined 08:55 hobbs joined 08:57 laouji_ left 08:59 [Tux] joined
dalek kudo/nom: 589da72 | lizmat++ | src/Perl6/World.nqp:
Don't use try if it's not needed
09:03
lizmat is off for some flea market hunting on king's day 09:04
09:04 bjz left
DrForr Rather glad NLPW wasn't during King's Day this time 'round. 09:05
09:08 salv0 left 09:11 espadrine joined 09:12 darutoko left 09:13 darutoko joined 09:24 domidumont joined, salv0 joined 09:27 zeleiadi left, domidumont1 left 09:29 rurban joined
RabidGravy is there any particular reason that, e.g., Promise, uses nqp::lock, nqp::unlock directly rather than using Lock.protect() ? 09:29
jnthn Performance tuning is the good answer now, but the historical one is that Promise came first. 09:31
masak good antenoon, #perl6 09:32
RabidGravy er
p
erp
masak m: say "er" ~ "p"
camelia rakudo-moar 589da7: OUTPUT«erp␤»
RabidGravy :)
masak m: sub infix:<~->($big, $small) { $big.subst($small, "") }; say "erp" ~- "p" 09:33
camelia rakudo-moar 589da7: OUTPUT«er␤»
[ptc] m: qqx{perl6 /tmp/not-existent.txt} 09:35
camelia rakudo-moar 589da7: OUTPUT«qx, qqx is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:1␤ in sub QX at src/RESTRICTED.setting:11␤ in block <unit> at /tmp/NFohEJ3iFP:1␤␤»
09:35 bjz joined 09:36 yeahnoob left
jnthn o/ masak 09:36
masak Perl 6 day today \o/ 09:40
I should probably start by looking at the RT queue
notably #124321 09:41
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124321
dalek pan style="color: #395be5">perl6-examples: 7b0ad5d | paultcochrane++ | categories/shootout/fasta.p6:
Correct filename in usage information
09:43
pan style="color: #395be5">perl6-examples: 33de77f | paultcochrane++ | categories/shootout/k-nucleotide.p6:
Don't use tabs in output

Correct example now that .map isn't flat
After the change ecd3159 which stopped .map from flattening, this example stopped working. To have the equivalent functionality, one needs to use
  .for instead of .map.
jnthn Calling .^make_pun is surely wrong
FROGGS but funny :D
jnthn It'll create one every time
09:43 dalek joined, ChanServ sets mode: +v dalek
jnthn .^inheritalize gets the pun 09:44
RabidGravy dalek got exterminated?
the irony
FROGGS uff, this autothreads the .ACCEPTS call: perl6 -e 'say "foo0½¼1bar" ~~ / <:Arabic("Latin" | "Common")>+ /'
jnthn Though maybe we should have a .^pun that does similar, and make inheritalize delegate to it.
masak +1 09:45
ok, so that was easy. the problem is in... NativeCall, then?
FROGGS yes
masak adds this to the ticket 09:48
masak tries to reproduce the original problem, and also to make it go away with .^inheritalize
yep, and yep. 09:49
vendethiel m: class A{has $.a;sub f {:$.a}}; say A.new(:5a).f.perl 09:50
camelia rakudo-moar 589da7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fomgrrQnWp␤Variable $.a used where no 'self' is available␤at /tmp/fomgrrQnWp:1␤------> 3class A{has $.a;sub f {:$.a7⏏5}}; say A.new(:5a).f.perl␤»
vendethiel m: class A{has $.a;method f {:$.a}}; say A.new(:5a).f.perl
camelia rakudo-moar 589da7: OUTPUT«:a(5)␤»
masak - typed.^make_pun;
+ typed.^inheritalize;
fixes it.
vendethiel
.oO( he's taking away our puns! )
09:51
masak vendethiel: but note in the backlog that there's the possibility of adding a .^pun meta-method
09:54 gcole joined, gcole left
jnthn Yes, but the MOP could make it prettier to get right :) 09:54
09:54 andreoss left, Alina-malina left
masak -Opretty 09:54
09:55 Alina-malina joined
jnthn masak: If you fancy doing the MOP patch, then move the logic in RolePuning.nqp's inheritlaize method into a pun method, and make inheritalize call pun 09:56
09:56 Alina-malina left
nwc10 [ptc]: are you killing dalek again? :-) 09:56
masak .oO( <hulk smash> Puny Role! ) :P 09:58
we're gearing up for lunch here, so the fix'll have to be after that. 10:02
but the path forward seems clear.
FROGGS m: say '0.0' ~~ 0 ^..^ 1 10:03
camelia rakudo-moar 589da7: OUTPUT«True␤»
FROGGS m: say 0.0 ~~ 0 ^..^ 1
camelia rakudo-moar 589da7: OUTPUT«False␤»
jnthn munch lunch then punch
FROGGS :o(
m: say '1.0' ~~ 0 ^..^ 1 10:04
camelia rakudo-moar 589da7: OUTPUT«False␤»
FROGGS ?
there is a bug, right?
jnthn m: say (+'0.0').perl
camelia rakudo-moar 589da7: OUTPUT«0.0␤»
jnthn m: say +'0.0' > 0
camelia rakudo-moar 589da7: OUTPUT«False␤»
jnthn Hm, and an odd one at that.
m: say +'0.0' > 0e0
camelia rakudo-moar 589da7: OUTPUT«False␤»
jnthn m: say +'0.0' > 0.0
camelia rakudo-moar 589da7: OUTPUT«False␤»
FROGGS well, tbf the range code for .ACCEPTS is kinda hairy 10:05
but that also means that my colonpair unicode property patch is fine 10:07
10:12 Alina-malina joined 10:14 lolisa joined
FROGGS reported it as RT #124400 10:15
m: say '0.0' cmp 0
camelia rakudo-moar 589da7: OUTPUT«More␤»
timotimo o/ 10:18
10:19 chenryn left, dayangkun left 10:21 MARTIMM joined 10:26 domidumont left, domidumont joined
masak FROGGS++ # RT #124440 10:33
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124440
10:33 eli-se left
masak (kind of missing from that bug report: expectations, Rakudo version) 10:33
though the expectations can be filled in by a reader who wants to hazard a guess, it's always good to be specific. 10:35
10:36 mr-foobar left
jnthn *nod* 10:37
It's a tricky one since I *think* cmp is behaving as designed when being given two different types. 10:38
10:48 gcole joined 10:50 chenryn joined 10:53 gcole left 10:57 eli-se joined
masak right. it's more obviously wrong with the infix:<~~>, because there a cast to the rhs type is kind of expected. 10:58
11:03 chenryn left 11:04 chenryn joined 11:22 eli-se left 11:26 raiph joined
RabidGravy does the Scheduler.cue({}, :every => 2) have a higher level abstraction? 11:26
(I can't find one) 11:27
masak RabidGravy: what kind of higher-level abstraction are you looking for? 11:28
RabidGravy any really - you can get plain cue({}) and cue({}, in => 1) from Promise but every and times not 11:29
In the concurrency document I am trying to draw the comparison between the higher and lower level interfaces 11:31
11:32 muraiki joined
RabidGravy every() for instance could be a method on Promise that returns a Supply that emits a promise for every execution of the code 11:32
(and times() similarly)
timotimo you can get a periodic supply to call your stuff for you 11:33
doc.perl6.org/routine/interval 11:34
RabidGravy ah, yes I had completely forgotten that, cheers
stand easy
all good then, I can stop worrying, but actually the thought experiment of how I might implement that is fruitful anyhow 11:44
11:47 eli-se joined 11:56 domidumont left 11:57 gcole joined 12:03 domidumont joined 12:04 laouji__ left 12:05 colomon left 12:06 colomon joined
[Tux] <slik>Another 20% slowdown?</slik> 12:10
12:11 abraxxa left
rjbs- Does p6 have the equivalent of Python's for/else? 12:12
timotimo rjbs-: i can never remember how exactly that works
[Tux]: please keep in mind that there's currently a significant slow-down the more modules you have in your database
[Tux] it is *runtime* not startup time 12:13
two days ago 35.5 seconds, yesterday 41, today 49
12:14 chenryn left
timotimo good to know 12:14
[Tux] testing again, might have hit a bad moment
timotimo but yeah ... that sucks :(
12:14 raiph left
[Tux] 39 now 12:14
rjbs- timotimo: The else block is called if the for loop was not ended early. 12:15
12:15 abraxxa joined, rjbs- is now known as rjbs
[Tux] I kanda liked Davids proposal 12:15
12:16 rjbs left, rjbs joined
[Tux] and/or zefram's contuniue/on_last/on_complete 12:16
12:16 raiph joined
timotimo [Tux]: ok, that's still bad, but at least doesn't seem like a new regression 12:17
[Tux] indeed 12:18
github.com/Tux/CSV/blob/master/README.speed for the pro/regression since 201410
12:26 eli-se left, MARTIMM left 12:28 eli-se joined
[Tux] error reporting is currently waaaaaaay of with the line number: 12:33
Attribute $!errors not declared in class Text::CSV
at /pro/3gl/CPAN/Text-CSV6/lib/Text/CSV.pm:1511
that should have been line 464
1511 is the first line *after* the class
hoelzro morning #perl6 12:37
cschwenz o/ hoelzro 12:38
hoelzro o/ cschwenz
FROGGS: do you have an idea on how compunit file naming could work differently in the future to support .so/.dll/etc files? 12:39
I would like to help with that effort so that Linenoise is ready by the next release 12:40
12:42 lolisa left
FROGGS hoelzro: can talk about that later? 12:43
hoelzro FROGGS: sure, just ping me when you're available 12:44
FROGGS k 12:45
thanks :o)
hoelzro no problem =) 12:46
masak hello from a train! 12:47
hoelzro o/ masak 12:48
moritz \o
nine hoelzro: at the PQAH using a (numeric) folder per distribution and plain file names within that folder looked like the solution
FROGGS nine: that's at least my current favourite 12:49
though we should perhaps Punycode the filenames
nine Sounds like a sensible precaution 12:50
FROGGS but taking care of MyDist/share and installing it into a sensible location is something that can be done in parallel to fixing the other issues
hoelzro that seems reasonable 12:54
if you punycode the filename, though, what happens for .so and .dll files, since it's the c library/OS that locates them, rather than the VM?
FROGGS hoelzro: well, they hopefully are ascii only... or we decide to not punycode stuff from share 12:56
moritz I'd only punycode stuff that the VM loads 12:57
FROGGS that would be bin/ and lib/ 12:58
moritz lib/
do we ever load bin ourselves?
FROGGS well, we locate them via compunitrepos
but that covers All The Things of a dist anyway 12:59
moritz which operation causes us to look for stuff in bin/?
12:59 sqirrel left
masak ok, now let's try and spectest and fix #124321... 12:59
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124321
FROGGS running such a script
moritz: like when you run the installed 'panda'
moritz FROGGS: and there's a wrapper involved somewhere? 13:00
FROGGS it will look for a 'bin/panda' in the compunitrepos, and will run that
aye
13:00 felher joined
moritz eeks 13:00
FROGGS so you can have multiple dists providing a panda binary/script
moritz: when have you been since dec' 2013?
moritz when indeed? 13:01
or where, for that matter?
FROGGS no, I mean you are asking stuff that was discussed several times (and there exist advent posts about that topic)
moritz yes, my p6 involvement has been declining 13:02
FROGGS thing is we need a way to support multiple versions of dists, which cover dists that provide executables
masak knows the feeling :/
used to be a time I backlogged everything. everything! 13:03
moritz FROGGS: ok, good point
masak: same here
and then came kid no. 2
FROGGS so we install a generic wrapper script, that does the same magic as a 'use' statement for modules
or 3 :o)
hoelzro I think we're going to have to make NativeCall aware of the compunit repo stuff 13:04
FROGGS hoelzro: I'd prefer a more general solution
masak .oO( this problem requires... a more *general* solution. <mad laughter> ) 13:05
hoelzro FROGGS: what I mean by that is I think if we're going to store .so and .dll files at locations in the repository, we can't rely on the OS dynamic linker to be able to find them
FROGGS so if you compile a lib (to /share in your dist), you shall be able to do: sub mynative() is native(%?RESOURCE<share/mylib.so>) { ... }
or something like that
hoelzro hmm, I think that would work
depending on the linker impl 13:06
FROGGS yes, the OS will not look everywhere for libs, that's for sure
moritz: sorry if my comment earlier was offending :S 13:08
colomon masak, moritz: I don’t think I ever backlogged everything. :) Do wish I had more time for p6, but then, right now I pretty much wish I had more time for everything.
13:09 _mg_ left
moritz FROGGS: it wasn't 13:10
FROGGS phwe
phew*
hoelzro for the time being, maybe I should disable the linenoise check, or at least have a way to override it
moritz sometimes I'm just wondering myself where I've been
FROGGS hoelzro: why? does it hurt?
masak colomon: yeah, same.
hoelzro FROGGS: if you have Linenoise installed, you can't run the REPL at all 13:11
because Linenoise.pm can't find liblinenoise.so
masak colomon: it seems to be a repeating thing that I have a bunch of good ideas when I have absolutely no time to implement them. instead, I try to write things down.
FROGGS ups
masak spectest failure in t/spec/S17-channel/basic.t
"Bad plan. You planned 17 tests but ran 16."
passes if I run it directly, either with `perl6` or with `make` 13:12
(oh, and the spectests were run with TEST_JOBS=4, so maybe that's a factor, too)
13:14 cognominal joined
masak we have no NativeCall tests in t/spec ? 13:15
FROGGS only in t 13:17
masak: it is not part of the language
masak oh! 13:18
where should the test for #124321 go? it does test for a bug in NativeCall.
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124321
masak t/04-nativecall/04-pointers.t seems the perfect place for it. 13:19
FROGGS yeah, think so too 13:20
DrForr It's resolved? Yay.
FROGGS a one line fix IIRC
masak++
DrForr Yeah, ^.make_pun is repeating itself.
masak DrForr: about to write a test and then fix it. so not quite yet. 13:21
DrForr Ah, okay.
masak I'm on a train, so if I drop out unexpectedly it's because the train has formed its own private little Internet all of a sudden.
masak wonders if he's the Rakudo committed with the highest average velocity per commit 13:22
DrForr Depends. Are you on the Eurostar?
FROGGS hmmm, has jnthn already committed from a plain yet? 13:24
moritz I'm pretty sure pmichaud has 13:25
masak pointed question (no pun intended): 13:29
there are two occurrences of .make_pun in NativeCall.pm
one in Pointer, one in CArray
both of them are in a ^parameterize method
13:29 Possum joined
masak are both wrong? (defaulting to "yes", but want to double check) 13:29
i.e. should both be replaced by a call to .^inheritalize ? 13:30
FROGGS masak: very likely yes 13:31
masak: because I used CArrays as a preset for Pointers 13:32
masak FROGGS: are you savvy enough to produce a failing test case, similar to the minimal one in rt.perl.org/Ticket/Display.html?id=124321 but for CArray ?
then I could add it to the test file.
FROGGS I can try 13:34
13:34 pyrimidine left, pyrimidine joined
masak ++FROGGS 13:35
masak just realized he has to write some C code for this test
13:36 andreoss joined
FROGGS m: use NativeCall; class Bug { sub rl_get_screen_size( Pointer[Int], Pointer[Int] ) is native( 'foo' ) { * }; method rl-get-screen-size( Pointer[Int] $r, Pointer[Int] $c ) { rl_get_screen_size( $r, $c ) } } 13:36
camelia rakudo-moar 589da7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yrmE8kMqXO␤Calling rl_get_screen_size(Pointer, Pointer) will never work with declared signature (Pointer, Pointer)␤at /tmp/yrmE8kMqXO:1␤------> 3e( Pointer[Int] $r, Pointer[Int] $c ) { 7⏏5rl_get_scre…»
andreoss m: (1...10).rotor(3,2).perl.say
camelia rakudo-moar 589da7: OUTPUT«((1, 2, 3), (4, 5), (6, 7, 8), (9, 10))␤»
andreoss is it wrong?
FROGGS that's the example from the ticket
masak right. 13:37
moritz andreoss: .rotor changed shortly after the release
andreoss: and it's right that way by the new design docs 13:38
masak I'm currently trying to get a test to express this using eval_lives_ok -- since the error happens during the compile phase, that feels reasonable.
moritz andreoss: if you want the old (3 elemes with 2 overlap, you must say)
andreoss what is the name of old rotor method?
moritz m: say (1..10).rotor(3 => -2).perl
camelia rakudo-moar 589da7: OUTPUT«((1, 2, 3), (2, 3, 4), (3, 4, 5), (4, 5, 6), (5, 6, 7), (6, 7, 8), (7, 8, 9), (8, 9, 10))␤»
moritz andreoss: rotor
andreoss ok, thanks
masak having limited success so far. it gives a different error from within the eval_lives_ok :/ 13:39
FROGGS masak: ahh, now I got ya... I shall write a test for CArray, not Pointer 13:41
masak sorry if that was unclear :) 13:42
yeah, I think I got the Pointer case already. setbacks notwithstanding.
FROGGS m: use NativeCall; class Bug { sub foo-sub( CArray[int8] ) is native( 'foo' ) { * }; method foo-method( CArray[int8] $c ) { foo-sub( $c ) } } # masak
camelia rakudo-moar 589da7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/S9mQ3TC8ak␤Calling foo-sub(IntTypedCArray[int8]) will never work with declared signature (IntTypedCArray[int8])␤at /tmp/S9mQ3TC8ak:1␤------> 3 method foo-method( CArray[int8] $c ) { 7⏏5foo-sub( $c ) …»
13:43 hobbs left
masak aha. I needed to `use NativeCall` inside of the eval. 13:43
FROGGS: thanks! 13:44
FROGGS: you just won us another test today! :)
FROGGS \o/
masak will commit these separately.
yep -- this test captures it. 13:45
(git stash -p) # like, seriously, ++
er
(git stash -p)++ # like, seriously, ++
13:45 hobbs joined
dalek kudo/nom: 1c916bc | (Carl Masak)++ | / (3 files):
Pointer.^parameterize made fresh puns every time

It shouldn't -- this commit fixes that, with a regression test.
Bug discovered by DrForr++. This takes care of RT #124321.
13:48
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124321
masak ok, I'm gonna close the ticket first, then fix all the rest. 13:49
(I also found a flaw in Str.indent that I want to address later. work begets more work.)
13:50 xfix left
colomon masak++ 13:51
masak coming back to Perl 6 and tinkering like this feels like therapy. 13:52
13:53 jdv79 left
colomon masak: absolutely yes 13:54
13:54 jdv79 joined, dayangkun joined
colomon masak: sometimes it feels like the small stuff I manage to accomplish for p6 is the only positive thing I ever do with computers. :\ 13:54
13:55 dayangkun left, dayangkun joined
masak hugs colomon 13:56
moritz masak: that reminds me of my doc writing experience, where quite often I notice some imperfections and want to fix them instead of documenting them
masak moritz: in the RPG analogy, we're multiclass, I guess. 13:57
13:58 alini joined
[Tux] Files=21, Tests=19054, 56 wallclock secs ( 2.91 usr 0.17 sys + 144.75 cusr 1.63 csys = 149.46 CPU) 13:58
Result: PASS
.oO( it'll be harder and harder to sneak new errors in without being detected )
13:59
moritz masak: in the RPGs I've played, everybody eventually learned to fight :-)
14:01 skids joined
dalek kudo/nom: 2ce3cda | (Carl Masak)++ | / (3 files):
CArray.^parameterize made fresh puns every time

It shouldn't -- this commit fixes that, with a regression test.
Bug discovered while working commit 1c916bc62bffd4c921132fb4e04191dddb1a9cba. FROGGS++ confirmed that the code in CArray was based on Pointer, and provided the failing test case (FROGGS++).
14:01
14:02 _mg_ joined
masak [Tux]: I hope I remember to say this regularly, but -- the work you're doing with CSV is very important, and has found real bugs in Rakudo and noticeably increased quality in some of our processes. 14:03
[Tux]++
FROGGS it is such an awesome feeling to remove the last fudge line from a test file by implementing something...
14:04 eli-se left 14:12 skids left 14:13 skids joined
moritz FROGGS: oh yes 14:13
FROGGS m: say "\x[1ea2]\x[5b4]def" ~~ m/\c[LATIN CAPITAL LETTER A WITH HOOK ABOVE,HEBREW POINT HIRIQ]/ 14:16
camelia rakudo-moar 589da7: OUTPUT«False␤»
cognominal what is a pun in this context? 14:17
dalek c: 76c3921 | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
start on Promises
14:19
c: a91940a | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
More promises
c: a75537b | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
largely done with Promises
masak m: role R { method greet { say "OH HAI" } }; R.new.greet
camelia rakudo-moar 2ce3cd: OUTPUT«OH HAI␤»
masak cognominal: the role R acts as a class in order for us to be able to run .new on something 14:20
cognominal: that's punning.
(I mildly dislike that in Perl 6, the word "punning" got to mean basically only this conversion. whereas in wider CS it refers to any implicit type conversion, for example from 0 to False.) 14:21
FROGGS there is not a single test for <:Foo($bar)> it seems :o( 14:23
cognominal masak: so that is a reification of a role into a class so as to use like a class? 14:24
masak cognominal: yes.
cognominal: basically the role composing "into itself", or into an empty anonymous class, or how best to express it. 14:25
cognominal so it means only that sort of implicit conversion, from role to class?
14:25 dayangkun left
masak in Perl 6 it only means that. in a wider, non-Perl 6 context, it can refer to any implicit conversion. 14:26
14:26 eli-se joined
masak see en.wikipedia.org/wiki/Type_punning 14:27
arnsholt In C type-punning is a pointer a* being reinterpreted as a b* IIRC
cognominal pointer punning for the punter... 14:29
excuse my londonian French 14:30
ShimmerFairy Hm, I've gotten to a point where I need a sublist for a delimited block item (=begin item/=end item), and I have to say it feels incredibly weird that I have to put =item2 blocks *outside* the =begin item block 14:31
I'd rather be able to put an =item (not =item2) in the delimited item block. 14:32
14:35 skids left
masak ShimmerFairy: that does sound a bit weird, yes. 14:43
and (if I may say so), insufficiently Damianesque. 14:44
ShimmerFairy masak: the =item2 and such variants are useful when you're not using delimited blocks, but in the case of delimited blocks it feels more sensible to have nesting =item blocks instead.
(but even then, there _might_ be a weak argument that sublists make the parent list item inherently multi-paragraph, and thus requiring the delimited form and making =item2 etc. useless) 14:46
dalek kudo/nom: 71b0f06 | (Carl Masak)++ | src/Perl6/Metamodel/RolePunning.nqp:
create RolePunning.pun method

as outlined in the discussion at
  irclog.perlgeek.de/perl6/2015-04-27#i_10508709
14:51
14:53 skids joined
masak ShimmerFairy: reminds me a bit about HTML5's new <header> element, vs the older <h1>, <h2> etc 14:53
ShimmerFairy masak: if you think about it, one usually prefers sub level() { ... level(); ... } over sub level1() { ... sub level2() { ... sub level3() { ... } } } :P 14:54
masak how to test that a thing does not warn? 14:55
ShimmerFairy: yes, I buy your argument. even not having fully soaked myself in the details of this case.
ShimmerFairy masak: to be fair, the level1() etc. version would probably be a macro levelN instead of a multitude of inner sub definitions 14:56
My parenthetical statement basically says "if you have a sublist, chances are the parent list item isn't _just_ a sublist, and has at least another block of text beforehand or something." 14:58
masak ShimmerFairy: I'm not smart enough at the moment to design things. maybe you could come up with a short description of how you would like the world to be -- like in a gist or something -- and then post that here on channel? 15:03
ShimmerFairy sure, Pod isn't usually suitable for pure IRC, what with it being line-oriented and all :) 15:04
masak that, too :) 15:05
15:06 raiph left 15:08 telex left 15:10 telex joined
flussence masak: <header> isn't a replacement for <h$n>, they've instead redefined <h1> to do that based on the section nesting depth 15:17
(<header> is one of those sectioning tags) 15:18
15:18 domidumont left, domidumont joined 15:19 Rounin left
masak flussence: yup. 15:20
flussence: I tried searching for it, but was unsuccessful: somewhere on the web is an algorithm where you can put in you HTML5 structure and see what actual section/heading structure that results in. 15:21
(because apparently, with both <heading> and <h$N>, that's now necessary)
15:24 raiph joined
ShimmerFairy masak: here, hopefully it's clear what my thoughts are :) gist.github.com/lue/7de4a42e001c84a5e34f 15:24
15:24 rindolf left
masak oh, it's you lue :) 15:24
didn't recognize you with that fairy.
ShimmerFairy :) 15:25
masak ok, I read through your gist. 15:26
it would be useful to get TheDamian's reaction to this. 15:27
I feel like your proposal is a good one if-and-only-if it doesn't clash with some other nice idea about POD/Pod that someone already had.
like "no, items do not nest because <good reason>" 15:28
15:28 zakharyas left, tinyblak left
masak I agree that your expectations make more sense from, say, a HTML background. 15:28
ShimmerFairy masak: sure, this only comes up because, after having a bunch of block items, I came to writing one that needs a sublist, and it felt soooo wrong to type =end item and then "oh by the way I'm not done, here's a sublist"
15:29 domidumont left
ShimmerFairy masak: I suppose that's my issue in a nutshell: I don't want to say =end item until it actually ends :) 15:29
15:32 _mg_ left
ShimmerFairy Writing Pod lately has shown a few interesting issues in Pod::To::HTML and rakudo; right now I'm trying to see if unbusting the table parser won't be too hard :) 15:32
flussence Pod, as it stands, feels closer to the mid-2000s perl6 design than what we have today. 15:33
ShimmerFairy Yes, it feels like something that hasn't been touched upon much (it doesn't help that I've been ignoring that time I worked on turning the specs into Pod6, because I'm still hoping someone more able in maintaining something that important will come along :P) 15:35
masak flussence: that is an interesting way to phrase it.
15:35 eli-se left
flussence I guess the message I'm going for is: this doesn't wow people like the rest of the language, because the rest has had so much more effort poured into it 15:37
[Coke] [Tux]++ (backscroll points for CSV++)
ShimmerFairy flussence: careful, you're starting to get me in a "what if I completely redesigned Pod" mood... :P 15:39
[Coke] we unsurprisingly get a lot of that sort of thing in Perl 6.
ShimmerFairy (oh, to whoever is able to change the channel topic: feather will shut down permanently almost a month ago ☺) 15:40
15:40 sqirrel joined
tony-o yes it is 15:40
masak flussence: right. Pod indeed doesn't wow me. and I have one big reason for that: 15:41
flussence: Markdown.
15:42 rindolf joined
ShimmerFairy (come to think of it, =finish feels like a special case for people too lazy to write =end pod at the end of the file :P) 15:42
masak there are so many ways in which Pod is not Markdown, and I kinda wish it were.
ShimmerFairy: no, it's not the same. 15:43
flussence =finish is cat>>-friendly
masak ShimmerFairy: =finish stops the parser.
15:43 tinyblak joined
ShimmerFairy which parser? The code part, or the whole thing (like the stuff after \end{document} in LaTeX)? 15:44
15:45 laouji left
masak ShimmerFairy: are you familiar with __END__ from Perl 5? 15:45
ShimmerFairy as much as the rest of Perl 5, which is to say not at all :)
(which is why I'm always frustrated when a part of the specs leaves something out because "it's the same in P5", incidentally) 15:46
tony-o why not just integrate markdown in pod style ..
masak ShimmerFairy: "The two control characters ^D and ^Z, and the tokens __END__ and __DATA__ may be used to indicate the logical end of the script before the actual end of file. Any following text is ignored." -- perldoc.perl.org/perldata.html#Special-Literals
ShimmerFairy: __END__ and __DATA__ indicate the end of the program. no further parsing of Perl takes place after that. 15:47
ShimmerFairy wow, rakudo's pod table code is confusing 15:51
RabidGravy to me pod in 6 feels like much more of a chore than in 5, it's not even like it's that much more verbose but a few bits here and a few bits there and it goes over the edge
masak ShimmerFairy: my point is, `=finish` is *not* equivalent to writing `=end pod` -- it's more equivalent to The Ultimate `=end` to end everything. 15:52
ShimmerFairy Alright, I get that :)
masak I see some places where Pod attempts (and sometimes even succeeds) at being an improvement on POD.
timotimo oh my 15:53
masak perhaps my biggest favorite is being able to attach Pod stuff to individual units of code.
timotimo current wordpress can be attacked via the comments function
flussence meep.
RabidGravy hahahaha
timotimo just looking at the comment while you're logged in as an administrator will execute code with your privs
15:54 eli-se joined
masak oh, is_run seems to get me what I need for testing that something doesn't warn. 15:55
feels a bit heavy-handed, but it works.
15:56 FROGGS left 15:57 alini left
ShimmerFairy masak: I can't seem to figure out the table processing code right now; should I file a rakudobug in this case? (I initially thought about bugging the person who wrote the code, but then I remembered we have a bug tracker ☺) 16:00
16:01 cschwenz left
masak ShimmerFairy: sorry, I missed the steps where you ended up in the table processing code. 16:05
ShimmerFairy: I thought you were talking about lists. 16:06
ShimmerFairy masak: separate issue. The way I write tables isn't being handled by rakudo correctly
masak oh, ok.
ShimmerFairy sample code: gist.github.com/lue/3256e0cc1b934e7cd513
masak then please go ahead and file a rakudobug.
the thing about =item etc. sounds like it rather belongs at github.com/perl6/specs/issues 16:07
ShimmerFairy masak: yeah. Though now I'm kinda itching to run with "make an updated S26". Just for fun though, no guarantees it would amount to anything :) 16:08
16:08 abraxxa left
masak I think any such venture would have to be an iterative thing. not a big "second system" thing. 16:09
but I agree it's worth doing.
16:09 raiph left
ShimmerFairy masak: sure, I wouldn't pretend I've come up with the perfect solution :) 16:09
masak actually, I take that back. maybe some parts of Pod as it stands today needs big jumps to improve instead of small ones. 16:11
16:11 gfldex joined
masak but I still doubt it'd be One Big Jump. 16:11
timotimo masak: try CONTROL? 16:17
m: { warn "oh noes!"; CONTROL { say "control called" } } 16:18
camelia rakudo-moar 71b0f0: OUTPUT«control called␤oh noes! in block <unit> at /tmp/pqdzIwV2ju:1␤␤Trying to unwind over wrong handler␤»
masak timotimo: oh, good point. 16:19
timotimo++
yep, that seems to do it. \o/ 16:21
timotimo yays
16:24 sqirrel left
masak discovers that there were already tests *in that file* using CONTROL 16:26
timotimo :) 16:27
16:32 dnmfarrell joined
masak ok, I have a fix for the .indent thing, too. 16:34
timotimo i didn't know .indent was broken :S
masak not broken per se.
timotimo bugged, then :) 16:35
masak I just felt it was a bit harsh on ws-only lines.
timotimo oh
masak this affects things like heredocs.
timotimo right, it should not warn if a line is only whitespace (and the wrong amount, at that)
masak right.
too little, to be specific.
timotimo aye
masak there's prior art: vim de-indentation.
timotimo if there's too much, it ought to show up in the result of the heredoc, IMO 16:36
masak anyway, I have it working, but I want to run through the spectests before committing.
timotimo: yes, of course.
timotimo we are in violent agreement, then :)
masak so I'll push later tonight.
now, detrain &
16:38 amaliapomian joined 16:39 xfix joined, xfix left, xfix joined 16:41 diana_olhovik left
TimToady I am coming to the conclusion that having a method like .for that shares its name with a statement_control keyword is a probably a mistake, for a number of reasons 16:45
timotimo mistake.for
moritz
.oO( call it .each )
TimToady it prevents having a listop 'for', and it induces a hobgoblin desire to have a "map" statement control, which doesn't work several ways 16:46
timotimo don't we already have an .each that's supposed to work a bit like a junction?
moritz timotimo: I think so, yes
TimToady yes, but that's different
timotimo it can't be different if .each is both .for and .each :)
TimToady no, I'd rename it to .flatmpa
.flatmap
moritz flatmpa sounds like a video codec 16:47
TimToady then for the statement control corresponding to .map, use some other topicalizer, such as "over", which works for both statement control and statement modifier
"mapping" would also work, but seems a bit clunkier 16:48
"over" also has vague connotations of riding up over the mess down below 16:49
the other alternative is to use some atrocity like 'mfor' 16:50
which would have a bit of mnemonic value, at the expense of ugliness 16:51
it's kind of a pity that 'over' doesn't start with 'm'... 16:52
maybe I should look at all the m-words in the dictionary...
timotimo meh ... meep ... moo ... 16:53
TimToady mangle...mung...
timotimo meow
TimToady maul... 16:55
these all seem too side-effecty... 16:56
16:56 dakkar left
timotimo mash 16:56
TimToady many reads more like a junction 16:57
timotimo indeed
TimToady maraud :) 16:58
timotimo marinade
TimToady maps, hmm
timotimo stops playing word-association (or word-disassociation) 16:59
TimToady *.foo maps @list
possible
maps @list -> { ... } is a little odder
and only works as a verb; as a noun, reads like there are multiple maps, instead of one (or gets read as 'mappings' perhaps) 17:00
massage :) 17:01
works on the control, but not the modifier...
gfldex why don't you grep '^m' /usr/share/dict/words | less ? 17:02
there are more then 4000 words to choose from
TimToady gfldex: what do you think I'm doing? 17:04
actual command: look m | grep '^m' | grep -v '........' | less
(first grep to remove proper nouns) 17:05
gfldex without *nix Perl 6 would not be possible :) 17:06
TimToady another alternative is to steal 'for' for the map equivalent, and come up with something else for flatmap
(or force people to write 'for flat', if we want to be mean :) 17:07
that would tend to confuse anyone coming from a flattening langauge though
17:10 liztormato joined
liztormato TimToady: spread ? 17:10
17:10 smash joined, perlvim joined
b2gills I'm less concerned for newcomers than for the Perl 6 experts, that is I want it consistent what ever that entails 17:10
m: say 'bow ties' ~~ Cool 17:11
camelia rakudo-moar 71b0f0: OUTPUT«True␤»
17:13 liztormato left
TimToady m: say 'unicorns' ~~ Real 17:14
camelia rakudo-moar 71b0f0: OUTPUT«False␤»
17:14 espadrine left, _mg_ joined 17:15 jepeway left 17:17 jepeway joined, diana_olhovik joined 17:23 _mg_ left
raydiak morning #perl6 17:23
colomon o/ 17:27
TimToady nothing good in the 'm's, alas 17:28
dalek rl6-roast-data: 5bd2683 | coke++ | / (9 files):
today (automated commit)
17:31
17:33 diana_olhovik left
raydiak doesn't help with the problem but it's kinda reassuring when the expert linguist has as much difficulty naming things as I do :) 17:35
17:37 diana_olhovik_ joined
timotimo the end point of ... doesn't smartmatch? 17:41
m: "a", { $_ ~ ("a".."z").pick } ... /foo/
camelia rakudo-moar 71b0f0: OUTPUT«Unhandled exception: Method '!cursor_start' not found for invocant of class 'Str'␤ at <unknown>:1 (/home/camelia/rakudo-inst-2/share/nqp/lib/Perl6/BOOTSTRAP.moarvm::4294967295)␤ from <unknown>:1 (<ephemeral file>::31)␤ from src/gen/m-CORE.setting…»
b2gills In Promise.pm I noticed there are a few `$!status == Broken | Kept`, I wonder if they could/should be written as `?$!status`
17:41 FROGGS joined
moritz b2gills: or $!status != Planned 17:42
timotimo right; == doesn't junction-unfold at the moment :S 17:43
moritz which might be a bit more self-documenting than !?$status
timotimo i may need a tiny bit of jnthntime to make that work properly again
m: "a", { $_ ~ ("a".."z").pick } ... * ~~ /foo/ 17:45
m: say "a", { $_ ~ ("a".."z").pick } ... * ~~ /foo/
camelia rakudo-moar 71b0f0: OUTPUT«(timeout)»
rakudo-moar 71b0f0: OUTPUT«a av avt avtt avttl avttlx avttlxf avttlxfs avttlxfse avttlxfsec avttlxfsecu avttlxfsecux avttlxfsecuxj avttlxfsecuxjc avttlxfsecuxjch avttlxfsecuxjchs avttlxfsecuxjchsb avttlxfsecuxjchsbe avttlxfsecuxjchsbeu avttlxfsecuxjchsbeuh avttlxfsecuxjchsbeuhe avtt…»
17:48 perlvim left
TimToady timotimo: I have a fix, I think 17:55
we need a test too 17:57
dunno if this rates an RT
timotimo aye, but i'll be AFK for a bit first :S
(ideally it would be a test that doesn't tend to timeout camelia when run :P)
[Coke] getting several failures on all backends in S01-perl-5-integration/*
FROGGS hmmm, I don't 17:58
maybe the Inline::Perl5 support detection is wonky on OSX? 17:59
TimToady m: say "fom" ... /foo/
camelia rakudo-moar 71b0f0: OUTPUT«Method '!cursor_start' not found for invocant of class 'Str'␤ in block at src/gen/m-CORE.setting:22268␤ in block at src/gen/m-CORE.setting:10164␤ in block at src/gen/m-CORE.setting:10168␤ in method reify at src/gen/m-CORE.setting:10195␤ i…»
[Coke] Shouldn't even be running the tests, I don't install Inline::Perl5
I know I fixed that bug once...
18:00 liztormato joined
liztormato [Coke]: fwiw, no problems with skipping Inline::Perl5 tests on OSX 18:02
[Coke] yah, this is on p6c. 18:03
er, hack.
OH.
because t/harness was updated, not t/spec/test_summary 18:04
so, on me. I'll fix it for the hackathon.
timotimo p6: say "hi"
camelia rakudo-moar 71b0f0: OUTPUT«hi␤»
18:05 liztormato left 18:09 Peter_R joined
dalek kudo/nom: e6cdd26 | TimToady++ | src/core/operators.pm:
in ... don't call Regex as a closure match
18:09
ast: b6a281d | TimToady++ | S03-sequence/misc.t:
test for /foo/ endpoint
18:09 andreoss left
TimToady timotimo++ for finding easy bugs to fix :) 18:10
18:14 xfix_ joined 18:17 xfix left 18:24 dwarring joined
dwarring howdy 18:35
18:35 tinyblak left
FROGGS hi dwarring 18:35
dwarring r: sub s(:@p) { say ("x",@p).join("|")}; s(:p("a", "b")); s(:p())
camelia rakudo-{moar,jvm} 71b0f0: OUTPUT«x|a b␤x|␤»
dwarring gidday FROGGS
18:36 tinyblak joined
dwarring ^^ @p stopped flattening over the last few days 18:36
moritz .join did
yoleaux moritz: Sorry, this command is admin-only.
dwarring moritz: ah ok 18:37
moritz dwarring: use join('|', "x", @p) or ("x", @p).flat.join('|')
dwarring moritz: thanks, will fix in CSS::Module
moritz m: say (1, <a b c>).join('|'); 18:38
camelia rakudo-moar 71b0f0: OUTPUT«1|a b c␤»
dalek c: 9c384b6 | moritz++ | lib/Type/List.pod:
List.join: mention that the method form does not flatten
18:39
18:40 tinyblak left 18:41 amaliapomian left, krunen_ is now known as krunen
TimToady I think I'm coming to the conclusion that, in the overall scheme of things, it would be better if for does not flatten 18:43
18:45 mohij joined
TimToady and if we have a flattening for, that one should be slightly dehuffmanized, though 'for flat ...' is a bit too much dehuff 18:45
moritz RabidGravy: I'm not too happy with the concurrency docs introducing low-level stuff first, when we want to encourage folks to use the composable, high-level features whenever possible
18:45 xfix_ is now known as xfix, xfix is now known as xfix_
moritz TimToady: I missed most of the IRC discussions so far; have you considered if prefix:<|> can be abused as a flattening operator? 18:46
TimToady it's a bit limited, compared to 'flat' 18:47
and doesn't actually work in non-arg lists at the moment
moritz RabidGravy: also the concurrency docs shouldn't try to duplicate the API docs for the various types
RabidGravy moritz, entirely can be re-ordered I just did it in the order it makes sense to me 18:48
TimToady m: say (1, |<a b c>).join('|'); 18:52
camelia rakudo-moar e6cdd2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kFfFLhhWz3␤Arg-flattening | is only valid in an argument list␤at /tmp/kFfFLhhWz3:1␤------> 3say (1, |7⏏5<a b c>).join('|');␤»
TimToady for instance, it rejects it there
RabidGravy and I'm pretty certain it will bear at least a second pass with better examples but I'll just carry on with what I have right now. 18:54
18:54 MARTIMM joined
TimToady m: sub postfix:<_>(\list) { list.flat }; say (1, <a b c>)_.join('|'); 18:54
camelia rakudo-moar e6cdd2: OUTPUT«1|a|b|c␤»
lizmat nudges timotimo ever so lightly 18:55
timotimo oh yes
i was about to play a "round" of disgaea, so the nudging was probably well in order :P 18:56
raydiak has wondered for some time why prefix:<|> doesn't just do .flat outside of an arg list similar to prefixes @ and % and $ mapping to .list, .hash, and .item 18:58
TimToady .flat is not quite the same, insofar .flat will not successfully insert arguments into an argument list
.flat tells a list to lose its inner parens, but it does nothing about the grouping of the list as a whole 18:59
19:00 ecocode joined, rindolf left
TimToady all functions and methods currently implicitly return a single argument, meaning there are implicit parens around any return 19:00
if you say "foo bar(), baz()" you are guaranteed to be passing 2 arguments to foo 19:01
even if bar or baz return a list
19:01 MARTIMM left
TimToady we're not gonna break that 19:01
there are only two ways to get around that currently, 1) declare a slurpy sig to bind to, or 2) use prefix:<|> 19:02
.flat is not good enough 19:03
raydiak agreed it would be a different meaning outside of the arg list, though it would do what people intend in lists usually, I think...e.g. (1, |<a b c>) would work
don't want the | for the flatmap though, personally, so I'm off on a tangent anyway
TimToady essentially it would translate to 'lose the implicit outer parcel' 19:04
lizmat I guess post-GLR, that would be "lose the implicit outer list", right ? 19:05
19:05 yqt joined
TimToady yes, and it occurs to me that 'for flat' actually won't work, unless for strips the parcelizing/listing around what flat returns 19:06
lizmat
.oO( hoping to think outside of the Parcel here )
19:07
[Coke] m: say „old/sold/liquidated module“ # did this ever get impl?
camelia rakudo-moar e6cdd2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vJfillxvAf␤Unable to parse expression in low smart double quotes; couldn't find final '”' ␤at /tmp/vJfillxvAf:1␤------> 3idated module“ # did this ever get impl?7⏏5<EOL>␤ expecting any of:…»
[Coke] . o O (nope)
dalek c: 2bbb0e2 | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
Start with supplies
c: 33ffe84 | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
More supply
c: 330d4c9 | (Jonathan Stowe)++ | lib/Type/List.pod:
Merge branch 'master' of github.com:perl6/doc
geekosaur looks like it tried?
TimToady it's just a smop, though having multiple stoppers might be a bit hard with the current design of the nibbler
geekosaur: trouble is there are two cultures of final quotes there, split about 50/50 19:08
[Coke] I'm ok if we don't support every combination. 19:09
19:09 koo6 joined
TimToady if you assume consistency, then you can say that using “ as a closer means you *aren't* using it for an opener, so you shouldn't treat it as nestable quotes 19:09
pmichaud good afternoon, #perl6 19:10
lizmat pmichaud o/
nwc10 pmichaud: congratulations to your team. 19:11
TimToady m: say ““foo””
camelia rakudo-moar e6cdd2: OUTPUT«“foo”␤»
19:11 hobbs left
pmichaud nwc10: thanks. We had an excellent contest but a bit of a disappointing finish (not being selected for playoffs, despite having highest scores in our division) 19:11
19:12 rurban left
TimToady m: say „„foo”” 19:12
camelia rakudo-moar e6cdd2: OUTPUT«„foo”␤»
TimToady anyway, I suspect the other can be made to work as well
19:13 hobbs joined
dalek c: 1b5df49 | moritz++ | lib/Language/concurrency.pod:
Clean up concurrency docs

1) move high-level APIs to the top (partially done) 2) use less speculative language ("would") 3) supply output along with examples 4) start with simpler examples 5) more links, including to external sources for general topics
19:13
masak pmichaud! \o/
moritz RabidGravy: ^^ please check if I resolved the conflicts correctly in the commit above 19:14
19:15 xfix_ left, flussence joined
masak "but then what if he knew how I am when I know that I'm not what he thinks that he wants" -- my new favorite line from "Into The Woods" 19:18
who*
RabidGravy moritz, that's great matey, merged fine
TimToady masak: anapests are not just for limericks :) 19:21
nine I've always found it strangely inconsistent that | can be used to flatten only in argument lists
TimToady though it could be argued that limericks are really amphibrachs 19:22
dalek c: 8c07f04 | moritz++ | lib/Language/concurrency.pod:
More Promise cleanup
TimToady "flat" is badly overloaded there 19:23
FROGGS like my flat
TimToady it's a special interpolator right now, and has nothing to do with .flat
moritz RabidGravy: please write the docs in present tense (for consistency with rest of doc.perl6.org) 19:24
TimToady m: say ((1,2,3),(4,5,6)).flat.perl # note that the outer parens are precisely the ones that .flat does not remove (or if it does, it puts them back :)
camelia rakudo-moar e6cdd2: OUTPUT«(1, 2, 3, 4, 5, 6)␤»
TimToady it's the job of | to remove those outer parens for an argument list, and maybe (we hope), when interpolating into any list 19:25
19:26 ecocode left
TimToady m: say ((1,2,3),|(4,5,6)).perl 19:26
camelia rakudo-moar e6cdd2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZF5dC1OqxD␤Arg-flattening | is only valid in an argument list␤at /tmp/ZF5dC1OqxD:1␤------> 3say ((1,2,3),|7⏏5(4,5,6)).perl␤»
TimToady m: say list((1,2,3),|(4,5,6)).perl
camelia rakudo-moar e6cdd2: OUTPUT«((1, 2, 3), 4, 5, 6)␤»
TimToady arguable those should be the same 19:27
dalek c: 293c2ba | moritz++ | lib/Language/concurrency.pod:
Concurrency: use present tense
TimToady m: say list((1,2,3),|((4,5,6))).perl 19:28
camelia rakudo-moar e6cdd2: OUTPUT«((1, 2, 3), 4, 5, 6)␤»
TimToady m: say list((1,2,3),|(1,(4,5,6))).perl
camelia rakudo-moar e6cdd2: OUTPUT«((1, 2, 3), 1, (4, 5, 6))␤»
TimToady m: say list((1,2,3),|((4,5,6),)).perl 19:29
camelia rakudo-moar e6cdd2: OUTPUT«((1, 2, 3), (4, 5, 6))␤»
TimToady possibly | is being overaggressive stripping two parens there
dalek kudo/nom: 735ab5f | lizmat++ | src/Perl6/World.nqp:
Nothing in speculation about Devel::Trace
19:30
masak anapests. I like.
19:32 Rounin joined
moritz lizmat++ 19:32
19:37 telex left 19:38 telex joined 19:39 _mg_ joined, tinyblak joined
dalek kudo/nom: 85a2654 | lizmat++ | src/Perl6/World.nqp:
Check longnameness before extra parameterness
19:39
c: ad4585c | (Steve Mynott)++ | lib/Language/ (3 files):
typos
19:46
[Coke] TimToady: you want a ticket for the weird quote combo?
(with a test?) 19:47
19:47 tinyblak left
labster m: use MONKEY_TYPING; 19:47
camelia ( no output )
labster shouldn't that have a warning?
dalek kudo/nom: 7f49dd6 | lizmat++ | src/Perl6/World.nqp:
Simplify pragma handling further
19:48
TimToady [Coke]: sure
labster A deprecation warning for the underscore form of MONKEY_TYPING
lizmat labster: well, that's compile time: the deprecated machinery isn't even there yet
well, that's not true
hmmm... 19:49
TimToady or maybe we could steal "foreach" back for the flattening, p5ish one... 19:50
lizmat that feels ok for someone coming from p5 :-)
TimToady and flattening has more 'eaches' than non-flattening does :)
PerlJam never uses "foreach" in P5 anymore.
TimToady funny thing is how many other languages have borrowed 'foreach'... 19:51
lizmat fwiw, I used it all the time, because it felt more natural to me
TimToady always kinda hated it :) 19:52
lizmat "for" always felt a bit like "given" to me
I guess being ESL makes a difference
TimToady well, the loopy aspects came from C, not English
not surprisingly, if I just change statement_control:<for> to have map semantics, the compiler blows up trying to compile Test.pm 19:53
so the compiler is assuming flattening somewhere...
lizmat feels a GLR bootstrap issue starting to form 19:54
TimToady I doubt it's that deep
overall GLR is simplifying things, which tends to help with bootstraps 19:55
19:55 dnmfarrell left
TimToady lunch & 19:55
masak I know some people who make the destinction (either conceptually or on the keyword level) that `for` is C-style and `foreach` is new-style implicit/iterator. 20:00
PerlJam those people are slightly crazy (or I am ;)
colomon masak: pretty sure that’s how I thought of it for a long time. 20:01
PerlJam I actually probably thought the same back in the P4 days. But that only lasted until I learned that 'for' and 'foreach' were synonymous 20:02
RabidGravy I've done a fair amount of 4gl and dbms procedure language where foreach is typically "iterate over some set of records" 20:03
but for is less typing so I'm cool with it 20:04
PerlJam makes a 'forache' operator for his list of problems. 20:05
20:06 darutoko left
masak PerlJam: you're right, there's no real basis to the distinction. 20:08
I'm curious, though. was the `foreach` form added together with the ability to loop over elements without an explicit index? 20:09
in the Perl 5 lineage, I mean.
20:11 _mg_ left 20:12 konsolebox left
PerlJam "for" and "foreach" have existed relatively unchanged since P4 to my knowledge. 20:13
masak right. 20:14
20:14 aborazmeh joined, aborazmeh left, aborazmeh joined
masak I have no basis for my guess, except that it *sounds* like `foreach` was invented because it goes well with the rest of the implicit/iteration loop header. 20:15
`foreach my $element (@stuff) { ... }`
that "each" there kinda lifts the phrase a little.
(totally unnecessary in Perl 6, of course, since the element goes with the block instead)
timotimo i think p4 (or 5) style foreach looks somewhat ugly 20:16
20:16 vendethiel left, alini joined
masak sure, but that's mostly orthogonal. 20:17
and arguably there's a semantic ugliness that trumps the visual one.
timotimo i don't know anything about its semantics 20:18
PerlJam masak: what semantic ugliness exactly?
masak the lexical `my $element` -- what's its scope? 20:19
20:19 aborazmeh left
PerlJam ok 20:19
masak it's declared outside of the block, but is scoped to inside of it. 20:20
FROGGS like: -> $foo { ... } 20:21
but the thing you are interating over is at least not in between
iterating*
timotimo you mean like in "for foo in list: ... " like python does it? 20:22
masak Perl 6 unifies block parameters and iteration variables in a way that Perl 5 doesn't (nor Python). 20:24
PerlJam yeah, which means your aesthetics for Perl 5 are informed by Perl 6 :) 20:25
masak that's an unfair counterargument -- just 'cus Perl 6 got it right :P 20:26
actually, I think when I said "semantic ugliness" I was really thinking about `else` blocks.
if you declare a lexical in the `if (...)` expression, it's visible in the `else` block! 20:27
labster Woo, File::Find::Duplicates tests should be unbusted
FROGGS ohh, nice to know :o)
masak (and in the `elsif` blocks too, it seems)
labster that is nice to know
PerlJam misses his chance to intentionally misunderstand masak and mention that python is the one with else blocks on foreach loops. ;) 20:28
masak yes, but it's a hack.
PerlJam: I teach Python courses just so I can point out how horrible that is.
DrForr masak: Just saw the note, thanks, rebuilding so I can test :)
masak DrForr: I feel proud. :) but jnthn++ provided the vital clue. 20:29
DrForr I should have said 'masak++ just saw...' :)
masak karma is opt-in ;)
DrForr I'm on other network with karmabots :) 20:30
labster Do we have a karmabot? 20:31
DrForr *networks
FROGGS labster: we had, ages ago :o)
labster I remember it, it in long days gone by.
PerlJam real karma doesn't need a bot :)
labster Well, the entire universe is a simulation, so we incremented a counter we just can't see :) 20:32
DrForr There's a hotdog stand joke in there somewhere.
20:32 beastd joined
labster is forbidden from getting karma with a bot on Friday 20:32
DrForr Diskordian? (tyop intentional) 20:33
labster Probably. Cabal Local #5. 20:34
timotimo is a discordian pope
DrForr Yep, that fixes the readline parameter bug. 20:35
dalek p: 5e9f7b8 | FROGGS++ | src/ (7 files):
implement unicode property pairs with explicit arguments

Like in: "¼" ~~ /<:NumericValue(0 ^..^ 0)/ or "foo" ~~ /<:Block(/Latin/)>+/
labster @people».pope(True)
20:36 alini left
masak DrForr: \o/ 20:36
DrForr: if I ever give a 2048 talk about rakudobugs, I'll probably use that one as an example.
labster Can someone run the File::Spec::Case tests for me? I don't see a bug on my end, but smoke.perl6.org says its failing.
20:36 beastd|2 joined, alini joined
timotimo FROGGS++ 20:36
DrForr w00t, I finally found an interesting bug :)
dalek kudo/nom: b6b180b | FROGGS++ | / (2 files):
bump nqp rev for uniprop improvement
20:37
TimToady hah, at make time there was only one 'for' that assumes flat and blows up compiling Test.pm; at test time there are more assumptions, of course
timotimo FROGGS: how useful is 0 ^..^ 0 actually? %)
20:37 beastd left
TimToady I just used ^..^, but not with 0s 20:37
labster .oO ( the bat operator ) 20:38
dalek ast: 0aae938 | FROGGS++ | S05-mass/properties-script.t:
run unicode property pair tests on moar
FROGGS eww
typo >.<
jercos the operator gotham deserves, but not the one it needs right now.
timotimo 0 >..< 1 20:39
TimToady I used it in permutations, in fact, to replace a grep none($i) ^$n with 0 ..^ $i ^..^ $n
labster Or, alternatively, can someone point me to the repo that smoke.perl6.org uses, so I can add test failure reporting to the code? 20:40
TimToady or rather, 0 ..^ $i, $i ^..^ $n
timotimo i was about to say: .. can chain??
masak oh, good thing I ran the spectests on this .indent tweak -- it breaks some heredocs tests, it seems.
FROGGS m: say "f½シシ" ~~ / <:Block(*.say)>+ /' # it is also a nice way to inspect strings
camelia rakudo-moar 7f49dd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Bwgm8V_J96␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/Bwgm8V_J96:1␤------> 3say "f½シシ" ~~ / <:Block7⏏5(*.say)>+ /' # it is also a nice way to ␤ ex…»
FROGGS that will look cute it a bit
masak clearly ^..^ is the cute neko operator. don't know where you see a bat. 20:42
geekosaur if it had whiskers it'd be a =^..^= cat 20:43
FROGGS labster: are you talking about testers.perl6.org?
TimToady thinks it's a kitsune
FROGGS ahh no
labster: that's colomon++'s box 20:44
colomon actually it’s hackp6c.org
err, hack.p6c.org
labster FROGGS ah, well, that works better than smoke.perl6.org 20:46
FROGGS colomon: let's say it is your *black* box :o)
labster: are hashed involed? testers.perl6.org/reports/40623.html 20:47
labster Wrong module FROGGS, I think I just fixed that one :) No hashes, just OS ordering being different. 20:48
FROGGS ahh, heh
20:53 rurban joined
FROGGS m: say "f½シシ" ~~ / <:Block(*.say)>+ / 20:53
camelia rakudo-moar b6b180: OUTPUT«Basic Latin␤Latin-1 Supplement␤Katakana␤Halfwidth and Fullwidth Forms␤「f½シシ」␤»
labster Nice! FROGGS++ 20:56
Apparently checking that two things are both true is not a good use for is() and isnt(), because smartmatching against false. 20:57
20:59 tinyblak joined
masak 'night, #perl6 21:01
labster night masak 21:02
FROGGS m: say (0x2000..0x2500)».chr.join('') ~~ m:g/<:NumericValue({+$_ ~~ 0^..*})>+/
camelia rakudo-moar b6b180: OUTPUT«「⁴⁵⁶⁷⁸⁹」 「₁₂₃₄₅₆₇₈₉」 「⅐⅑⅒⅓⅔⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞⅟ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↀↁↂ」 「ↅↆↇↈ」 「①②③④⑤…»
FROGGS that's even quite fast
m: say (0x2000..0x2500)».chr.join('') ~~ m:g/<:NumericValue({+$_ > 0})>+/ 21:03
camelia rakudo-moar b6b180: OUTPUT«「⁴⁵⁶⁷⁸⁹」 「₁₂₃₄₅₆₇₈₉」 「⅐⅑⅒⅓⅔⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞⅟ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↀↁↂ」 「ↅↆↇↈ」 「①②③④⑤…»
21:04 raiph joined
FROGGS m: say (0..0xFFF0)».chr.join('') ~~ m:g/<:NumericValue({+$_ > 0})>+/ 21:04
camelia rakudo-moar b6b180: OUTPUT«「123456789」 「²³」 「¹」 「¼½¾」 「١٢٣٤٥٦٧٨٩」 「۱۲۳۴۵۶۷۸۹」 「߁߂߃߄߅߆߇߈߉」 「१२३४५६७८९」 「১২৩৪৫৬৭৮৯」 「৴৵৶৷৸৹」 「੧੨੩੪੫੬੭੮੯」 「…»
21:05 tinyblak left
FROGGS timotimo: run that in your shell... that makes for a good one-liner for your blog 21:05
gnight
21:05 FROGGS left, skids left 21:06 cognominal left
timotimo <3 21:06
21:07 lizmat left 21:09 lizmat joined 21:10 cognominal joined 21:11 vendethiel joined
itz m: try { @files = dir("xxx"); CATCH{}} 21:13
camelia rakudo-moar b6b180: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hFo8CVfs2J␤Variable '@files' is not declared␤at /tmp/hFo8CVfs2J:1␤------> 3try { @files7⏏5 = dir("xxx"); CATCH{}}␤ expecting any of:␤ postfix␤»
dalek c: 4c6cfae | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
fmt
c: b005b2c | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
Merge branch 'master' of github.com:perl6/doc
c: c243ac1 | (Jonathan Stowe)++ | lib/Language/concurrency.pod:
Add Promise.vow
c: 17b3fbc | (Jonathan Stowe)++ | lib/Language/ (3 files):
Merge branch 'master' of github.com:perl6/doc

Conflicts: lib/Language/concurrency.pod
itz m: try { my @files = dir("xxx"); CATCH{}}
camelia rakudo-moar b6b180: OUTPUT«Failed to get the directory contents of '/home/camelia/xxx': chdir failed: Unknown system error␤ in method dir at src/gen/m-CORE.setting:18982␤ in sub dir at src/gen/m-CORE.setting:19301␤ in block <unit> at /tmp/u0g2A89sx3:1␤␤»
labster Rakudo doesn't want anyone to catch you looking in your XXX directory ^ 21:14
itz :) 21:15
colomon labster: sorry for the slow response 21:17
labster: this is what I get on hack: gist.github.com/colomon/421717d4832bc36f5681 21:18
21:21 muraiki left
itz star-m: try { my @files = dir("xxx"); CATCH{}} 21:25
camelia ( no output )
21:27 bjz left
itz j: try { my @files = dir("xxx"); CATCH{}} 21:27
camelia rakudo-jvm b6b180: OUTPUT«Failed to get the directory contents of '/home/camelia/xxx': nqp::opendir: unable to get a DirectoryStream␤ in method dir at gen/jvm/CORE.setting:18742␤ in sub dir at gen/jvm/CORE.setting:19068␤ in block <unit> at /tmp/Q6aT0Ya5rC:1␤␤»
lizmat has messed enough with the World and goes to bed 21:29
21:30 rurban left
raydiak guesses this has to do with try being fixed to enable 'use fatal' as designed 21:37
itz the new behaviour is correct then>
raydiak though I could be way off, b/c it seems to have more to do with the presence of the CATCH
well no I don't think it's supposed to be fatal *ourside* the try 21:38
but idk
m: try { dir "foo" }
camelia ( no output )
raydiak m: try { dir "foo"; CATCH {} }
camelia rakudo-moar b6b180: OUTPUT«Failed to get the directory contents of '/home/camelia/foo': chdir failed: Unknown system error␤ in method dir at src/gen/m-CORE.setting:18982␤ in sub dir at src/gen/m-CORE.setting:19301␤ in block <unit> at /tmp/asyZ2mNqbB:1␤␤»
raydiak I think that change or something affected by it is wrongish :) 21:39
itz differently right!
raydiak yeah that too! 21:40
m: try { dir "foo"; CATCH { say "UH OH" } } 21:41
camelia rakudo-moar b6b180: OUTPUT«UH OH␤Failed to get the directory contents of '/home/camelia/foo': chdir failed: Unknown system error␤ in method dir at src/gen/m-CORE.setting:18982␤ in sub dir at src/gen/m-CORE.setting:19301␤ in block <unit> at /tmp/VgIhhxpin6:1␤␤»
raydiak m: CATCH { say "UH OH" }; try dir "foo"; 21:42
camelia ( no output )
raydiak m: CATCH { say "UH OH" }; try say dir "foo"; 21:43
camelia ( no output )
raydiak m: CATCH { say "UH OH" }; say try dir "foo";
camelia rakudo-moar b6b180: OUTPUT«Nil␤»
21:43 mohij left
raydiak note the lack of CATCH running at all when it's not in a try... 21:44
21:44 zeleiadi joined
raydiak oh wait that's just me being confused as usual :) 21:44
m: CATCH { say "UH OH" }; say dir "foo";
camelia rakudo-moar b6b180: OUTPUT«UH OH␤Failed to get the directory contents of '/home/camelia/foo': chdir failed: Unknown system error␤ in method dir at src/gen/m-CORE.setting:18982␤ in sub dir at src/gen/m-CORE.setting:19301␤ in block <unit> at /tmp/wmspuLMV6N:1␤␤»
raydiak m: CATCH { say "UH OH" }; dir "foo"; 21:46
camelia rakudo-moar b6b180: OUTPUT«Unhandled exception: Failed to get the directory contents of '/home/camelia/foo': chdir failed: Unknown system error␤ at <unknown>:1 (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:…»
raydiak guess that makes sense, CATCH only runs on fatal errors, not soft fails 21:48
21:50 dnmfarrell joined
dnmfarrell Ok I just pushed a new version of Pod::Perl5, AFAIK it parses 100% of Perl 5 pod, both inline and standalone docs. Let me know if you find any bugs :) 21:53
21:53 fhelmberger joined
raydiak itz: I think we were just using it wrong...S04 says a CATCH is like a given block, and if none of the switch cases match the failure (in $_), then it gets thrown...and "To ignore all unhandled exceptions, use an empty default case." 21:56
m: try { CATCH { default {} }; dir "foo" } 21:57
camelia ( no output )
raydiak m: { CATCH { default {} }; dir "foo" }
camelia rakudo-moar b6b180: OUTPUT«Unhandled exception: Failed to get the directory contents of '/home/camelia/foo': chdir failed: Unknown system error␤ at <unknown>:1 (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:…»
raydiak m: { use fatal; CATCH { default {} }; dir "foo" }
camelia ( no output )
21:58 fhelmberger left
raydiak so an empty CATCH catches nothing, not everything :) 21:59
star-m: my @files = dir "foo" 22:01
camelia ( no output )
raydiak m: my @files = dir "foo" 22:02
camelia ( no output )
raydiak m: my @files = dir "foo"; say @files
camelia rakudo-moar b6b180: OUTPUT«Failed to get the directory contents of '/home/camelia/foo': chdir failed: Unknown system error␤ in method dir at src/gen/m-CORE.setting:18982␤ in sub dir at src/gen/m-CORE.setting:19301␤ in block <unit> at /tmp/HzX6kRrX2F:1␤␤»
tony-o are there logs for smoke.perl6.org anywhere? 22:05
22:10 lucasb joined
labster tony-o: no, but there are logs on testers.perl6.org 22:14
22:14 RabidGravy left, vendethiel left 22:22 vendethiel joined 22:29 alini left 22:39 zeleiadi left 22:40 beastd|2 left 22:41 newbie joined, newbie is now known as Guest61338 22:42 yqt left 22:43 Guest61338 left 22:46 vendethiel left 22:51 vendethiel joined 22:52 skids joined, kaare_ left 22:53 eli-se left 23:04 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
colomon SpaceX rocket is going up… 23:04
23:04 adu joined
jdv79 are they attempting landing again? 23:05
no so thats not fun 23:07
23:12 Rounin left 23:13 BenGoldberg joined 23:25 dnmfarrell left
lucasb m: class A { method foo() { 42 } }; say A.foo(:abc) 23:35
camelia rakudo-moar b6b180: OUTPUT«42␤»
lucasb m: sub foo() { 42 }; say foo(:abc)
camelia rakudo-moar b6b180: OUTPUT«Unexpected named parameter 'abc' passed␤ in sub foo at /tmp/PDK4fY4LEy:1␤ in block <unit> at /tmp/PDK4fY4LEy:1␤␤»
lucasb ^^ Subroutines don't like unexpected named parameters, but it's ok to pass them to methods? 23:36
23:36 vendethiel left 23:37 Zoffix joined
lucasb m: my @a = 1; say @a xx 10 :foo 23:38
camelia rakudo-moar b6b180: OUTPUT«Unexpected named parameter 'thunked' passed␤ in sub infix:<xx> at src/gen/m-CORE.setting:10946␤ in block <unit> at /tmp/WlIg6B_txF:1␤␤»
lucasb ^^ I was trying to understand why ":foo" became ":thunked" :)
m: my @a = () xx *; say @a.elems 23:41
camelia rakudo-moar b6b180: OUTPUT«Inf␤»
lucasb m: my @a = () xx *; say @a[^10] 23:42
camelia rakudo-moar b6b180: OUTPUT«(timeout)»
23:43 skids left 23:44 Zoffix left 23:50 lucasb left 23:59 diana_olhovik_ left