»ö« 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.
timotimo bugadmin? can't you just write that in there? 00:00
i can then close it
psch replied 00:02
mostly a clog dump, as i said... :)
00:03 lizmat joined
timotimo i rejected the ticket 00:04
you are my hero :)
psch yay, achieved something today \o/ 00:05
timotimo www.washingtonpost.com/blogs/wonkbl...m/?hpid=z6 did i get this link from in here?
psch that's the most public this troublesome trend of "work is life" has ever appeared to me 00:08
timotimo i just have some kind of feeling that perl6 people would have a good life-work-balance
psch well, the notion of "different kinds of work" can't be ignored 00:09
as in, none here would be fit for any kind of data entry job
but those somehow are important
timotimo hm?
psch well, the text mentions "filling out Excel sheets in bed" 00:10
that's not really something i would readily assume Perl 6 people to have as a job :)
psch is reminded of a job training programm he had to participate in 00:11
timotimo oh
psch it was literally transscribing one kind of Excel sheet format into another 00:12
timotimo ;_;
psch they even gave us printouts of the source spreadsheets
timotimo printouts 00:14
labster Perl 6 people, at the very least, have good pun-life balance.
timotimo that makes me a bid sad
00:15 ggoebel left
labster That link is very scary. But the graphics need a panopticon in the corner to complete the message. 00:16
timotimo .u mathematical
yoleaux U+205F MEDIUM MATHEMATICAL SPACE [Zs] ( )
U+27CB MATHEMATICAL RISING DIAGONAL [Sm] (⟋)
U+27CD MATHEMATICAL FALLING DIAGONAL [Sm] (⟍)
labster .oO ( 27% of tech support workers have worked while asleep ) 00:17
jdv79 is sleep working like sleep walking? 00:18
timotimo %) 00:19
psch the greatest part about that spreadsheet transscribe thing was that the computers we were to enter the data into new sheets had access to a network drive that had the source of the printouts 00:23
so, yeah
Excel can import data and rearrange columns 00:24
ridiculous waste of time and resources, that whole gig
timotimo ;_; 00:27
00:30 adu joined, andreoss` joined 00:33 andreoss left 00:42 aborazmeh joined, aborazmeh left, aborazmeh joined 01:03 rurban left
dalek ecs: 7749b59 | (Kris Shannon)++ | S32-setting-library/Containers.pod:
Missing 'c' from rotor example
01:05
01:07 aborazmeh left 01:11 andreoss` left 01:13 dayangkun joined 01:18 beastd left
timotimo .u turkish 01:26
yoleaux U+20BA TURKISH LIRA SIGN [Sc] (₺)
timotimo how does perl6 handle stuff like upper-casing i in turkish locate to become a İ 01:27
we don't go through the libc locale stuff, right?
geekosaur isn't that in the unicode metadata somewhere? 01:33
raydiak can unicode properties have different values for different locales? they use the same lowercase latin i english typers do, I think 01:42
01:42 gcole left 01:43 gcole joined 01:48 gcole left
raydiak looks like unicode's answer to this problem is more than sufficiently complicated to handle locale-dependent mappings: www.unicode.org/reports/tr44/#Casemapping 01:51
and the closest related thing I see in moar is around here or so: github.com/MoarVM/MoarVM/blob/826a...s.c#L76-86 01:54
01:55 ggoebel joined 01:58 aborazmeh joined, aborazmeh left, aborazmeh joined 02:02 gfldex left 02:05 dayangkun left 02:10 caymanboy left 02:14 gcole joined 02:16 bayprogrammer joined 02:21 gcole left
dalek kudo/nom: ecd3159 | TimToady++ | src/core/ (13 files):
.map is no longer flat; use .for for flat map
02:45
02:54 tinyblak joined 02:55 gcole joined 02:58 noganex joined 03:00 gcole left 03:01 noganex_ left 03:03 konsolebox joined 03:16 cbk1090 joined 03:17 dj_goku left
cbk1090 Hello #perl6 ppl 03:18
raydiak hi cbk1090 03:19
03:23 colomon left 03:38 telex left 03:39 aborazmeh left 03:40 telex joined
adu hi raydiak 03:41
yoleaux 14 Apr 2015 04:46Z <tony-o> adu: supernovus is supernovus
adu I think that was the most informative yoleaux-mail I've ever gotten :/ 03:42
03:42 lolisa joined 03:43 adu left
labster .tell adu facts are facts 03:45
yoleaux labster: I'll pass your message to adu.
TimToady m: say ((1,2,3),(4,5,6)).map: *.join; 03:47
camelia rakudo-moar ecd315: OUTPUT«123 456␤»
TimToady m: say ((1,2,3),(4,5,6)).for: *.join; 03:48
camelia rakudo-moar ecd315: OUTPUT«1 2 3 4 5 6␤»
labster Should eval_lives_ok supress warnings?
m: use Test; eval_lives_ok "Str.Str"; 03:49
camelia rakudo-moar ecd315: OUTPUT«use of uninitialized value of type Str in string context in block <unit> at EVAL_0:1␤␤ok 1 - ␤»
labster RT #77650 already exists on this, but there was like no discussion on it. S24 doesn't mention warnings. 03:52
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77650
03:56 gcole joined
labster m: use Test; plan 1; eval_lives_ok "Str.Str"; 04:00
camelia rakudo-moar ecd315: OUTPUT«1..1␤use of uninitialized value of type Str in string context in block <unit> at EVAL_0:1␤␤ok 1 - ␤»
04:01 gcole left 04:05 hernan604 left 04:06 hernan604 joined 04:33 konsolebox left 04:35 vendethiel left
TimToady wow, unflattening .join is even more spectacular than unflattening .map :) 04:41
04:43 caymanboy joined 04:46 lue joined
TimToady (note to those following along: part of the GLR is lower-level implementation that should speed things up, but another part is to change most listy methods to not flatten by default; the listop forms will continue to flatten as they did before though, since that is controled by binding a slurpy param) 04:46
04:47 ShimmerFairy left
TimToady only fails like 87 test files to make .join non-flattening... 04:49
otoh, it lets the rotor test file pass after taking the itemization off of rotor output... 04:50
so it's not all bad...
raydiak is excited 04:55
labster the world is no longer flat 04:56
raydiak and not just excited to see how many dozens or hundreds of lines of my own code I'll get to fix :) 04:57
TimToady I dunno, maybe we should go with that rule that methods that begin with 'f' flatten :) 04:59
oh wait, join doesn't begin with 'f', nevermind :) 05:00
labster Methods that flatten should consist entirely of underscores :o) 05:02
TimToady or at least start with one
05:11 quester joined 05:12 kaare_ joined
TimToady well, maybe I'll make some underscore variants that have the old flattening behavior, and we can sort things out later 05:17
05:40 Alina-malina joined
TimToady actually, ain't quite so bad as all that; turned out I made ~ into a destructive operation on arrays :) 05:43
05:45 gcole joined 05:49 bayprogrammer left, gcole left 05:51 rindolf joined
TimToady okay, now it's only 17 failing test files :) 05:53
05:54 lue left 05:57 ShimmerFairy joined, rindolf left 05:59 bayprogrammer joined
moritz m: say [1, 2, 3].map(* * 2) 06:05
camelia rakudo-moar ecd315: OUTPUT«2 4 6␤»
moritz m: say [1, (2, 3)].map(* * 2)
camelia rakudo-moar ecd315: OUTPUT«2 4 6␤»
moritz oh, maybe [] flattens 06:06
m: say (1, (2, 3)).map(* * 2)
camelia rakudo-moar ecd315: OUTPUT«2 4␤»
moritz m: say (1, (2, 3)).for(* * 2)
camelia rakudo-moar ecd315: OUTPUT«2 4 6␤»
06:09 Foxcool left 06:20 ilogger2_ joined, Spot__ left, Mouq left, mls left, nbrown left, masak left, stux|RC-only left, yogan joined, stux|RC joined
moritz is glad that panda still bootstraps after the .map change 06:23
06:29 clkao joined
jnthn Yes, [...] still flattens (by GLR design) as I remember it. 06:32
yoleaux 24 Apr 2015 22:49Z <lizmat> jnthn: why is while slower than gather while ??? github.com/rakudo/rakudo/commit/40...d2c9bdc9d2
06:41 lolisa joined
jnthn TimToady++ starting in the back-incompat changes soon after a release, so we get time to deal with the fallout 06:43
*starting on
jnthn should start on coffee...though maybe starting in it would work if you can absorb caffeine too...
06:45 laouji joined
jnthn lizmat: Odd, when I do this: 06:46
ptime perl6-m -e "(^100000).pick(*, :eager)"
ptime perl6-m -e "(^100000).pick(*)"
The numbers are:
1.152s
1.132s
But 06:47
ptime perl6-m -e "my @a = (^100000).pick(*, :eager)"
ptime perl6-m -e "my @a = (^100000).pick(*)"
ome out about the same 06:48
*Come
Oh wait, but I dunno if Range.pick is special :)
But anyway, then doing this: 06:49
06:49 ggoebel joined
jnthn ptime perl6-m -e "my @a = ^100000; @a.pick(*)" 06:49
uh, let's keep order the same
ptime perl6-m -e "my @a = ^100000; @a.pick(*, :eager)" 06:50
ptime perl6-m -e "my @a = ^100000; @a.pick(*)"
I get
0.588
1.210
So the :eager one is faster there
06:51 krunen_ joined, japhb_ joined 06:52 atta_ joined
jnthn lizmat: I've tried a few variants but can't get the :eager version to come out slower here. 06:52
06:53 leedo_ joined, nwc10_ joined, sergot_ joined
jnthn lizmat: Can you tell me exactly what code you ran, so I can reproduce what you saw? 06:53
06:53 avuserow1 joined, khisanth_ joined, mephinet- joined
TimToady may well depend on cache sizes 06:54
06:54 El_Che_ joined
TimToady and I wouldn't put too much effort into this pre-GLR 06:55
jnthn Indeed, was more looking at it to see if there's a performance WAT somewhere :) 06:56
TimToady nod, would be nice to understand it
jnthn Anyway, nice to see that we're now moving on all of The Big Three :) 06:57
(NFG getting there, NSA at least is fairly far along with the NA part, and now early GLR semantic changes landing)
06:57 mst__ joined 06:58 lolisa left, nwc10_ is now known as nwc10, lolisa joined 06:59 Juerd joined
lizmat good morning, #perl6! 06:59
nine Good morning! 07:00
lizmat jnthn: as it said in the commit message, the sample code was: my @a = ^100; for ^500 { @a.pick(*) }
or my @a = ^100; for ^500 { @a.pick(*,:eager) }
07:01 domidumont joined 07:03 cursork joined
jnthn lizmat: If you actually use the result in the loop, though (my @b = @a.pick(*)) then the eager one comes out faster. 07:03
lizmat: I'm guessing the gather/take one is simply not being asked hard enough to produce elements in the first, so it does no work. 07:04
lizmat ok, so we're looking at a test artefact 07:05
jnthn m: sub foo() { my $i = 100; gather { while $i-- { take-rw $i } } }; for ^500 { foo() }
camelia ( no output )
jnthn m: sub foo() { my $i = 100; gather { while $i-- { take-rw $i } } }; for ^500 { my @a = foo() } 07:06
camelia ( no output )
jnthn oops
07:06 domidumont left
jnthn m: sub foo() { my $i = 100; gather { while $i-- { say 'here' take-rw $i } } }; for ^500 { foo() } 07:06
camelia rakudo-moar ecd315: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fAn6kHMteA␤Two terms in a row␤at /tmp/fAn6kHMteA:1␤------> 3 = 100; gather { while $i-- { say 'here'7⏏5 take-rw $i } } }; for ^500 { foo() }␤ expecting any of:␤ infix␤ infix s…»
jnthn m: sub foo() { my $i = 100; gather { while $i-- { say 'here'; take-rw $i } } }; for ^500 { foo() }
camelia ( no output )
jnthn m: sub foo() { my $i = 100; gather { while $i-- { say 'here'; take-rw $i } } }; for ^500 { my @b = foo() }
camelia rakudo-moar ecd315: OUTPUT«here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here␤here…»
jnthn Yeah :)
laziness FTW :P
07:07 domidumont joined
lizmat *phew* 07:09
jnthn :) 07:13
07:13 Foxcool joined
lizmat turns out, the eager one is 3x as fast :-) 07:15
07:16 nbdsp joined
nbdsp Greetings! Could someone advise please what is the difference of '<.ident>**0..1' from '?' in regexes? 07:20
...from '<.ident>?'
jnthn None given it's non-capturing 07:22
nine nbdsp: whatever the answer will be, please add it to doc.perl6.org :)
jnthn If it were <ident>**0..1 vs <ident>? then the first always gives an list in the match object for <ident> (empty if it didn't match), while the second puts a Nil there if it didn't match. 07:23
labster why has my version of panda decided to call itself "34"? 07:24
nbdsp jnthn: thanks!
lizmat alas, the eagerness of .pick(*,:eager) does *not* solve the flakiness of t/spec/integration/advent2013-day14.t :-(
07:27 darutoko joined 07:28 xfix joined, xfix left, xfix joined
lizmat when it fails now (although a lot less often) is with: 07:33
# combiner failure:Cannot assign to a readonly variable or a value
Cannot assign to a readonly variable or a value
the line in question: my &block = @other.shift
07:33 gcole joined 07:34 Rounin joined
lizmat fwiw, the segfaults seem gone now, which indicates there still might by an async / GatherIter interaction that's breaking us up 07:34
jnthn lizmat: I don't see a use of .pick in that test file? 07:37
lizmat it's hidden in EARLIEST
07:38 gcole left
jnthn eek 07:38
lizmat when I was testing this before, it was crapping out a lot around that situation
eek ?
jnthn Oh, we pikc a ready thing at random...
lizmat yup, that's the idea, create noise :-) 07:39
jnthn Yeah, fair enough.
lizmat hmmm... without the :eager I cannot get it to segfault anymore, but it errors out at the same location *but* withe extra info: 07:43
# parse worker failure:Cannot assign to a readonly variable or a value
# combiner failure:Cannot assign to a readonly variable or a value
Cannot assign to a readonly variable or a value
07:43 nbdsp left
jnthn Yeah, I suspect somewhere we have over-sharing of state (due to under-cloning of blocks) 07:44
dalek kudo/nom: 9d74227 | lizmat++ | src/core/ (2 files):
Use eager pick(*) where it makes sense

This makes at least EARLIEST a bit faster, and hopefully more stable.
labster m: dir(Str) 07:46
camelia rakudo-moar ecd315: OUTPUT«use of uninitialized value of type Str in string context in block <unit> at /tmp/QByqGE4ekg:1␤␤use of uninitialized value of type Str in string context in any at /home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:1␤␤Cannot unbox…»
labster ... a type object 07:47
jnthn If you don't like it should patch a :D on it 07:50
labster Although an empty string path is probably also a bad idea. Unless you're on VMS. In which case, it's still a bad idea. 07:51
dalek Heuristic branch merge: pushed 83 commits to rakudo/newio by lizmat
07:53 eli-se joined, Ven joined
labster m: dir("") 07:53
camelia ( no output )
labster m: dir("").say 07:54
camelia rakudo-moar ecd315: OUTPUT«"/home/camelia/.bash_history".IO "/home/camelia/p6eval-token".IO "/home/camelia/std".IO "/home/camelia/.ssh".IO "/home/camelia/star".IO "/home/camelia/perl5".IO "/home/camelia/.perl6".IO "/home/camelia/.rcc".IO "/home/camelia/p1".IO "/home/camelia/nqp-js".…»
dalek kudo/nom: b8f72f5 | TimToady++ | src/core/List.pm:
rotor no longer itemizes slices
07:55
kudo/nom: 998f019 | TimToady++ | src/core/ (5 files):
distinguish join from _join

for now, _join is the old flattening join, until we decide the best notation
Ven o/, #pelr6
yoleaux 24 Apr 2015 13:03Z <hoelzro> Ven: no, but I have a name picked out if you want to use it
24 Apr 2015 13:04Z <hoelzro> Ven: "Speculaas", if you want it
dalek ast: c49966e | TimToady++ | S (11 files):
use _join where flattening is still desired
Ven o/, #perl6
hoelzro: dunno; but it seems like it could be useful maybe 07:56
07:57 rindolf joined
labster Something makes me uncomfortable with dir("") being the same as dir(".") 07:57
lizmat it's the same in any CLI, afaik
labster % ls '' 07:58
ls: fts_open: No such file or directory
m: "".IO.say 07:59
camelia rakudo-moar ecd315: OUTPUT«"/home/camelia".IO␤»
lizmat labster: I meant the argumentless version, not the empty string version 08:00
labster yeah, that's totally fine. 08:01
08:09 Alina-malina joined, RabidGravy joined
lizmat TimToady: instead of using _join, wouldn't it be better to just use join listop in the core ? 08:15
or in roast, for that matter ? 08:16
feels to me, making a _join available now, will just lead to more pain down the road
08:17 MARTIMM joined
TimToady if they were written as methods for valid left-to-right reasons, then .flat.join would make more sense than using the listop form 08:18
jnthn Any reason not to just .flat.join now? 08:24
It's just as easy ot search out /'.flat.'/ later if we want to clean it up later.
TimToady no strong feelings on the subject
lizmat m: sub a { my @a = <a b c>; @a.push("d") }; a.join.perl.say # is this correct? 08:26
camelia rakudo-moar 998f01: OUTPUT«"abcd"␤»
jnthn We at least with .flat make them switch to something that'll stay working; wiht ._join it has to change again later
TimToady arrays are naturally flat
jnthn lizmat: Yes, because list assignment is flattening.
lizmat then I wonder why TimToady made this: 08:27
my $abspath = MAKE-CLEAN-PARTS(MAKE-ABSOLUTE-PATH($path,$base))._join('/');
jnthn Or if you wnat less rules: = is an operator, operators are subs, sub-y list-y things flatten.
lizmat use _join
it seems unnecessary, or am I missing something ?
TimToady well, something was failing near there, so that may or may not have been the fix for it
lizmat ah, ok 08:28
will investigate then
TimToady you can take it back out and see if anything breaks...
I tended to err on the side of too many _joins instead of twoo few
*too
lizmat okidoki
08:29 lolisa left
TimToady but the overall plan is to remove the need for .lol, .tree, and .flat being thrown in all over the place to compensate for each other 08:29
so mostly we're trying to de-itemize things that were done so to compensate for too much flattening right now 08:30
like rotor, and probably .combinations
08:30 Ven left
TimToady basically we need to audit all the built-in methods for .flat assumptions 08:31
but I need to sack out pretty soon, so can't really pursue that much further tonight 08:32
08:32 usandfriends joined, usandfriends left
lizmat yeah, post 1am dev work tends to be useless in my experience 08:32
TimToady you'll note I checked it in at 00:55 :) 08:33
lizmat :-)
dalek ast: 12b6cf5 | skids++ | S (2 files):
Add tests for windows-1252 codepage support and IO.encoding

   fudge rakudo.jvm for behavior of JVM-builtin charset
08:52
08:52 Ven joined
masak_ good antenoon, #perl6 08:56
09:10 rurban joined
RabidGravy morning 09:18
jnthn skids: I'd write the tests without relying on being able to change input encoding. I'm not sure whether we'll actually support that.
skids: At lesat, not if you read at anything above byte level.
09:19 eli-se left
skids jnthn: What position do we want to take about the JVM behavior? 09:20
jnthn It's really not a very sane thing to do when you're dealing with things that have to read ahead a bit to know when they've got a whole grapheme to hand back.
skids: We're not trying to do any normalization stuff there yet, let alone NFG. 09:21
skids jnthn: could we not just cache the byte value of read-but-not-used bytes?
dalek kudo/nom: 0c9c252 | lizmat++ | src/core/ (3 files):
Don't use _join in core, does not seem necessary
jnthn skids: If we really, really have a use case we can try to do that.
skids: But it's likely to be fragile. 09:22
09:22 gcole joined 09:23 laouji left
skids OK, so roast-wise what's the best way to express "we might do this later, but..." -- 'skip' and a coment? 09:23
jnthn Something like
Though in this case it feels like the tests don't need to be written the way they currently are.
(e.g. writing a mixed-encoding file)
skids Just trying to kill multple birds :-) OK I'll massage those a bit. 09:25
jnthn It's generally preferable to have tests that kill specific birds, so they more directly tell you what you broke :)
09:27 gcole left
dalek ast: 5da4536 | lizmat++ | S (8 files):
/._join/.flat.join/
09:29
masak jnthn, rewriter of old proverbs: "it's better to kill a *specific* bird with one stone" :P
I never thought of it that way, but yeah... if you really want to get rid of a specific bird, then having the ability to kill random birds with a stone is not much help... 09:30
dalek kudo/nom: 5aee9b4 | lizmat++ | src/core/Any.pm:
Eradicate _join, please use .flat.join instead
jnthn lizmat++ 09:31
lizmat afk&
09:36 gfldex joined 09:40 El_Che_ is now known as El_Che 09:44 Ven left
dalek ast: 7c1921f | skids++ | S16-filehandles/io.t:
Independently test iso-8859-1 reading and writing without mixing encoding

Mark mixed encoding tests with skip instead of todo as they might never work
10:24
10:28 pippo joined
pippo o/ #perl6 10:28
my REPL does not support arrow up to get previous command anymore. Anybody else with same pb? 10:29
j: say "Hello"; 10:30
camelia rakudo-jvm 5aee9b: OUTPUT«cannot connect to eval server: Connection refused␤»
pippo o/
10:30 pippo left 10:34 kaare_ joined 10:42 diana_olhovik_ joined 10:50 molaf joined 10:51 bjz joined 10:53 gcole joined 10:58 gcole left, diana_olhovik_ left 10:59 eli-se joined
eli-se hola 10:59
moritz j: say "another attempt" 11:02
camelia rakudo-jvm 5aee9b: OUTPUT«another attempt␤»
11:02 Ven joined 11:11 cognominal joined
psch j: use java::lang::System:from<Java>; say System; print System 11:12
camelia rakudo-jvm 5aee9b: OUTPUT«org.perl6.nqp.sixmodel.TypeObject@7698d414␤__P6opaque__69@703b8164»
psch j: use java::lang::System:from<Java>; say System.^name 11:13
camelia rakudo-jvm 5aee9b: OUTPUT«java.lang.System␤»
11:22 robinsmidsrod joined, pyrimidi_ joined
DrForr .tell jd79 Yes, Royal Garden. It's just across the street from the venue. 11:32
yoleaux DrForr: I'll pass your message to jd79.
11:39 colomon joined 11:45 robinsmidsrod left 11:50 robinsmidsrod joined 11:54 aborazmeh joined, aborazmeh left, aborazmeh joined 11:59 Ven left, Ven joined 12:07 pyrimidine joined, robinsmidsrod left 12:08 robinsmidsrod joined, robinsmidsrod left 12:10 pyrimidi_ left 12:11 Ven left 12:13 diana_olhovik joined 12:15 robinsmidsrod joined 12:29 ir2ivps4 joined
jdv79 DrForr: thanks. saved $425. 12:35
DrForr No problem, I kinda got caught out, because of all the paperwork I'd not been sure of being able to make it, so I put it off. 12:37
12:39 espadrine_ joined 12:42 gcole joined 12:43 espadrine_ left, espadrine_ joined
ingy remembers back in 2002 when DrForr was release manager for Perl6 12:45
or was that Parrot?
12:47 gcole left
DrForr Back then it was hard to tell :) 12:49
masak right. the Parrot/Perl 6 release manager was the same thing until pmichaud was brought on board.
DrForr I think he took up the mantle after me. 12:51
masak DrForr: I kinda recognized your nick, but I didn't quite realize how long you've been involved. (longer than I have.) it's nice seeing you here again. :)
DrForr Well, long long hiatus to be honest. 12:52
masak oh, ok.
DrForr But the welcome is still appreciated. 12:53
masak I may recognize your nick from PerlMonks or something like that.
DrForr Not likely, I"m not too active outside IRC. 12:54
masak hm. then maybe one of the #perl channels. I'm not there often, but it happens.
DrForr I happen to have more free time now that I don't have a 2-hour commute to work. 12:56
12:56 Ven joined
lizmat ah, the joys of transsylvania! :-) 12:57
DrForr Say what you will, it's relatively cheap living, and London (especially downtown) burned through my savings. 12:58
lizmat fwiw, I love Cluj :-) 12:59
13:00 aborazmeh left
Ven TimToady++ # apparent beginning of GLR 13:01
masak .oO( Good Luck, Right? ) 13:02
Ven
.oO( together we scander: GLR! GLR! GLR! :P )
13:03
13:04 proudzhu joined, aborazmeh joined, aborazmeh left, aborazmeh joined 13:05 proudzhu left
Ven It seems you can't vertically scroll on perl6.org, i.e. here: doc.perl6.org/type/Str#method_subst – the :x(0) example doesn't wrap, and I can't scroll. Can anybody else confirm 13:07
DrForr I assume you mean horizontally, and yes, it doesn't wrap. 13:09
Neither can I drag-select. CSS strikes again. 13:10
CSS hits! CSS hits! You call a designer.
--more--
timotimo argh 13:11
psch DrForr: that looks suspiciously like DCSS :) 13:12
although the style probably predates that particular usage
Ven remembers "a.|b" for "flattening version" proposed at apw... but also dismissed rather quickly 13:14
DrForr: urgh, yes, horizontally >_> 13:15
timotimo you can overflow-x: scroll on div.highlight
that'll have the grey background scroll with it and appear "cut off" at the right, though 13:16
which looks weird, too
13:21 Ven left 13:25 Ven joined
dalek kudo/nom: 0c197cd | lizmat++ | src/core/Supply.pm:
Add Supply.rotor(:partial) and deprecation
13:30
13:30 pmurias joined
pmurias hi 13:30
dalek ast: 91e6423 | lizmat++ | S17-supply/rotor.t:
Adapt Supply.rotor tests to match new API
13:31
ast: a9df78a | lizmat++ | S16-filehandles/io.t:
Merge branch 'master' of github.com/perl6/roast
13:34 cognominal left
lizmat afk for some 3D ultronic ageing 13:35
DrForr Heh. I'm going in a few hours mysef.
*myself
lizmat
.oO( avengeful times )
13:36
&
[Tux] oh my. Text::CSV severely broken now :( 13:37
anythin EOL-related changed in the last two days?
2015-04-24 18:25:03 all was still passing and *I* didn't change anything past that 13:38
13:39 Rounin left
[Tux] lizmat, ? 13:39
psch [Tux]: NFG?
DrForr She just went AFK. I'm not aware of anything, but I haven't updated today.
[Tux] NFG?
psch S99:NFG 13:40
synbot6 Link: design.perl6.org/S99.html#NFG
psch i think it landed at around 21:00 yesterday?
13:40 telex joined
psch 22:30, actually 13:40
13:41 aborazmeh left
psch it's the biggest thing i can think of that changed 13:41
but i'm unsure if it could interact badly with Text::CSV
[Tux] I can't imagine 13:43
psch there was something about control characters, too, but i'd have to reread the clog
[Tux] a lot of non-unicode stuff now fails badly. real badly
and no warnings 13:44
13:45 rurban left
psch you'll probably want to golf as much as possible and ping jnthn++ about it 13:45
[Tux] doing so right now 13:46
psch there was also windows-1252 encoding, but that was yesterday morning, not evening
[Tux]++
[Tux] regex doesn't split on , 13:47
psch .u , 13:48
yoleaux U+002C COMMA [Po] (,)
psch m: say "," ~~ /,/ # this? 13:50
camelia rakudo-moar 0c197c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XXNxtvO8B2␤Unrecognized regex metacharacter , (must be quoted to match literally)␤at /tmp/XXNxtvO8B2:1␤------> 3say "," ~~ /7⏏5,/ # this?␤ expecting any of:␤ term␤»
psch no, that should be right as-is
psch shrugs
13:51 skids joined 13:53 nbdsp joined
[Tux] m: my$s=",";my$q=q{"};my$e=q{"};.perl.say for q{hello,","," ",world,"!"}.split(rx{\r\n|\r|\n|$s|$q|$e},:all).map: {if $_ ~~ Str { $_ if .chars;}else{.Str if .Bool;}} 13:54
camelia rakudo-moar 0c197c: OUTPUT«"hello ,"␤" \""␤" ,"␤" \""␤" ,"␤" \""␤" \""␤" ,"␤"world ,"␤" \""␤"! \""␤»
[Tux] not ok
nbdsp Greetings! I'm studying the "rakudo and nqp internals course" which is dated back to 2012 and some source code seems to be deprecated and I cannot figure out why a basic example from there doesn't work. Couldn't someone take a look please?: github.com/nbdsp/perl6-tst/blob/ma...ammars.pl6 It fails on the last line without a descriptive message. 13:55
13:57 diana_olhovik left 13:58 gcole joined
skids nbdsp: the pod is eating everything I think. 14:00
[Tux] psch, jnthn - gist.github.com/Tux/f6a9b0a268abb223b24e 14:01
nbdsp skids: it runs up to the last line where it throws exception, seemingly during handling other exception, which isn't descriptive 14:03
14:03 gcole left
nbdsp The exception tells: This type does not support positional operations 14:04
skids nbdsp: Add a CATCH block and .perl the error maybe? After removing the pod and adjusting lib, I can't get it to find HLL::Grammar. 14:07
psch nbdsp: the rakudo and nqp internals code is NQP code, not Perl 6 14:08
nbdsp: you can find the rubyish example in nqp/examples, too
nbdsp psch: thanks! I'll look there. 14:09
14:09 xfix left
skids Heh I was just about to say -- it shhebangs perl6 but isn't this nqp :-) 14:11
psch [Tux]: the problem seems to be somewhere in chaining the map 14:13
[Tux]: when i assign the .split result to an array and map over that i get the upper output from your gist
[Tux]: i suspect that might be flattening changes
m: my$s=",";my$q=q{"};my$e=q{"};.perl.say for q{hello,","," ",world,"!"}.split(rx{\r\n|\r|\n|$s|$q|$e},:all).flat.map: {if $_ ~~ Str { $_ if .chars;}else{.Str if .Bool;}}
camelia rakudo-moar 0c197c: OUTPUT«"hello"␤","␤"\""␤","␤"\""␤","␤"\""␤" "␤"\""␤","␤"world"␤","␤"\""␤"!"␤"\""␤»
psch yup, sure looks like it :)
[Tux] psch++ 14:14
psch fwiw, that's the GLR-decided semantics, even if the GLR itself hasn't really happened yet
nbdsp skids: I didn't know that NQP doesn't run with perl6 (I assumed it's subset). How to run NQP? 14:15
psch nbdsp: if you have perl6 in your path you should also have nqp-$backend in your path
[Tux] there are other failures too. might have the same casue
cause
psch where $backend is m, j (or p)
nbdsp psch: thanks! will try it 14:16
14:20 Ven left
nbdsp Seems like required 'lib.moarvm' isn't on my machine when I use '#!/usr/bin/env nqp-m' in shebang 14:24
skids nbdsp: that's as far as I got, too. 14:25
psch the rubyish example works here
14:26 espadrine_ left
psch but i don't have a 'lib.moarvm' file in my perl6 install dir either 14:26
nbdsp Thanks! Will use the example then.
psch i suspect that's an artifact in the slides that got changed or so
14:26 espadrine_ joined, espadrine_ is now known as espadrine 14:32 Ven joined
[Tux] I see an 11% slowdown since 24-04 14:33
reproducible 14:34
masak huh. 14:49
b2gills .ask TimToady If `map` is going to be the non-flattening version of `for` should the following work: `.say map ^4` ( perhaps we need a different "keyword" since `map ^4 { .say }` is even more problematic ) 14:55
yoleaux b2gills: I'll pass your message to TimToady.
psch b2gills: it's not about map vs for, it's about method form vs sub form
(at least that's the guideline pmichaud++ stated in his blog) 14:56
b2gills yeah but `.say for ^4` could be considered a different way to write `(^4).for({ .say })` but there isn't a way to write the former that doesn't flatten 14:57
psch oh, right 14:58
yeah, that makes sense
14:58 skids left
psch well, the analogue is «map *.say, ^4», but that is a different syntactical construct 14:58
b2gills I'm just thinking that `for` and `map` are going to be more or less two sides of the same coin, and I would like to see it be more rather than less ( but only if it makes sense ) 14:59
psch m: .say for $(^4) # and this, but that explicit and still "for"
camelia rakudo-moar 0c197c: OUTPUT«0..^4␤»
psch i don't know if i'd like a "statementmod:<map>", but i can see the gap 15:00
15:00 ssqq joined 15:01 Ven left, molaf_ joined
b2gills m: map *.say, (^10).rotor(3); # seems to currently be broken 15:04
camelia rakudo-moar 0c197c: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤»
15:04 molaf left
ssqq How to define non-capture re-used regex, just like `<.ws>` or `<.digit>`? 15:06
psch ssqq: the . is what makes it non-capturing 15:07
ssqq p6: my regex number { <.digit>+ }; say '12' ~~ / <.number> /
camelia rakudo-moar 0c197c: OUTPUT«Method 'number' not found for invocant of class 'Cursor'␤ in method ACCEPTS at src/gen/m-CORE.setting:16870␤ in block <unit> at /tmp/tmpfile:1␤␤»
ssqq p6: my regex number { <.digit>+ }; say '12' ~~ / <number> /
camelia rakudo-moar 0c197c: OUTPUT«「12」␤ number => 「12」␤»
psch m: my token foo { "foo" }; say "foo" ~~ /<.&foo>/
camelia rakudo-moar 0c197c: OUTPUT«「foo」␤»
psch m: my token foo { "foo" }; say "foo" ~~ /<&foo>/
camelia rakudo-moar 0c197c: OUTPUT«「foo」␤» 15:08
psch hm, maybe that's only inside grammars?
oh, no, the first non-alpha makes it non-capturing i think
i.e. invoking it as a sub with the '&'
ssqq psch: let me test
psch isn't sure he remembers that correctly
b2gills It seems to me that it should probably work just as well as the capturing variant ( i.e. both should work, or neither should work ) 15:11
psch "Whereas a leading . unambiguously calls a method, a leading & unambiguously calls a routine instead."
(about 1/3 into S05)
seeing as "my token { }" is a more like a lexical sub than a method it looks ok to me 15:12
m: my token f { }; &f.^mro.say
camelia rakudo-moar 0c197c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Lj82dllzAC␤Null regex not allowed␤at /tmp/Lj82dllzAC:1␤------> 3my token f { 7⏏5}; &f.^mro.say␤»
psch m: my token f { ' ' }; &f.^mro.say
camelia rakudo-moar 0c197c: OUTPUT«(Regex) (Method) (Routine) (Block) (Code) (Any) (Mu)␤»
b2gills I guess, but that means there isn't a simple way to do the non-capturing variant outside of a grammar 15:13
psch m: my token t { . }; say "ab" ~~ /<t><&t>/ 15:15
camelia rakudo-moar 0c197c: OUTPUT«「ab」␤ t => 「a」␤»
psch looks ok to me?
15:15 Ven joined 15:22 dtscode joined 15:23 dtscode left
ssqq psch: Thanks anyway. 15:28
15:33 zakharyas joined 15:35 lolisa joined
TimToady b2gills: vv yes, I've been thinking about that for some time as well 15:46
yoleaux 14:55Z <b2gills> TimToady: If `map` is going to be the non-flattening version of `for` should the following work: `.say map ^4` ( perhaps we need a different "keyword" since `map ^4 { .say }` is even more problematic )
15:47 gcole joined 15:49 Ven left
TimToady and the listop form is not broken because listops typically flatten 15:51
tony-o m: say $*PERL.version.perl;
camelia rakudo-moar 0c197c: OUTPUT«Version.new('unknown')␤»
tony-o m: say $*PERL.perl;
camelia rakudo-moar 0c197c: OUTPUT«Perl.new(compiler => Compiler.new(release => "", build-date => DateTime.new(year => 2015, month => 4, day => 25, hour => 14, minute => 13, second => 21), codename => "", name => "rakudo", auth => "The Perl Foundation", version => Version.new('2015.4.51.g.0…»
TimToady m: m: map *.say, (^10).rotor(3); # flat
camelia rakudo-moar 0c197c: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤»
TimToady m: m: map *.say, lol (^10).rotor(3); # flat
camelia rakudo-moar 0c197c: OUTPUT«0 1 2 3 4 5 6 7 8␤»
TimToady m: m: map *.say, lol |(^10).rotor(3); # flat
camelia rakudo-moar 0c197c: OUTPUT«0 1 2␤3 4 5␤6 7 8␤»
TimToady *not flat 15:52
tony-o why is the version unknown ?
TimToady m: m: map *.say, (^10).rotor(3).lol; # not flat
camelia rakudo-moar 0c197c: OUTPUT«ListIter.new␤»
TimToady m: m: map *.say, (^10).rotor(3).tree; # not flat
camelia rakudo-moar 0c197c: OUTPUT«0 1 2 3 4 5 6 7 8␤»
15:52 gcole left
TimToady hmm 15:52
m: m: map *.say, |(^10).rotor(3).tree; # not flat
camelia rakudo-moar 0c197c: OUTPUT«0 1 2␤3 4 5␤6 7 8␤»
tony-o m: m: map *.say, |((^10).rotor(3)); 15:53
camelia rakudo-moar 0c197c: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤»
TimToady we currently have some functions returning parcels of parcels, where the outer parcel needs to flatten but the inner ones don't
tony-o m: m: map *.say, lol (^10).rotor(3,0);
camelia rakudo-moar 0c197c: OUTPUT«0 1 2 3 4 5 6 7 8 ␤»
tony-o m: m: map *.say, lol (^10).rotor(3);
camelia rakudo-moar 0c197c: OUTPUT«0 1 2 3 4 5 6 7 8␤» 15:54
TimToady currently we require a | to strip that outer parcel
same reason [Z] @lists has to be [Z] |@lists 15:57
not sure it would be sane to try to intuit that... 15:58
up till now we've had the (in my opinion) highly sane policy that one call produces one argument, and only * slurpies violate that by flattening, throwing away all argument boundaries (and parens) 16:02
but lol and [Z] are not *, they're **, which goes back to respecting argument boundaries, and therefore need | to make one argument into several
I don't see any way to simplify that, offhand, without the waterbed bloojing out somewhere else 16:04
anyway, the listop form of map is *, so is not broken by current design
rather, you're expected to do something like this: 16:05
m: m: map -> $a, $b, $c { "$a $b $c".say }, (^10).rotor(3); # flat
camelia rakudo-moar 0c197c: OUTPUT«0 1 2␤3 4 5␤6 7 8␤»
TimToady (or use lol or tree) 16:06
timotimo lols @ trees 16:08
TimToady likewise, the current answer to the missing statement_control:sym<map> is to use something like 'for lol ... {...}' instead
16:09 lolisa left
TimToady but we could bikeshed a new statement control if that gets bothersome 16:09
or find some way to write any foo {...},LIST as foo LIST {...}, if we want something with a little more leverage 16:12
the early proposals for *& parameters allowed motion of the block to the end of the list, à la Ruby, but this sort of thing, while it makes sense for a block-only function like 'map', makes less sense for a block-or-other-matcher like 'grep' 16:14
16:14 bartolin joined 16:15 Patterner joined 16:16 krakan_ joined 16:17 pierrot_ joined, BooK_ joined 16:18 estrabd_ joined, anocelot_ joined
TimToady </soliloquy> 16:18
16:18 mathw_ joined, jdv79_ joined, Foxcool_ joined, rmgk_ joined, rmgk_ is now known as rmgk 16:19 BooK left, eiro left, cosimo left, Foxcool left, larks left, mathw left, yoleaux left, ugexe left, eiro joined, RabidGravy left, domidumont left, MARTIMM left, ugexe joined, RabidGravy joined, larks joined, b^_^d joined, b^_^d left, b^_^d joined 16:20 domidumont joined, jferrero joined, cosimo joined, slavik1 joined, DarthGandalf joined 16:21 MilkmanD1n joined 16:22 d^_^b left, avuserow1 left, mephinet- left 16:23 masak joined, skarn joined, cdc joined 16:24 masak is now known as Guest94403, iv joined, cdc is now known as Guest41291, Ven joined 16:27 mr-foobar joined 16:28 tinyblak joined 16:30 tictac joined, ruoso_ joined 16:31 Mouq joined, rjbs- joined, ugexe_ joined 16:32 mr_ron joined 16:33 larks_ joined, kodok left, ruoso left, ugexe left, eiro left, rjbs left, larks left, RabidGravy left, domidumont left, domidumont joined
mr_ron m: my uint16 @a; @a[2] = 5; say 'ok ', @a.perl; my uint16 %h; %h{"abc"} = 2 16:34
camelia rakudo-moar 0c197c: OUTPUT«ok array[uint16].new(0, 0, 5)␤Type check failed in assignment to '%h'; expected 'uint16' but got 'Int'␤ in method ASSIGN-KEY at src/gen/m-CORE.setting:12412␤ in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3715␤ in block <unit> at /tmp/N9uD…»
16:34 RabidGravy joined, ugexe_ is now known as ugexe 16:38 eiro joined
mr_ron m: my uint16 @a; @a[2] = 5; say "ok ", @a.perl; my Int %h_ok; %h_ok{"def"}= 7; say "ok ", %h_ok.perl;my uint16 %h; %h{"abc"} = 2 16:39
camelia rakudo-moar 0c197c: OUTPUT«ok array[uint16].new(0, 0, 5)␤ok Hash[Int].new("def" => 7)␤Type check failed in assignment to '%h'; expected 'uint16' but got 'Int'␤ in method ASSIGN-KEY at src/gen/m-CORE.setting:12412␤ in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3715…»
mr_ron think bug with hashes of native types
timotimo hm. not sure if we have any code in place for that yet?
mr_ron you have it for arrays of native types and hashes of non-native types ... it seems 16:40
psch eh, it's double borked, from the looks of it
it builds the Hash of Int according to .perl, but still typechecks for uint16? 16:41
mr_ron you did notice they are two different hashes %h_ok and %h
psch oh, no i didn't :)
in that case, nevermind 16:42
m: my int %h; say %h.perl # yeah looks fine
camelia rakudo-moar 0c197c: OUTPUT«Hash[int].new()␤»
timotimo the question is: does it still store scalars inside to hold the values? 16:43
mr_ron m: my int %h; %h{"abc"} = 4
camelia rakudo-moar 0c197c: OUTPUT«Type check failed in assignment to '%h'; expected 'int' but got 'Int'␤ in method ASSIGN-KEY at src/gen/m-CORE.setting:12412␤ in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3715␤ in block <unit> at /tmp/_xS_uczDVE:1␤␤»
psch m: my int %h; say %h<a>.VAR # ... not sure?
camelia rakudo-moar 0c197c: OUTPUT«int␤»
16:46 nbrown04 joined, avuserow1 joined, retupmoca joined, ssutch joined, mephinet joined
mr_ron Ok to file rt bug report? 16:46
16:47 hobbs joined 16:48 mst__ is now known as mst, mst left, mst joined
mr_ron m: my int %h; %h<abc> = 4 16:49
camelia rakudo-moar 0c197c: OUTPUT«Type check failed in assignment to '%h'; expected 'int' but got 'Int'␤ in method ASSIGN-KEY at src/gen/m-CORE.setting:12412␤ in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3715␤ in block <unit> at /tmp/oAgewnT9yg:1␤␤»
16:50 isacloud joined 16:56 zakharyas left 17:00 dfarrell joined 17:02 ssqq left
dfarrell Hi everyone. I'm working on a Grammar for Perl 5 pod (github.com/dnmfarrell/Pod-Perl5) but am getting a "Too many positionals passed; expected 1 argument but got 2" error when using the grammar on pod containing "=item". Any ideas how this error relates to regex/grammars? It parses basic pod OK ... 17:04
17:04 zeleiadi joined
psch m: say Grammar.^can('item') 17:05
camelia rakudo-moar 0c197c: OUTPUT«item␤»
psch wonders how to look up where an inherited method comes from... 17:06
m: say Any.^can('item')
camelia rakudo-moar 0c197c: OUTPUT«item␤»
psch dfarrell: ^^^ that's basically the problem. i think we have a ticket for it already somewhere
at least if i'm remembering that correctly...
m: grammar G { token TOP { <Str> }; token Str { . } }; say G.parse("f") # similarly 17:07
camelia rakudo-moar 0c197c: OUTPUT«Cannot call Str(Mu: Match); none of these signatures match:␤ (Mu:U \v: *%_)␤ (Mu:D: *%_)␤ in regex Str at /tmp/128ST7wrK_:1␤ in regex TOP at /tmp/128ST7wrK_:1␤ in method parse at src/gen/m-CORE.setting:16842␤ in block <unit> at /tmp/1…»
dfarrell ergh, my message got garbled :( Any ideas how a regex or grammar could generate a "Too many positionals passed" error? 17:08
psch yeah, #77350
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77350
dfarrell ah ok, great. thanks! 17:09
17:12 tadzik joined, mr_ron left
dfarrell psch: thanks for the detail, I renamed the token and it works great! 17:19
17:22 Guest94403 is now known as masak_grr
psch "If the innermost lexical block happens to be the main block of a Routine, then &?BLOCK just returns the Block object, not the Routine object that contains it." 17:30
i'm wondering how that's supposed to work out, when Routine is Block
S06:The &?BLOCK object 17:31
synbot6 Link: design.perl6.org/S06.html#The
psch S06:The_&?BLOCK_object
synbot6 Link: design.perl6.org/S06.html#The_
psch :/
design.perl6.org/S06.html#The_&?BLOCK_object
hm, there's also RT #66632 17:32
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=66632
psch i'm fuzzy on the timeline, was that before nom?
or did it just regress
17:36 gcole joined 17:41 gcole left 17:42 FROGGS joined 17:43 ShimmerFairy joined 17:45 MilkmanD1n is now known as MilkmanDan 17:50 dfarrell left 17:54 Ven left 17:56 eli-se left, cognominal joined
psch hm, my &?BLOCK attempts break somewhere in CompUnit... 17:57
18:02 breinbaas left
psch well, what's spec'd leads me to believe that the relationship between Block and Routine has to be redesigned, if the speculations aren't to be changed 18:05
on the other hand, roast has rather little on &?BLOCK, so maybe specifying it different is an option 18:06
FROGGS what's the issue?
psch "If the innermost lexical block happens to be the main block of a Routine, then &?BLOCK just returns the Block object, not the Routine object that contains it."
but Routine isa Block 18:07
design.perl6.org/S06.html#The_&?BLOCK_object
FROGGS ahh
psch but there's less than 20 occurances of '&?BLOCK' in roast, and most of them test .leave
the only thing that explicitly tests block is the anon recursive block idiom in the spec link above 18:08
i don't think that 'Inside the outermost block of a routine, &?BLOCK and &?ROUTINE refer to the same object.' would be a good choice, but what we have doesn't really support what we have in specs 18:09
18:11 eli-se joined 18:12 Guest41291 is now known as cdc
masak_grr today's autopun spotting: twitter.com/aloria/status/591424398306992128 18:14
18:16 masak_grr is now known as masak 18:18 eiro left, domidumont left
FROGGS huh, "It's not just you! ebay.de looks down from here." 18:25
ahh, there it is 18:26
18:30 yoleaux joined, ChanServ sets mode: +v yoleaux 18:31 diana_olhovik_ joined 18:41 mr-foobar left 18:42 mr-foobar joined, zakharyas joined 18:45 raiph joined 18:50 eiro joined, domidumont joined
moritz masak: was there anything wrong with hack? 18:57
18:58 vendethiel joined 19:01 eiro left, domidumont left
masak moritz: not to my knowledge, no. 19:03
moritz: I didn't lose the connection; just got netsplit away from my actual nick. 19:04
moritz masak: ok 19:05
hack has been up for 29 days
I guess it's safe-ish to assume the hangups have gone
FROGGS I think so too 19:06
moritz FROGGS: are your cron jobs running again?
19:07 gcole joined
FROGGS moritz: like a duracel bunny :o) 19:07
19:10 zeleiadi left 19:11 gcole left
FROGGS nqp-m: say(nqp::istype(QAST::Want, QAST::Node)) 19:11
camelia nqp-moarvm: OUTPUT«1␤»
19:12 eiro joined, domidumont joined 19:14 telex left 19:16 telex joined 19:20 kaare_ left 19:22 rindolf left 19:33 domidumont left
dalek ast: b33c2b4 | FROGGS++ | S32-container/zip.t:
/._join/.flat.join/
19:34
kudo/nom: d0a84bc | FROGGS++ | src/ (2 files):
symbolic indirect subrules in regexes
19:38
ast: ec15161 | FROGGS++ | S05-metasyntax/angle-brackets.t:
unfuge/adjust test for indirect subrules
19:41
ugexe m: my @a = 1,2,3,4,5,6,7; for @a.rotor(4,:partial) { say $_.perl }; # is this not supposed to return [1,2,3,4],[5,6,7] anymore? 19:42
camelia rakudo-moar 0c197c: OUTPUT«1␤2␤3␤4␤5␤6␤7␤»
TimToady the slices are no longer itemized, and for flattens by default 19:44
m: my @a = 1,2,3,4,5,6,7; for @a.rotor(4,:partial).tree { say $_.perl }
camelia rakudo-moar 0c197c: OUTPUT«(1, 2, 3, 4; 5, 6, 7).item␤»
psch std: &1 # what's a good panic message for this?
camelia std 28329a7: OUTPUT«ok 00:00 138m␤»
psch (and it should be one, according to RT #72820 19:45
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=72820
psch )
TimToady m: my @a = 1,2,3,4,5,6,7; for lol |@a.rotor(4,:partial) { say $_.perl }
camelia rakudo-moar 0c197c: OUTPUT«$(1, 2, 3, 4)␤$(5, 6, 7)␤»
psch currently i'm jumping out of <variable>, which results in "Name must begin with alphabetic character"
19:45 millican joined
TimToady m: my @a = 1,2,3,4,5,6,7; @a.rotor(4,:partial).map: { say $_.perl } 19:45
camelia rakudo-moar 0c197c: OUTPUT«(1, 2, 3, 4)␤(5, 6, 7)␤»
TimToady well, it's true that it would work better if you said &foo :) 19:46
ugexe cool. i saw the commit but didnt know what to make of it. thanks
psch m: "a" ~~ /(a)/; say &0;
camelia rakudo-moar 0c197c: OUTPUT«「a」␤»
psch TimToady: ^^^ that's what behind my question :)
+is 19:47
TimToady m: "a" ~~ /(a)/; say &0.WHAT
camelia rakudo-moar 0c197c: OUTPUT«(Match)␤»
19:47 pierrot_ is now known as pierrot
TimToady m: "a" ~~ /(a)/; say &0.() 19:47
camelia rakudo-moar 0c197c: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤ in block <unit> at /tmp/2t6awwvM34:1␤␤»
TimToady I guess it's not enforcing the Callable 19:48
psch Actions::variable treats & as $, actually
i don't know if a Callable is spec'd in some capacity for matches
TimToady not yet :)
psch so bail with "calling a Match object as a Subroutine is reserved to be specified or forbidden"? :) 19:49
s/Subroutine/Routine/
19:50 ssutch left
psch s/bail/die/ # maybe 19:50
anyway, it's one of the bugs that's in reach for me right now and staring at jvminterop didn't bring much about once again today 19:51
if it's nothing particularly important it can sit around as-is, i suppose
FROGGS I also tackled regex stuff right now because I don't make progress with the compunit stuff atm 19:52
vendethiel m: say do for ^10 { .succ when 5..10 }.sort(* > *) # are we ruby? 19:55
camelia rakudo-moar 0c197c: OUTPUT«6 7 8 9 10␤»
psch .oO( ...or are we dancer? ) 19:56
vendethiel m: say (^10).map: { $^a * 3 }; (^10).map: $^a * 3;
camelia rakudo-moar 0c197c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hmhqu1Bzlp␤Cannot use placeholder parameter $^a in the mainline␤at /tmp/hmhqu1Bzlp:1␤------> 3y (^10).map: { $^a * 3 }; (^10).map: $^a7⏏5 * 3;␤»
vendethiel m: for <hey there love> { .say if any(.split('')) eq <o y> }; # is there any "shorter" than any(Str.split(''))? 19:57
camelia ( no output )
psch vendethiel: see #moarvm, if you're willing to go «for ... <-> $_ { ... }» instead 20:02
but then you probably need a copy, which makes it less shorter
m: for <hey there love> <-> $_ { .say if tr/yo/yo/ > 1 }; # is there any "shorter" than any(Str.split(''))?
camelia rakudo-moar 0c197c: OUTPUT«Cannot modify an immutable Str␤ in sub infix:<=> at src/gen/m-CORE.setting:22105␤ in block <unit> at /tmp/tUL434iwch:1␤␤»
psch huh
that i expected to work
it's rw $_, right?
eh, nevermind, i didn't even count characters 20:04
masak psch: problem is, you're looping over constant string values.
FROGGS it is, but you cannot change literals
masak psch: you'd need them to be containers.
psch it's probably shorter, but i don't want to count now
masak psch: `$_ is copy` would work there.
psch masak, FROGGS: right. just when i thought i was getting a hang of this container stuff yesterday :) 20:05
FROGGS *g*
psch with "is copy" it's probably not shorter anymore...
there's still «.match(any(<y o>))» i suppose
masak we should add `+> $_` to mean `-> $_ is copy` :P 20:06
(P.S. I was not serious. don't add that) 20:07
psch shudders at the Perl6/Grammar.nqp changes
actually, Actions.nqp
not Grammar.nqp 20:08
but yeah, don't
i'll push the fix for 72820 as-is, with a remark in the commit message that the message could be improved
which will probably involve redirecting where it gets thrown, which might make the patch actually somewhat of a bad idea
...which makes me question my decision to push it 20:09
see, that's why i asked in the first place! :P
FROGGS :P
vendethiel psch: <-> is the default for $_, afaik 20:10
vendethiel tried it already, "back then" ;-) 20:11
psch vendethiel: right, as masak++ said you'd need «is copy»
vendethiel yep, that much I remember
psch++: good find on .match(any()) tho 20:12
psch i do thinks .match is the most sensible... yeah
re: RT #72820: i'll go with "'Match variables are meaningless with the &-sigil. Did you mean $' ~ $<index> ~ '?'" as an untyped panic for now 20:17
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=72820
psch although maybe it should be "Positional captures" instead of "Match variables"...
'Positional captures cannot be referenced with the &-sigil. Did you mean $' ~ $<index> ~ ', %' ~ $<index> ~ ' or @' ~ $<index>'? 20:18
that's going in :P 20:19
20:21 jepeway joined 20:22 darutoko left
TimToady m: for <hey there love> { .say if /y|o/ } 20:23
camelia rakudo-moar d0a84b: OUTPUT«hey␤love␤»
vendethiel TimToady: yeah, good point (except maybe when you have lotta sigils, then <[]>?), but I'm still wondering about .split('') (which isn't that bad, really) 20:24
TimToady .comb is better than .split('') 20:25
vendethiel noted, thanks!
vendethiel goes off for the doc to re-read aboutcomb
jepeway ahoy, the ship o' #perl6 20:26
TimToady and you can't do eq <o y> and get implicit any on that rhs
dalek osystem: 6e42f02 | (Nick Logan)++ | META.list:
Update META.list
20:27
TimToady that would be equivalent ot eq 'o y'
*to
tadzik oh, is zef the new panda? :)
vendethiel TimToady: well, yeah, but any <foo> works, doesn't it? 20:28
jepeway is again with the questions 20:29
TimToady sure, but your any was on the other side
ugexe tadzik: more for working with a different auth than github
vendethiel ah, yes, that a code-simplification mistake. it's correct in my original code :)
that was*. good catch still 20:30
jepeway m: { m/(<-[:]>*) : (.*)/; say "[$0] [$1]" } for "one:1"
camelia rakudo-moar d0a84b: OUTPUT«[one] [:1]␤»
jepeway why does 2nd capture contain a : ?
TimToady because : is a metacharacter 20:31
20:31 millican left
vendethiel m: { m/(<-[:]>*) ':' (.*)/; say "[$0] [$1]" } for "one:1" 20:31
camelia rakudo-moar d0a84b: OUTPUT«[one] [1]␤»
jepeway oh.
TimToady the rule is very simple now; anything that isn't alphanumeric is to be considered meta
jepeway ah. 20:32
TimToady no more lists of metacharacters to memorize and be wrong on :)
jepeway will dig it, once he gets it 20:33
TimToady it also leaves a lot more wiggle room in the syntax than the old regex syntax ever did
so we're a lot more evolution friendly now
jepeway what did the unquoted meta : mean? empty/null adverb? 20:34
TimToady don't backtrack into the previous token
basically, that's what underlies :ratchet semantics 20:35
vendethiel (with its friends "::" and ":::", which are NYI iirc) 20:36
jepeway oh, my. never really held got a working understanding of re backtracking. 20:38
20:38 Alina-malina left
arnsholt : in regexes is like cut in Prolog, in case you've learned that 20:42
jepeway never prologged. 20:44
20:44 mohij joined 20:45 raiph left
dalek ast: d214528 | FROGGS++ | fudge:
allow to skip for a matching Perl 6 language version
20:49
ast: 28588a0 | FROGGS++ | S05-metasyntax/angle-brackets.t:
skip test for Perl 6 not for compilers

The tested code is reserved so we skip it because of Perl 6.
20:56 gcole joined 21:01 gcole left
jepeway , if he were smart, would take the opportunity to grok back-tracking. instead... 21:33
I'm seeing inconsistencies in how open() behaves when the paths it's point to non-existent files. 21:35
sometimes, I see "Failed to open file PAK: no such file or directory"
sometimes, I see "Failed to open file @: no such file or directory"
sometimes, I see "Malformed UTF-8 at line 1 col 21" 21:36
a shell transcript of these @ gist.github.com/cjepeway/2142e6d9e...transcript
hepl? 21:37
geekosaur sounds like an uninitialized chunk of memory somewhere 21:39
jepeway kinda thought the same
21:40 kst joined 21:41 zakharyas left
raydiak confirmed, you get random new errors on each open even to the same filename 21:41
RabidGravy yeah 21:42
jepeway ok, so...bug report? or is the clog for this session good enough? 21:43
RabidGravy similar to what you see with passing an unmanaged string to a const char *
bug it
jepeway pointer to bug tracker? 21:44
jepeway erk...googles... 21:45
raydiak mail [email@hidden.address] and start the subject with [BUG]
m: for ^20 { CATCH { say $_.Str.lines[0]; next; }; open "foobar" } 21:46
camelia rakudo-moar d0a84b: OUTPUT«open is disallowed in restricted setting␤open is disallowed in restricted setting␤open is disallowed in restricted setting␤open is disallowed in restricted setting␤open is disallowed in restricted setting␤open is disallowed in restricted setting…»
raydiak :P
21:49 diana_olhovik_ left
RabidGravy makes sense or you could have it cracking all its passwords in a few minutes ;-) 21:49
21:49 vendethiel left 21:50 breinbaas joined 21:51 vendethiel joined
masak 'night, #perl6 21:56
jepeway dream well, masak. 21:57
bugged. RT #124391 21:58
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124391
21:58 pmurias left
RabidGravy jepeway, my suspicion with that is that a string managed by perl is being passed to perror() somewhere along the way 21:59
21:59 mohij left
RabidGravy the malformed utf-8 is just going to happen when the garbage on the heap causes it 22:00
jepeway ah, yes.
nebuchadnezzar hello 22:02
masak: I just read strangelyconsistent.org/blog/here-be-heredocs, thanks a lot, but for the troll, I think mixing tabs and space is sane when they convey semantic www.emacswiki.org/emacs/SmartTabs ;-) 22:04
RabidGravy evening,
dalek kudo-star-daily: a4a9121 | coke++ | log/ (2 files):
today (automated commit)
rl6-roast-data: a7ed2eb | coke++ | / (9 files):
today (automated commit)
jepeway a la - char s[999] = "failed to open "; perror(strcat(s, path)); -- with path a perl data structure, perhaps, and not a C string 22:12
22:14 vendethiel left
RabidGravy yeah, though it may be the exact line 22:15
./nqp/MoarVM/src/io/syncfile.c: MVM_exception_throw_adhoc(tc, "Failed toopen file %s: %s", fname, uv_strerror(req.result));
jepeway heh, just found that, too. 22:20
there's an MVM_free(fname) right before that line.
seems...suspicious. 22:21
dunno whether there's fancy-pants ref counting or whatnot that might make the _free() call safe, mind you.
uh..no, that's just a wrapper around free(). 22:23
RabidGravy oops 22:24
jepeway yup.
22:25 Alina-malina joined 22:31 vendethiel joined 22:36 bjz left
jepeway updated RT with these findings. 22:36
22:38 bjz joined
jepeway wonder where a test for this belongs. are error messages part of MoarVM's contract, eg? 22:39
RabidGravy it's nqp's problem :) 22:42
22:42 khisanth_ is now known as Khisanth 22:45 gcole joined
dalek osystem: c024bff | (Nick Logan)++ | META.list:
fix META.info url
22:46
22:49 gcole left 22:55 vendethiel left 23:01 grondilu joined 23:04 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
jepeway then there's... 23:05
m: role A { multi method a(Int $i) {...}; multi method a(Str $s) {...}; }; class B does A { multi method a(Int $i){0}; multi method a(Str $s) {"a"}; } ; B.new.a(0).say 23:06
camelia rakudo-moar d0a84b: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:(B $: Int $i, *%_)␤:(B $: Int $i, *%_)␤ in block <unit> at /tmp/0ILm1pfWyW:1␤␤»
jepeway which timotimo and TimToady thought might be a bug.
23:07 bjz left
jepeway no harm in bugging that, too, is there? 23:07
23:09 bjz joined
dalek osystem: 7e40d88 | (Nick Logan)++ | META.list:
revert url correction, im an idiot

Project's META.info was incorrect, not the url. 3rd times a charm
23:10
23:11 vendethiel joined
jepeway well. 23:20
I tried to follow-up on the file name problem by responding to the auto-email confirmation I got. 23:21
23:21 RabidGravy left
jepeway but I don't see the text of my followup in the RT. 23:21
ah, well, added it to the gist in case somebody looks. 23:25
thanks, all, for the help with this. 1st rakudo bug, huzzah! 23:27
and 2nd is RT #124392, for the stub methods in roles. 23:29
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124392
TimToady jepeway++
23:30 cognominal left
jepeway is kinda beaming, here 23:30
TimToady I'm sure we can think of something discouraging if you need it. :) 23:33
23:33 eli-se left 23:35 vendethiel left 23:44 nbdsp left 23:46 gcole joined
jepeway nope, passing on that kind offer. 23:48
:)
well, splitsville for me, now. hope to be back tomorrow.
23:51 gcole left, vendethiel joined 23:59 xiaomiao joined