»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:06 torbjorn joined 00:23 TimToady_ is now known as TimToady 00:53 kurahaupo joined 00:54 rgrinberg left, rgrinberg joined 01:06 rsl left 01:11 canopus left 01:12 kalkin- left, kalkin-_ joined 01:13 vytas left 01:16 Azry left 01:18 rgrinberg left, rgrinberg joined 01:19 canopus joined 01:26 vytas joined 01:27 yqt left 01:28 cbk left 01:33 canopus left 01:38 canopus joined 01:45 ilbot3 left 01:46 kurahaupo left, rgrinberg left 01:47 rgrinberg joined, kurahaupo joined, ilbot3 joined 01:49 kurahaupo_ joined 01:52 kurahaupo left 01:58 araujo_ joined 02:02 araujo left 02:06 noganex joined 02:07 TEttinger left 02:08 adu joined 02:09 noganex_ left 02:15 tbrowder left 02:25 AlexDaniel joined 02:28 kid511 joined 02:29 kid51 left 02:35 kid51 joined 02:37 kid511 left 02:43 AlexDaniel left
awwaiid thanks parabolize :) 02:46
02:54 Azry joined, finanalyst joined 03:10 TEttinger joined 03:11 kent\n left 03:13 stephen joined, stephen is now known as TheDir 03:15 aries_liuxueyang left 03:17 aries_liuxueyang joined 03:18 kent\n joined, kent\n left, kent\n joined 03:22 perturbation left 03:26 finanalyst left 03:34 kid51 left 03:36 molaf joined 03:39 huggable left 03:40 huggable joined 03:45 molaf left 03:47 dmaestro left 03:51 buharin joined 03:54 buharin left 03:55 buharin joined, jjido joined 03:57 Ben_Goldberg joined 04:01 jjido left 04:02 jjido joined, jjido left 04:03 jjido joined 04:11 jjido left 04:16 buharin left 04:17 DoverMo joined 04:19 BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 04:23 khw left 04:38 adu left 04:44 xinming_ joined 04:47 xinming left 04:52 Cabanossi left 04:55 Cabanossi joined 05:06 flaviusb joined 05:10 rgrinberg left 05:15 CIAvash joined 05:41 Senj joined 05:54 skids left 05:57 Senj left 06:21 mr-foobar left 06:23 darutoko joined 06:26 mohae_ joined 06:29 mohae left 06:31 domidumont joined, jjido joined 06:32 jack_rabbit joined 06:35 domidumont left, cyphase left 06:36 domidumont joined 06:39 jjido left 06:40 cyphase joined 06:42 jjido joined 06:54 domidumont left 07:03 araujo_ left 07:08 jjido left 07:09 mr-foobar joined 07:12 RabidGravy joined 07:14 domidumont joined 07:16 mr-foobar left 07:18 mr-foobar joined
RabidGravy boom 07:21
07:21 wamba joined 07:25 zakharyas joined 07:30 abraxxa joined 07:34 |Sno| left 07:39 abraxxa left, abraxxa joined, huggable left 07:40 huggable joined
RabidGravy I can tell things have been happening since I got distracted by current affairs, five of my modules got broken 07:40
lizmat RabidGravy: any pointers as to what got broken? 07:42
RabidGravy something returns an anonymous class rather than a Distribution object, IO::Path now has a .mode method, and some other as yet undiagnosed things 07:43
lizmat eh, how can an addition of a method break things ? 07:44
07:44 g4 joined
RabidGravy if you add a method to the class it does 07:44
which is what IO::Path::Mode does, not sure how I'm going to fix that (my .mode returns an Int with a role that makes sense of the value) 07:47
lizmat ah, ok, clear now 07:50
:-(
RabidGravy I'm sure I'll think of something, I'll consider it an opportunity to make something better :) 07:51
07:52 canopus left 07:53 canopus joined 07:55 usiu9 joined 07:56 sftf left 07:58 dakkar joined 08:07 DoverMo left
RabidGravy Oooh, no that is actual a genuine bug IMO ("something returns an anonymous class rather than a Distribution object") 08:11
lizmat maybe that was caused by the integration of ugexe's work by nine?
RabidGravy m: say Distribution.new 08:12
camelia rakudo-moar 74a079: OUTPUT«<anon|786110368>.new(name => Any, auth => Any, author => Any, authority => Any, api => Any, ver => Any, version => Any, description => Any, depends => [], provides => {}, files => {}, source-url => Any)␤»
RabidGravy almost certainly
psch m: say Distribution.HOW.^name
camelia rakudo-moar 74a079: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW␤»
psch punning gone weird..? 08:13
i remember some bit of discussion about this a few days back, in #perl6-dev
08:20 |Sno| joined
RabidGravy oh, it actually creates an anonymous class deliberately in the constructor 08:23
psch star-m: say Distribution.HOW.^name
camelia star-m 2016.04: OUTPUT«Perl6::Metamodel::ClassHOW␤»
psch yeah, turning it into a role but keeping backwards compat or so was the reasoning iirc
i don't remember or even knew the details :) 08:24
08:31 ssqq joined
RabidGravy right, I think it's go with the "heritage" interface for the time being to get App::ModuleSnap working again and then fix it again, because it appears there is a better way to do what it is doing 08:38
08:42 jkramer left
RabidGravy wahay! Audio::Silan was broken by something unrelated to changes to rakudo 08:51
08:52 donaldh joined 08:53 Senj joined 08:55 donaldh1 joined, donaldh left 09:02 donaldh1 left
DrForr Changes to rakudo... great :) 09:03
09:06 grondilu joined 09:10 user9 joined 09:16 cyphase left 09:17 cyphase joined 09:25 labster left, labster joined 09:26 labster left 09:32 jonas2 joined 09:38 ure34 joined, usiu9 left, ure34 left 09:40 wamba left, wamba joined 09:45 dalek left 09:46 labster joined 09:50 BenGoldberg left 10:00 TEttinger left 10:01 aries_liuxueyang left 10:03 salv0 joined
wamba m: my @objects=<a b c d>; my @atributes=(1, 2); my $relations=set( "a" => 1, "a" => 2, "b" => 1, "c" = 10:04
camelia rakudo-moar ffc79b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3set( "a" => 1, "a" => 2, "b" => 1, "c" =7⏏5<EOL>␤ expecting any of:␤ prefix␤ term␤»
wamba > 2 ); say set ( $_ if ($_ X=> 1,2).all (elem) $relations  for @objects)
m:my @objects=<a b c d>; my @atributes=(1, 2); my $relations=set( "a" => 1, "a" => 2, "b" => 1, "c" => 2 ); say set ( $_ if ($_ X=> 1,2).all (elem) $relations  for @objects)
m: my @objects=<a b c d>; my @atributes=(1, 2); my $relations=set( "a" => 1, "a" => 2, "b" => 1, "c" => 2 ); say set ( $_ if ($_ X=> 1,2).all (elem) $relations  for @objects)
camelia rakudo-moar ffc79b: OUTPUT«set(a)␤»
wamba m: my @objects=<a b c d>; my @atributes=(1, 2); my $relations=set( "a" => 1, "a" => 2, "b" => 1, "c" => 2 ); say set ( $_ if ($_ X=> @atributes).all (elem) $relations  for @objects) 10:05
camelia rakudo-moar ffc79b: OUTPUT«set()␤»
10:06 aries_liuxueyang joined 10:07 AlexDaniel joined
wamba m: say so all(1 X=> 1,2) (elem) set(1=>1,1=>2) 10:10
camelia rakudo-moar ffc79b: OUTPUT«True␤»
wamba m: my @a=1,2; say so all(1 X=> @a) (elem) set(1=>1,1=>2)
camelia rakudo-moar ffc79b: OUTPUT«False␤»
wamba m: my @a=1,2; dd all(1 X=> @a), all(1 X=> 1,2) 10:13
camelia rakudo-moar ffc79b: OUTPUT«all(1 => 1, 1 => 2)␤all(1 => 1, 1 => 2)␤»
RabidGravy lizmat, further to earlier 8ad19e2ec3a7be4e83c06de6b6475f5c6596eef1 broke Lumberjack::Application - as it actually did create Backtrace::Frame objects as they are marshalled to/from JSON :( 10:14
lizmat RabidGravy: so you need the named param interface as well... 10:15
RabidGravy yeah, it was never ideal but it kinda worked
wouldn't just making the explicit constructor a multi fix that? 10:16
lizmat yeah, working on that
wamba m: my @a=1,2; say so all(1 X=> @a) (elem) set(1=>1,1=>2) 10:17
camelia rakudo-moar ffc79b: OUTPUT«False␤»
wamba m: my @a=1,2; say so all(1 X=> 1,2) (elem) set(1=>1,1=>2)
camelia rakudo-moar ffc79b: OUTPUT«True␤»
10:18 rindolf joined
wamba why does it give different result? 10:19
lizmat RabidGravy: spectesting
RabidGravy if it's a problem I can make the thing that gets serialised a sub-class of Backtrace::Frame with its own constructor
lizmat RabidGravy: don't think it's going to be an issue 10:20
hmmm.. it appears we lost dalek 10:27
github.com/rakudo/rakudo/commit/c3...60ac735786 # RabidGravy 10:28
RabidGravy lizmat++ cheers, let me rebuild and check that out 10:29
hahainternet wamba: that's an interesting one 10:38
i don't know why that works
10:39 vytas left 10:40 sftf joined, yqt joined, Zoffix joined
RabidGravy lizmat++ yep that's great thanks! It's probably an incentive to find a better way to capture the "execution context" of the log messages, which was on my TODO as Backtrace is a little slow 10:45
gfldex m: my @a=1,2; say so all(1 X=> @a) (elem) set(1=>1,1=>2) 10:46
camelia rakudo-moar c35c56: OUTPUT«False␤»
gfldex m: my @a=1,2; say so all(1 X=> |(1,2)) (elem) set(1=>1,1=>2)
camelia rakudo-moar c35c56: OUTPUT«False␤»
gfldex wamba: ^^^ 10:47
Zoffix m: my @a = 1, 2; dd all(1 X=> @a)
camelia rakudo-moar c35c56: OUTPUT«all(1 => 1, 1 => 2)␤»
Zoffix m: my @a = 1, 2; dd all(1 X=> 1,2)
camelia rakudo-moar c35c56: OUTPUT«all(1 => 1, 1 => 2)␤»
hahainternet gfldex: what was with the true though?
Zoffix m: my @a = 1, 2; dd all(1 X=> |(1,2))
camelia rakudo-moar c35c56: OUTPUT«all(1 => 1 => 2)␤»
Zoffix I don't get it
hahainternet shrugs, confused 10:48
Zoffix The @a and 1,2 produce exactly the same junction. the |(1,2) is a different junction
gfldex m: my @a=1,2; dd 1 X=> @a; dd 1 X=> (1,2); 10:49
camelia rakudo-moar c35c56: OUTPUT«(1 => 1, 1 => 2).Seq␤(1 => 1, 1 => 2).Seq␤»
gfldex odd
Zoffix m: my @a=1,2; dd (1 X=> @a)».WHICH; dd (1 X=> (1,2))».WHICH; dd (1=>1,1=>2)».WHICH 10:50
camelia rakudo-moar c35c56: OUTPUT«(ObjAt.new, ObjAt.new)␤("Pair|Int|1|Int|1", "Pair|Int|1|Int|2")␤("Pair|Int|1|Int|1", "Pair|Int|1|Int|2")␤»
10:51 pdcawley left
Zoffix wamba, ^ set membership uses WHICH and apparently 1 X=> @a creates different .WHICHes... 10:51
10:51 pdcawley joined
gfldex i'm not sure if Junctuin (elem) Set makes sense at all 10:51
gregf_ *looks like haskell.. all those brackets* 10:52
hahainternet how would you slip that @a into that?
10:52 vytas joined
gfldex does the (elem) operator collapse the Junction to Bools? 10:53
lizmat (elem) would collapse the junction to a Set, and a Set is a hash of Bool 10:54
hmmm...
Zoffix m: my @a=1,2; dd (1 X=> (|@a))».WHICH; dd (1 X=> (1,2))».WHICH; dd (1=>1,1=>2)».WHICH 10:55
camelia rakudo-moar c35c56: OUTPUT«("Pair|Int|1|Pair|77003600",)␤("Pair|Int|1|Int|1", "Pair|Int|1|Int|2")␤("Pair|Int|1|Int|1", "Pair|Int|1|Int|2")␤»
Zoffix ¯\_(ツ)_/¯
hahainternet yeah Zoffix i'm confused too!
Zoffix m: my @a=1,2; dd (1 X=> (|@a)) 10:56
camelia rakudo-moar c35c56: OUTPUT«(1 => 1 => 2,).Seq␤»
gfldex m: my @a=1,2; dd all(1 X=> @a).Set;
camelia rakudo-moar c35c56: OUTPUT«all(set(1), set(1))␤»
Zoffix m: my @a=1,2; dd all(1 X=> (1,2)).Set; 10:57
camelia rakudo-moar c35c56: OUTPUT«all(set(1), set(1))␤»
gfldex m: my @a=1,2; dd all(1 X=> |(1,2)).Set;
camelia rakudo-moar c35c56: OUTPUT«all(set(1))␤»
Zoffix m: dd set(1=>1,1=>2)
camelia rakudo-moar c35c56: OUTPUT«set(1 => 2,1 => 1)␤»
Zoffix IMO, this stuff should be reported as a bug. It's certainly confusing and unexpected behaviour. 10:58
wamba, would you mind reporting it and include the link to this conversation? irclog.perlgeek.de/perl6/2016-07-04#i_12780360
Zoffix runs to work
lizmat Zoffix: afaik, this is according to design 10:59
10:59 brrt joined, labster left
gfldex m: dd (1=>1, 1=>2).Set; dd all(1=>1, 1=>2); dd all(1=>1, 1=>2).Set 11:00
camelia rakudo-moar c35c56: OUTPUT«set(1)␤all(1 => 1, 1 => 2)␤all(set(1), set(1))␤»
gfldex m: dd (1=>1, 1=>2).Set # doesn't looks right to me 11:02
camelia rakudo-moar c35c56: OUTPUT«set(1)␤»
llfourn what's the correct answer? 11:03
gfldex m: dd (1=>1, 1=>2).keys.Set
camelia rakudo-moar c35c56: OUTPUT«set(0,1)␤»
gfldex m: dd (1=>1, 1=>2).values.Set
camelia rakudo-moar c35c56: OUTPUT«set(1)␤»
gfldex m: dd (1=>1, 1=>2).pairs.Set
camelia rakudo-moar c35c56: OUTPUT«set(0,1)␤»
Zoffix lizmat, to me it looks like the failure is due to how stuff is represented internally. Both versions produce all(1 => 1, 1 => 2). Isn't it just a matter of this particular implementation that @a and (1,2) produce different .WHICH in the X=> list?
llfourn hmmm that 0 looks wrong
11:04 Util left, masak left, dalek joined, ChanServ sets mode: +v dalek, synopsebot6 left, synopsebot6 joined, sergot left, perlpilot left, pmichaud left
moritz PSA: If hack hangups kill your IRC sessions, there's now a separate host available for IRC only. If you want an account, please talk to me. 11:05
llfourn (oh wait no that 0 is right)
(you did keys on a List not a Set)
gfldex m: dd (1=>2).Set 11:06
camelia rakudo-moar c35c56: OUTPUT«set(1)␤»
Zoffix And that looks weird too
llfourn that's correct
Zoffix Is it?
llfourn yes
gfldex that's a Set of Pairs
Zoffix I'd expect a set with one pair in it
llfourn no then you need to put more () I think 11:07
Zoffix m: dd (Pair.new: 2, 3).Set
camelia rakudo-moar c35c56: OUTPUT«set(2)␤»
llfourn dd ((1=>2)).Set
Zoffix m: dd ((Pair.new: 2, 3),).Set
camelia rakudo-moar c35c56: OUTPUT«set(2)␤»
llfourn m: dd ((1=>2)).Set
camelia rakudo-moar c35c56: OUTPUT«set(1)␤»
llfourn hmm
moritz .tell masak I've created a shell account for you on irc.p6c.org, which should be more stable for IRC session than hack. Password is the same as on hack. Enjoy!
yoleaux moritz: I'll pass your message to masak.
11:07 kaare_ joined
llfourn sorry, yeah if you can't have pairs in a set that does seem wrong 11:07
m: (set (a => b)).keys[0].^name.say 11:08
camelia rakudo-moar c35c56: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ b used at line 1␤␤»
llfourn m: (set (a => "b")).keys[0].^name.say
camelia rakudo-moar c35c56: OUTPUT«Pair␤»
llfourn eh it seems to work there
m: ( (a => "b")).Set.keys[0].^name.say 11:09
camelia rakudo-moar c35c56: OUTPUT«Str␤»
llfourn maybe it's a .Set issue
gfldex method Set() is nodal { Set.new-from-pairs(self.list) } # defined in Any.pm
(and not doced) 11:10
llfourn m: ( Pair.new("a","b") ).Set.keys[0].^name.say
camelia rakudo-moar c35c56: OUTPUT«Str␤»
llfourn m: ( Pair.new("a","b"), ).Set.keys[0].^name.say
camelia rakudo-moar c35c56: OUTPUT«Str␤»
llfourn m: [ Pair.new("a","b"), ].Set.keys[0].^name.say
camelia rakudo-moar f829f6: OUTPUT«Str␤»
11:11 ZoffixMobile joined, brrt left
ZoffixMobile m: dd ((:2foo) => True).Set 11:12
camelia rakudo-moar f829f6: OUTPUT«set(:foo(2))␤»
11:12 kid51 joined, Sgeo_ joined
lizmat fwiw, I think the .Set behaviour was decided about 2 years ago after long deliberations 11:12
by TimToady 11:13
anyways, that's my recollection :-)
llfourn lizmat: do you remember if it was decided that it should be different to &set (because it is)
11:13 Sgeo left
llfourn m: [ Pair.new("a","b"), ].Set.keys[0].^name.say; set( Pair.new("a","b") ).keys[0].^name.say 11:14
camelia rakudo-moar f829f6: OUTPUT«Str␤Pair␤»
11:14 ZoffixMobile_ joined
gfldex m: my $set = Set.new-from-pairs(1=>Any); dd $set; 11:15
camelia rakudo-moar f829f6: OUTPUT«Set $set = set()␤»
llfourn gfldex: that's expected though => creates named arguments
11:16 Sgeo__ joined
gfldex m: my $set = Set.new-from-pairs([1=>Any]); dd $set; 11:16
camelia rakudo-moar f829f6: OUTPUT«Set $set = set()␤»
11:16 ZoffixMobile left
llfourn and Any is False :) 11:16
11:16 Sgeo_ left
llfourn wait nvm you're right there :) 11:16
gfldex if i got pairs for foo and type objects, i can't have a Set of those. 11:17
llfourn yeah to me it's kinda strange that it does a .new-from-pairs rather than just .new 11:18
lizmat llfourn: yes, because .Set is a coercer
and set() is a builder
again, according to memory :-)
gregf_ m: say :10a.^name 11:19
camelia rakudo-moar f829f6: OUTPUT«Pair␤»
llfourn hmm ok well as long as it is intended :)
gfldex m: my $set = Set.new(List,Hash,Str); dd $set;
camelia rakudo-moar f829f6: OUTPUT«Set $set = set(List,Hash,Str)␤»
gfldex m: my $set = Set.new(['obj1'=>List,'obj2'=>Hash,'obj3'=>Str]); dd $set; 11:20
camelia rakudo-moar f829f6: OUTPUT«Set $set = set(:obj3(Str),:obj2(Hash),:obj1(List))␤»
lizmat llfourn: well, maybe the intent in hindsight is wrong
gfldex m: my $set = Set.new('obj1'=>List,'obj2'=>Hash,'obj3'=>Str); dd $set;
camelia rakudo-moar f829f6: OUTPUT«Set $set = set(:obj3(Str),:obj2(Hash),:obj1(List))␤»
gfldex m: my $set = Set.new-from-pairs(['obj1'=>List,'obj2'=>Hash,'obj3'=>Str]); dd $set;
camelia rakudo-moar f829f6: OUTPUT«Set $set = set()␤»
gfldex i do not agree
lizmat fwiw, new-from-pairs is supposed to be an internal method 11:21
well, internal to the core, I think
gfldex that is called by Any.Set
llfourn lizmat: I can't think of many circumstances where if I called .Set on a list of Pairs, that I would want a Set of only the .key of the Pairs in the list
gfldex so i don't really have a choise in calling it 11:22
ZoffixMobile_ m: my $set = Set.new-from-pairs('obj1'=>Li​st,'obj2'=>Hash,'obj3'=>Str); dd $set;
camelia rakudo-moar f829f6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3my $set = Set.new-from-pairs('obj1'=>Li7⏏5​st,'obj2'=>Hash,'obj3'=>Str); dd $set;␤ expecting any of:…»
ZoffixMobile_ huh
llfourn coercion I don't think would be an exception -- but I guess it depends on what you're up to
lizmat hmmm... the code does have a # XXX GLR do these really need to force a list? above it 11:23
gfldex %e{.key.WHICH} //= $_.key if .value; # (line 44 in Setty.pm) 11:25
shouldn't that be with instead of if?
lizmat gfldex: fwiw, that code predates the existence of with 11:26
gfldex i guessed as much
lizmat I guess the most confusing is, is that Set.new follows the single arg rule 11:27
m: my @a = ^10l; dd Set.new(@a)
camelia rakudo-moar f829f6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3my @a = ^107⏏5l; dd Set.new(@a)␤»
lizmat m: my @a = ^10; dd Set.new(@a)
camelia rakudo-moar f829f6: OUTPUT«set(5,7,9,4,8,3,0,1,6,2)␤»
lizmat m: my @a = ^10; dd Set.new(@a,@a)
camelia rakudo-moar f829f6: OUTPUT«set($[0, 1, 2, 3, 4, 5, 6, 7, 8, 9])␤»
lizmat and .Set does not
that just follows List constructor rules 11:28
and .Set on a list tries to interprete the List as pairs
gfldex on pairs where the values have to pass a test 11:29
11:29 ZoffixMobile_ left
lizmat compare these: 11:29
m: dd (1=>2,3=>4).Hash
camelia rakudo-moar f829f6: OUTPUT«Hash % = {"1" => 2, "3" => 4}␤»
gfldex I have problems with the whole thing because I asked myself the question, how the hell do I phrase that in the docs?
lizmat m: dd (1=>2,3=>4).Set 11:30
camelia rakudo-moar f829f6: OUTPUT«set(3,1)␤»
gfldex maybe writing the docs late wasn't to optimal :)
lizmat m: dd (1=>2,3=>4).Bag
camelia rakudo-moar f829f6: OUTPUT«(3=>4,1=>2).Bag␤»
lizmat I think this behaviour is consistent between Hash/Set/Bag, once you reailize that Set is a Hash of Bool 11:31
11:31 cognominal left
llfourn m: dd (1=>2,3=>4).Hash.Set 11:31
camelia rakudo-moar a557a1: OUTPUT«set("1","3")␤»
11:31 cognominal joined, Some-body_ joined
lizmat which is the same as: 11:31
11:31 DarthGandalf left
lizmat m: dd (1=>2,3=>4).Hash.pairs.Set 11:31
camelia rakudo-moar a557a1: OUTPUT«set("1","3")␤»
ilmari m: dd (1=>-2,3=>4).Hash.Bag 11:32
camelia rakudo-moar a557a1: OUTPUT«Use of Nil in string context in block <unit> at <tmp> line 1␤Use of Nil in string context in block <unit> at <tmp> line 1␤Found negative values for in ␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1…»
11:32 cog_ joined, Some-body_ is now known as DarthGandalf
ilmari m: dd (1=>0,3=>4).Hash.Bag 11:32
camelia rakudo-moar a557a1: OUTPUT«("3"=>4).Bag␤»
ilmari and Bag is a Hash of Int where * > 0
lizmat m: dd (1=>0,3=>4).Hash.Set 11:33
camelia rakudo-moar a557a1: OUTPUT«set("3")␤»
gfldex that's line 44 for you :)
gregf_ m: say (1=>0,3=>4).^name 11:34
camelia rakudo-moar a557a1: OUTPUT«List␤»
lizmat fwiw, Set and Bag/Mix are still in my crosshairs :-) 11:35
gregf_ m: say {1=>0,3=>4}.^name
camelia rakudo-moar a557a1: OUTPUT«Hash␤»
wamba m: my @a=1,2; say so all(1 X=> @a) (elem) set(1=>1,1=>2) 11:36
lizmat: so, Is it OK, or not?
camelia rakudo-moar a557a1: OUTPUT«False␤»
gfldex (future Any.pod) method Set \n Will create a Set from a single value or Positional. If the elements are Pairs, values are checked for Bool::True. Please note thet C<0> boolifies to False.
i'm somehow reluctant to write that 11:37
wamba: i vote for bug
lizmat please RT it so it does't fall through the cracks 11:39
11:39 huggable left 11:46 rindolf left 11:50 lambd0x_ joined 11:51 ssqq left 11:53 rindolf joined 12:01 kurahaupo joined
wamba m: my @a=1,2; say so all(1 X=> @a.List) (elem) set(1=>1,1=>2) 12:01
camelia rakudo-moar a557a1: OUTPUT«True␤»
wamba hm, this works
m: say so all(1 X=> (1,2).Array) (elem) set(1=>1,1=>2) 12:02
camelia rakudo-moar a557a1: OUTPUT«False␤»
12:03 kurahaupo_ left 12:13 domm joined 12:14 brrt joined 12:18 rindolf left 12:31 vike1 left 12:34 vike1 joined
gfldex does htmlify.p6 understand X<> inside tables? 12:36
moritz I don't think it understand any markup in tables, but I could be wrong
timotimo correct, our pod parser doesn't do tablet well yet 12:38
i mean, it just doesn't do formatting codes inside tables yet at all
gfldex i just found myself wanting a ?// !!, equivalent to with 12:42
if ?? !! actually an operator or is it syntaxy?
s/if/is/ 12:43
lizmat afk& 12:44
psch ?? !! is syntax, currenlty 12:48
no idea if that'll change either
'$a ?// $b !! $c' is '$a.defined ?? $b !! $c'? 12:49
gfldex yes 12:50
m: class DefinedAlternation is Bool; sub infix:<?//>(\a, \b -->DefinedAlternation){ with a { with b { return DefinedAlternation.new(True) } } DefinedAlternation.new(False) }
camelia rakudo-moar a557a1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Bool does not support inheritance, so DefinedAlternation cannot inherit from it␤at <tmp>:1␤»
gfldex :(
i do agree that inheritance from enums does not compute 12:51
psch why do you even need that type there?
MasterDuke it's in the operator docs, docs.perl6.org/language/operators#...%3F_%21%21
gfldex if i got a type returned from infix:<?//>) i can define infix:<!!> to handle that type and get what i want 12:52
psch gfldex: but isn't Bool enough?
gfldex i will try that next
12:52 Ven joined 12:53 Azry left
Ven o/ 12:53
yoleaux 19 Jun 2016 11:59Z <brrt> Ven: thanks
psch MasterDuke: well, from an implementation POV it's not really an operator, but a special parsing construct
MasterDuke: note that it doesn't fit with any of the foofix operator categories we have
MasterDuke yeah, wonder if that distinction should be made in the docs 12:54
timotimo well, we'd really want to have multi-infixes custom-definable in the future
Ven timotimo: I'm going to get back my `?:` syntax :P
I'm toying with nested sets, and I wrote something to "foreach" them. gist.github.com/anonymous/bbe5e2d7...c51389e76a I, however, would like a better way to write this `while`, instead of this ugly `if ... then last` 12:55
psch make it "last if ..."? :) 12:56
Ven that's syntactic bikeshedding ;)
12:57 domidumont left 12:58 domidumont joined 13:01 finanalyst joined 13:02 masak_grr joined 13:03 Azry joined 13:07 donaldh joined, Azry left
gfldex m: class DefinedAlternationContainer { has $.item; has $.condition-was-defined }; sub infix:<?//>(\a, \b -->DefinedAlternationContainer) { with a { return DefinedAlternationContainer.new(item => b, condition-was-defined => True) }; DefinedAlternationContainer.new(item => Any, condition-was-defined => False) }; sub infix:<!!>(DefinedAlternationContainer:D \cont, \b){ cont ?? cont.item !! b }; my $v = 2 but 13:09
camelia rakudo-moar a557a1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3 cont ?? cont.item !! b }; my $v = 2 but7⏏5<EOL>␤ expecting any of:␤ prefix␤ term␤»
gfldex False; dd $v ?// 2 !! 4
ELINETOLONG 13:10
13:10 jkramer joined
jkramer Ahoy again! 13:10
RabidGravy Hmm, I think I am either going to have to scrap IO::Path::Mode completely or make a completely incompatible change
jkramer Is there a way to override a method in an object on-the-fly? Something like: my $foo = Foo.new { method some-method { do something different than Foo.some-method } } 13:11
gfldex m: gist.github.com/gfldex/02998dc3927...2784b72152
camelia rakudo-moar a557a1: OUTPUT«2␤»
gfldex (Perl 6)++
psch m: class A { method foo { "foo" } }; my $a = A.new but role { method foo { "bar" } }; say $a.foo 13:12
camelia rakudo-moar a557a1: OUTPUT«bar␤»
13:14 finanalyst left
MasterDuke RapidGravy: whoops, didn't realize that existed when i added IO::Path.mode 13:14
13:15 finanalyst joined
RabidGravy it's fine, I should have been paying more attention :) 13:15
13:15 iH2O joined, donaldh left
gfldex m: class A { method m(){ say 'A::m' } }; my $a = A.new; $a = $a but role { method m(){ say '::m' } }; $a.m; 13:16
camelia rakudo-moar a557a1: OUTPUT«::m␤»
gfldex jkramer: you can mixin with but at any given time
Ven m: class A { method m(){ say 'A::m' } }; my $a = A.new; $a but= role { method m(){ say '::m' } }; $a.m; 13:17
camelia rakudo-moar a557a1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot make assignment out of but because structural infix operators are too diffy␤at <tmp>:1␤------> 3{ say 'A::m' } }; my $a = A.new; $a but=7⏏5 role { method m(){ say '::m' } }; $a.m;␤»
Ven aw :D.
where can I get a diffyness-reducer, I wonder
MasterDuke m: class A { method m(){ say "A::m" } }; my $a = A.new; $a but role { method m(){ say "::m" } }; $a.m; 13:20
camelia rakudo-moar a557a1: OUTPUT«A::m␤»
MasterDuke m: class A { method m(){ say "A::m" } }; my $a = A.new but role { method m(){ say "::m" } }; $a.m;
camelia rakudo-moar a557a1: OUTPUT«::m␤»
MasterDuke Ven: ^^^^
RabidGravy Oooh, no that works. Rather than augmenting the IO::Path to add the mode method, I can just over-write the method if it's there or add_method it if it isn't 13:24
Ven MasterDuke: ? 13:26
not sure how that relates to `but=`?
MasterDuke m: class A { method m(){ say "A::m" } }; my $a = A.new; $a = $a but role { method m(){ say "::m" } }; $a.m; 13:28
camelia rakudo-moar a557a1: OUTPUT«::m␤»
MasterDuke looks like it works explicitly, but you're right, no 'but=' 13:29
13:32 donaldh joined, iH2O left
MasterDuke non-modifiable by design it appears, docs.perl6.org/routine/but 13:33
timotimo you mean modifying 13:34
Ven yeah, we have "does" if we want to mutate :)
13:35 tbrowder joined 13:37 brrt left
tbrowder re RT: I sent a help msg to support earlier today and I look forward to a helpful response. 13:37
b2gills I just heard back from an issue I raised on ideone almost a month ago, they fixed some of the problems I mentioned but are going to wait until the next language maintenance to upgrade ( they have 2014.07 currently ) 13:41
13:46 eroux joined 13:48 donaldh left, nightfrog joined 13:49 ranguard_ is now known as ranguard 13:50 eroux left 13:52 yqt left 13:54 ocbtec joined 13:55 skids joined 13:57 eroux joined 13:58 yanmc left
gregf_ m: class A { method m(){ say "A::m" } };role B { method m(){ say "::m"; } }; (A.new does B).m; 14:00
camelia rakudo-moar a557a1: OUTPUT«::m␤»
timotimo m: my $foo = "hello"; say "$foo.replace("e", "a").foo.bar" 14:01
camelia rakudo-moar a557a1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3lo"; say "$foo.replace("e", "a").foo.bar7⏏5"␤»
timotimo ^- IMO this shouldn't say confused, it should call the replace and just concatenate .foo.bar
14:04 TakinOver left
moritz agreed 14:05
14:08 donaldh joined 14:09 nightfrog left, brrt joined
MasterDuke m: sub LEVCAPTEST() {say "hi"}; levcaptest(); 14:15
camelia rakudo-moar a557a1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ levcaptest used at line 1. Did you mean 'LEVCAPTEST'?␤␤»
14:15 molaf joined 14:16 g4 left
MasterDuke m: sub LEVCAPTEST() {say "hi"}; LEVCAPTESt(); 14:16
camelia rakudo-moar a557a1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ LEVCAPTESt used at line 1␤␤»
MasterDuke m: sub LEVCAPTEST() {say "hi"}; lEVCAPTEST();
camelia rakudo-moar a557a1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ lEVCAPTEST used at line 1. Did you mean 'LEVCAPTEST'?␤␤»
MasterDuke ^^^^ doesn't seem right
jkramer gfldex: Thanks, that works fine! 14:18
BrokenRobot MasterDuke: what is? The suggestion? 14:19
jkramer Damn, I was trying to find out why a value in a Hash was a List and not a single object for half an hour. The assignment was %foo{'asd'} = $bar, (command, no semicolon at the end) :(
geekosaur dissenting opinion re the embedded replace: it should not error, but it should only expand $foo --- not get itself into arbitrary length parsing, unless I used {}
jkramer There should be a warning for that
MasterDuke a single difference at the end (or middle) of the name says 'Undeclared name', but differences starting at the start of the name says 'Undeclared routine' 14:20
geekosaur in particular, I don't think you can rationally process the inner quotes because they're the same as the outer quotes
(which indeed is where the "Confused" comes from; that should be a better message) 14:21
MasterDuke m: my @neighbors = <Tom Dick Harry>; say [email@hidden.address] ') and I try our best to coexist peacefully."
camelia rakudo-moar a557a1: OUTPUT«Tom, Dick, Harry and I try our best to coexist peacefully.␤»
MasterDuke m: my @neighbors = <Tom Dick Harry>; say [email@hidden.address] ") and I try our best to coexist peacefully."
camelia rakudo-moar a557a1: OUTPUT«Tom, Dick, Harry and I try our best to coexist peacefully.␤»
14:21 nightfrog joined
MasterDuke it works with either quotes 14:21
geekosaur that's going to confuse the heck out of people, judging by how they react to $() in POSIX shells 14:25
14:26 rindolf joined
stmuk .tell tadzik github.com/tadzik/Getopt-Type/pull/1 14:26
yoleaux stmuk: I'll pass your message to tadzik.
14:26 Ven left
MasterDuke BrokenRobot: i would say it definitely should suggest LEVCAPTEST for both lEVCAPTEST and LEVCAPTESt, and arguably for levcaptest (i.e., do a case insensitive comparison) as well 14:27
tadzik stmuk: thanks, merged 14:30
yoleaux 14:26Z <stmuk> tadzik: github.com/tadzik/Getopt-Type/pull/1
stmuk Zoffix++ # actually doing the fix 14:37
14:40 skids left 14:45 khw joined 14:52 araujo joined 14:54 donaldh left
BrokenRobot MasterDuke: personally I wouldn't care about it. I didn't even notice the name/subroutine. As for the comparisons, it's using Levenstein distance to find suggestions, isn't it? It's black magic to me so I don't know if it can be amended to include stuff for this case too 14:56
MasterDuke i'm looking into exactly how it's doing things now 14:58
timotimo i think it's in the beginning of either actions or world .nqp 14:59
MasterDuke but i'd say the current behavior is at least LTA
timotimo we differentiate based on capitalization because classes are usually upper cased, subroutines are usually lower-cased
so if we expect a type in a place, we only look for upper-cased things
but if we're looking for a sub, we look for lower-cased things only
MasterDuke yep, oddly enough, if i copy the levenshtein implementation out to its own file, rakudo segfaults when trying to run it, but nqp is fine
15:00 huggable joined
timotimo nqp code and perl6 code aren't 100% compatible 15:00
segfaulting is a bit too much, though
BrokenRobot huggable: cli rt :is: Use RT via CLI: rt.perl.org/rt-cli.html has the docs on getting it setup. See handy script: github.com/coke/rt-six-help
huggable BrokenRobot, Added cli rt as Use RT via CLI: rt.perl.org/rt-cli.html has the docs on getting it setup. See handy script: github.com/coke/rt-six-help
MasterDuke i see there's different costs for case differences
BrokenRobot huggable: rt cli :is: Use RT via CLI: rt.perl.org/rt-cli.html has the docs on getting it setup. See handy script: github.com/coke/rt-six-help 15:01
huggable BrokenRobot, Added rt cli as Use RT via CLI: rt.perl.org/rt-cli.html has the docs on getting it setup. See handy script: github.com/coke/rt-six-help
timotimo hack.p6c.org/~timo/coverage/ - check it out 15:03
15:04 alnewkir1 joined
BrokenRobot timotimo: what is that? Roast coverage? 15:04
timotimo yup
plus/minus some inaccuracies that make little sense
15:04 freeze joined
BrokenRobot Funny... I was just trying to locate all those Tests Needed tickets to work on them for a bit. 15:05
RT sucks tho. Don't see such an option in the search interface on web
moritz BrokenRobot: are you logged in?
BrokenRobot Yeah
Well, I see no field to add "tickets with this tag" 15:06
timotimo now you have to praise me (pretty please)
BrokenRobot timotimo++ Is that stuff available to do coverage for any Perl 6 module? 15:07
15:07 brrt left
timotimo there's some places where lines that are immediately consecutive aren't the same color 15:07
maybe that gets better when disabling spesh? dunno.
yeah, it's an addition to moar that i'd like to push to master 15:08
BrokenRobot :o
timotimo✚✚ then :D 15:09
15:09 domidumont left, Exodist left, alnewkirk left, freeze_ left
MasterDuke very cool. timotimo++. however, the pages for the individual results seem odd 15:10
15:10 Exodist joined
BrokenRobot [Coke]: a suggestion when making such requests is to include the list of tickets: irclog.perlgeek.de/perl6/2016-07-01#i_12770367 15:11
timotimo odd in what way?
MasterDuke e.g., hack.p6c.org/~timo/coverage/src_cor...erage.html seems to actually be for IO::Pipe
BrokenRobot [Coke]: I've no idea how to locate them and now RT pissed me off enough that I gone off the idea of doing those tickets ~_~
timotimo oh, huh
psch BrokenRobot: filtering for RT tickets with a given tag only works with a custom search
15:12 salv0 left
MasterDuke same with a couple other IO pages i looked at 15:12
psch BrokenRobot: e.g. the jvm-tag is "CF.VM = 'JVM'"
BrokenRobot psch: I've no idea how to use that custom search.
psch ...although we do have VM listed in the left side in the drop downs now it seems
BrokenRobot There are no instructions. Just a blank box
timotimo you can check the line_based_coverage_3 branch in moarvm
in tools/ there's the script that i use to generate the html from the data it generates 15:13
psch BrokenRobot: well, the Query Builder looks intuitive enough to my eyes... you can select criteria on the left side, click "Add these terms" and then the side reloads and the criteria show up on the right side..?
that's under "Tickets" => "New Search"
ah, right, and clicking "Advanced" gets you a textarea to edit the query manually, which is how i added CF.VM 15:14
although, yeah, that shows up in the Query Builder now vOv 15:15
timotimo perl6 ../moarvm/tools/parse_coverage_report.p6 --annotations=core_setting_dump.txt spectest_core_only.txt gen/moar/m-CORE.setting - this is how i invoked my tool
15:15 mr-foobar left
BrokenRobot psch: what shows up in the query builder? 15:15
timotimo you get the core_setting_dump.txt with moar --dump CORE.setting.moarvm
psch BrokenRobot: the VM tag
well, custom field, not tag 15:16
BrokenRobot I think I got it.
And of course, I can't save this search URL because it'll cry about CSFR right? 15:17
timotimo and setting MVM_COVERAGE_LOG=coverage.%d.txt in your environment when running the spec tests will give you a crapton of files that have HIT filename lineno in them
dalek osystem: cb9ce62 | (Wenzel P. P. Peppmeyer)++ | META.list:
add gfldex/perl6-operator-defined-alternation
timotimo you'll want to grep out m-CORE.setting or what it's called; also, running sort and uniq over it helps make the tool run noticably faster
psch BrokenRobot: you can save the query itself under your RT account 15:18
BrokenRobot 18 minutes to find tickets. Retarded
MasterDuke timotimo: cool, i'll take a look
timotimo thank you
i don't know why, but it took me a lot of energy over the last few days to get that splitting functionality in, even though i basically knew how it'd have to be made
also, the code is super sloppy and hacky and could use some refactoring
and in addition, it's not handling non-split files sensibly at the moment :) 15:19
BrokenRobot m: say "௰".Int 15:22
camelia rakudo-moar a557a1: OUTPUT«10␤»
BrokenRobot m: say "௰".Num
camelia rakudo-moar a557a1: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5௰' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
psch m: say "௰e0".Num
camelia rakudo-moar a557a1: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5௰e0' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot m: say "௰" + 10
camelia rakudo-moar a557a1: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5௰' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
psch m: say "0.௰e0".Num
camelia rakudo-moar a557a1: OUTPUT«Cannot convert string to number: radix point must be followed by one or more valid digits in '030.⏏5௰e0' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot That's from rt.perl.org/Ticket/Display.html?id=127866 Seems more work is needed
This was the fix to make it work for Int: github.com/rakudo/rakudo/commit/1c...1797f576b3 15:23
psch that looks almost copy-paste-able, at a glance 15:24
BrokenRobot Or moved to self.Numeric instead of being under .Int? 15:25
psch right, that too
BrokenRobot I'll try to fix it :) 15:26
15:30 matt_ joined, matt_ is now known as Guest55024 15:32 Guest55024 is now known as matt_
dalek c: 892fd8e | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod6:
add dynamic variables to index
15:41
stmuk .tell ugexe I'm seeing Base64 test failures 15:46
yoleaux stmuk: I'll pass your message to ugexe.
ugexe stmuk: yeah, it seems random. but i think its a bug in the recent multi dispatch cache that was brought up the other day 15:47
yoleaux 15:46Z <stmuk> ugexe: I'm seeing Base64 test failures
dalek c: 80aded1 | (Wenzel P. P. Peppmeyer)++ | doc/Language/functions.pod6:
add reference to @*ARGS to MAIN section
ugexe i say random in that when it failed testing on appveyor i restarted the run and it passed
gfldex docs.perl6.org/type/Nil is a 404 15:48
and Nil is not a type
ugexe stmuk: see irclog.perlgeek.de/perl6/2016-07-02#i_12774635 and the comment by jnthn a few lines under that 15:49
stmuk ugexe: ah thanks I missed that 15:50
15:53 masak_grr is now known as masak
dogbert17 o/ #perl6 15:54
m: my $v = Version.new('v1.0'); say $v.gist # should it really look like this?
camelia rakudo-moar a557a1: OUTPUT«vv.1.0␤»
ugexe yes
dogbert17 ugexe: why two v's
15:55 travis-ci joined
travis-ci Doc build failed. Wenzel P. P. Peppmeyer 'add reference to @*ARGS to MAIN section' 15:55
travis-ci.org/perl6/doc/builds/142243981 github.com/perl6/doc/compare/892fd...aded182844
15:55 travis-ci left
ugexe because you passed it a string that started with a v 15:55
m: my $v = Version.new(v1.0); say $v
camelia rakudo-moar a557a1: OUTPUT«v1.0␤»
dogbert17 but aren't you supposed to do that?
ugexe why should a version be allowed to start with a a, b, or c but not a v?
15:56 abraxxa left
ugexe m: my $v = v1.0; say $v.perl 15:57
camelia rakudo-moar a557a1: OUTPUT«v1.0␤»
dogbert17 not sure I understand the question :)
m: my $v = Version.new('v1.0'); say $v.perl
camelia rakudo-moar a557a1: OUTPUT«Version.new('v.1.0')␤»
dogbert17 the docs claim that: Version literals can only contain numeric and Whatever parts. They start with a lower-case v, 15:58
ugexe you aren't passing a literal
you are passing a string
BrokenRobot m: say v1.0
camelia rakudo-moar a557a1: OUTPUT«v1.0␤»
TimToady m: say v6.c
camelia rakudo-moar a557a1: OUTPUT«v6.c␤»
BrokenRobot m: say v1.0 === Version.new: "1.0"
camelia rakudo-moar a557a1: OUTPUT«True␤»
BrokenRobot dogbert17: ^ 15:59
dogbert17 ugexe: aha, the fog is beginning to clear
help here is excellent :-)
BrokenRobot m: say v௰ 16:00
camelia rakudo-moar a557a1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Bogus postfix␤at <tmp>:1␤------> 3say v7⏏5௰␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement modifier␤ statem…»
dogbert17 so if I want to create a version object from a string I should drop the 'v'? 16:01
BrokenRobot m: say Version.new: "௰"
camelia rakudo-moar a557a1: OUTPUT«v␤»
BrokenRobot dogbert17: yeah
gfldex docs.perl6.org/language.html is this to short on the live server?
16:02 zakharyas left
BrokenRobot What do you mean "to short"? 16:02
ugexe usually. but naturally you'll get someone who denotes their versions in only "v"s and complaisn that his version "vvvvv" isnt working right
BrokenRobot gfldex: oh, yeah, it is 16:03
dogbert17 ugexe: thanks for the wisdom
BrokenRobot I wonder if it's that parallel build stuff and one of the threads crapped out
gfldex travis is angry with Pod::To::HTML travis-ci.org/perl6/doc/builds/142243981
ugexe or Version.new("v.iii") # roman numeral
gfldex i have problems with threadings in Pod::To::BigPage as well 16:04
BrokenRobot m: say Version.new: "ᵛ⁶"
camelia rakudo-moar a557a1: OUTPUT«vᵛ␤»
BrokenRobot That's somewhat LTA :) 16:05
m: say Version.new("ᵛ⁶") === Version.new("ᵛ⁷")
camelia rakudo-moar a557a1: OUTPUT«True␤»
16:05 adu joined
gfldex tests for Pod::To::HTML do work locally for me 16:06
ugexe m: say Version.new("x.1") > Version.new("x.0.9") # also remember versions still have some more work to be done 16:07
camelia rakudo-moar a557a1: OUTPUT«True␤»
ugexe oops thats not what i meant
but what i did mean appears to be fixed. cool
timotimo i can have versions snowman and comet of my module? :D 16:09
dogbert17 i was looking into documenting gist, Str etc hence the question. I get easily confused sometimes :)
ugexe m: say Version.new("x")cmp 1; # heh expected a syntax error at first thought
camelia rakudo-moar a557a1: OUTPUT«More␤»
BrokenRobot Last build log for doc: docs.perl6.org/build-log/build-201...0+0000.log 16:10
MasterDuke: I didn't look at your parralelzizidsaikasdkm commit for htmlify.p6, but is it possible it's processing, say Language, docs and stores the processed docs in a shared array or something, so that when the index page is generated, only the docs processed by one/some threads get into the list? 16:12
'cause in the log I see it builkding all of them, but the index has just part of them, 16:13
geekosaur or parallel stuff just throwing fits again per usual 16:14
dalek c: d41f52e | (Wenzel P. P. Peppmeyer)++ | util/update-and-sync:
disable --parallel for now
16:15
16:19 setty1 joined
BrokenRobot Yeah. It did say "writing" for unicode, but the file ain't here: docs.perl6.org/language/unicode_texas 16:20
16:22 finanalyst left
dogbert17 too bad it's not working since the build time was quite fast: Processing complete. real 1m8.183s user 1m14.720s 16:22
16:23 travis-ci joined
travis-ci Doc build failed. Wenzel P. P. Peppmeyer 'disable --parallel for now' 16:23
travis-ci.org/perl6/doc/builds/142250644 github.com/perl6/doc/compare/80ade...1f52ec5680
16:23 travis-ci left
BrokenRobot tehe 16:23
dogbert17 the trailing ws test strikes 16:24
tbrowder (choke) I guess the public doc languages page is broken...any ETA?
BrokenRobot We definitely need a hook. Unbreaking builds all the time will be annoying
tbrowder: that's what the conversation for the past 15 minues has been about :) 16:25
BrokenRobot goes in to fix the spacing tests
MasterDuke BrokenRobot: i don't see anything in what i did to break the index page
gfldex travis and the borked build seam to be unrelated 16:26
ugexe it was broke in the commit before yours 16:27
MasterDuke ugexe: it was broken before my commit?
ugexe oops you aren't talking about that travis build failure 16:28
HEAD~2 on p6doc was the build failure 16:29
16:29 dakkar left
BrokenRobot God damn 16:29
Says it's on line 26 of doc/Language/functions.pod6 16:30
I don't see anything there and I'm trying to run perl -pi -e 's/\s+$//m' doc/Language/functions.pod6 but the diff shows me entire file changed by that
dalek c: 19462fa | (Zoffix Znet)++ | doc/Language/functions.pod6:
Remove trailing whitespace
16:31
16:32 yqt joined
BrokenRobot looks at edit history 16:32
Ah, it was gfldex's whitespace :) 16:33
gfldex :(
i blame vim's gq
gfldex goes to study ':set list' 16:36
16:38 sergot joined
BrokenRobot Hm.. Well, I found a white-space remove pre-commit hook, but I've no idea how to make that part of the repo gist.githubusercontent.com/mxgrn/6...stfile1.sh 16:38
fkit 16:40
16:40 Azry joined
gfldex tbrowder: docs are fixed 16:41
(for now) 16:42
16:42 adu left 16:46 Azry left, Azry joined
BrokenRobot So do we know 100% it was the parallelajfadsedsklwayt stuff? 16:47
I'm just gonna create an issue so we don't forget 16:48
16:48 Azry left 16:50 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Remove trailing whitespace' 16:50
travis-ci.org/perl6/doc/builds/142254117 github.com/perl6/doc/compare/d41f5...462fafd253
16:50 travis-ci left 16:52 Azry joined
BrokenRobot github.com/perl6/doc/issues/664 16:53
16:54 rurban_ joined
dogbert17 ugexe brokenrobot: what do you think about gist.github.com/dogbert17/951106b1...1c4753d3e6 16:54
BrokenRobot So along with 666 modules in the ecosystem powered by Mojolicious v6.66, and having 666 redit users on /r/perl6, we now [almost] reached 666th Issues on the docs :)
dogbert17: what is that plus about? 16:55
ugexe dogbert17: normally you would just use v1.0.1, not Version.new(<literal>). Otherwise you are just passing in a literal version to get a version 16:56
dogbert17 BrokenRobot: "A trailing + indicates that higher versions are OK in comparisons" 16:58
BrokenRobot It's weird that if you go to docs.perl6.org/type/Version and click 'Str' method in 'provided by Mu' You actually get to description of val() subroutine: docs.perl6.org/routine/Str#class_Mu
ugexe m: .WHAT.say for v1.0.1
camelia rakudo-moar a557a1: OUTPUT«(Version)␤»
dogbert17 ugexe: I'll fix that, thx for checking
BrokenRobot: I can drop the plus signs if you want 17:00
17:01 sjoshi joined 17:02 camelia left 17:03 camelia joined
BrokenRobot dogbert17: nah, it's fine. I just didn't know of that feature. 17:04
17:05 camelia left
dalek c: c79e637 | (Jan-Olof Hendig)++ | doc/Type/Version.pod6:
Added docs for methods Str and gist. ugexe++ BrokenRobot++
17:06
17:06 camelia joined 17:07 ChanServ sets mode: +v camelia
dalek albot: 583120d | peschwa++ | evalbot.pl:
Dont do nqp-p and nqp-j on nqp
17:08
17:15 camelia left, camelia joined 17:16 rurban_ left, ChanServ sets mode: +v camelia 17:17 firstdayonthejob joined 17:20 gnull joined
BrokenRobot How can I create a new Str via .new? I'm trying to make a subclass 17:29
m: say Str.new: "foo" 17:30
camelia rakudo-moar a557a1: OUTPUT«Default constructor for 'Str' only takes named arguments␤ in block <unit> at <tmp> line 1␤␤»
ugexe m: say Str.new(value => "xxx")
camelia rakudo-moar a557a1: OUTPUT«xxx␤»
BrokenRobot ugexe++ thanks 17:31
17:31 Util joined
parabolize 「1 X=> |(1, 2)」 is 「1 => 1 => 2」 which is 「1 => (1 => 2)」 not 「1 => 1, 1 => 2」 so 「so all(1 X=> |(1, 2)) (elem) set(1 => 1, 1 => 2)」 is False 17:32
「1 X=> 1, 2」 and 「1 X=> \(1, 2)」 seem to work though 17:33
psch m: say 1 X=> |(1,2)
camelia rakudo-moar a557a1: OUTPUT«(1 => 1 => 2)␤»
psch m: say 1 => |(1,2)
camelia rakudo-moar a557a1: OUTPUT«1 => (1 2)␤»
psch parabolize++
17:36 espadrine joined 17:38 wamba left
nine ugexe: any thoughts about these? github.com/rakudo/rakudo/commit/5b3a09969d github.com/rakudo/rakudo/commit/ac19874266 17:42
17:45 sena_kun joined 17:47 |Sno| left
sena_kun Hi, #perl6. Am I the only one who can't use Test::Builder module? With rakudo of last month it gives me pastie.org/private/dugjixmlif97qcoh86hxw 17:49
BrokenRobot sena_kun: I know what the issue is :)
sena_kun BrokenRobot, a-a-a-and this is? 17:50
nine sena_kun: github.com/perl6-community-modules...er.pm#L159 the * is just wrong
ugexe nine: is the gist of this like CUR.new("inst#non/p6lib/path") which can then be copied to "inst#whatever/site"? 17:51
nine sena_kun: there's no reason to pass it to bless and now it's actively harmful.
BrokenRobot sena_kun: sent a PR: github.com/perl6-community-modules...der/pull/3
I don't have commit perms on perl6-community-modules
sena_kun nine, yes, I was able to detect that. Then should I just delete "(*)"? Aw, okay. Sorry I hadn't look in the PRs section before.
BrokenRobot sena_kun: yeah, positionals were removed from bless to gain 180% speed gain (they weren't used anyway). And they were not specced 17:52
nine ugexe: that's the Staging repo's raison d'être, yes. The other change is for supporting custom repository implementations like perl6 -I'CompUnit::Repository::Github#'
ugexe: having the Staging repo in core when it has such a narrow (despite being important) use case felt so wrong that I finally dug into properly supporting custom repo implementations :) 17:54
BrokenRobot :o
That would let people make the BitTorrent-based repos someone wanted :D
nine yep...including full precompilation capabilities :)
BrokenRobot \o/ nine++ 17:55
17:55 espadrine left
sena_kun Thanks for the answers and quick fix. 17:56
BrokenRobot m: say val("10").WHAT 18:00
camelia rakudo-moar a557a1: OUTPUT«(IntStr)␤»
BrokenRobot m: say "10".Numeric.WHAT
camelia rakudo-moar a557a1: OUTPUT«(Int)␤»
18:00 yqt left
BrokenRobot How is that possible when Str.Numeric calls val()? :S github.com/rakudo/rakudo/blob/nom/...Str.pm#L93 18:00
"that" being, why is it an Int and not an IntStr? 18:01
18:01 ace_1 joined, ace_1 left 18:02 sjoshi left
BrokenRobot m: say val("10", :val-or-fail).WHAT' 18:03
18:03 vendethiel joined
camelia rakudo-moar a557a1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say val("10", :val-or-fail).WHAT7⏏5'␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ state…» 18:03
BrokenRobot m: say val("10", :val-or-fail).WHAT
camelia rakudo-moar a557a1: OUTPUT«(Int)␤»
18:03 sjoshi joined 18:04 buharin joined
BrokenRobot That sub looks might scary 18:04
BrokenRobot pretends it didn't see anything
18:07 domidumont joined
ugexe nine: If I understand then it makes sense, but I don't think you'll want to return IO::Path for `source-file` as I'd expect CUR::Github to treat a remote file like a local file. I suspect `my $WHICH = self.^name ~ '|' ~ $abspath;` may change how CUR::AP/CUR::FS currently load though (probably for the better) 18:08
18:08 MadcapJake left 18:09 MadcapJake joined 18:10 nightfrog left
BrokenRobot m: val("௰", :val-or-fail).say 18:11
camelia rakudo-moar a557a1: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5௰' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot Hm
sena_kun And now it breaks in runtime with "Cannot look up attributes in a type object" without even line number. Eh, what an unkind package.
ugexe i've toyed with similar ideas but using Distribution's .content to access the source
18:12 sjoshi left
buharin hey 18:13
I am looking for PerlGame framework
TimToady we only allow digits in val
௰ is only numeric, not a digit 18:14
nine ugexe: the source-file method is already used that way by CompUnit::RepositoryRegistry::file-for-spec. The implementation in Staging just overrides the one in Locally to pass requests through to the underlying Installation repo if necessary
BrokenRobot TimToady: how come? That's a bit LTA, if I speak whatever language "௰" is an enter that at the terminal prompting me for a number. This started with rt.perl.org/Ticket/Display.html?id=127866 18:15
m: say '௰'.Int
camelia rakudo-moar a557a1: OUTPUT«10␤»
BrokenRobot m: say '௰' + 10
camelia rakudo-moar a557a1: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5௰' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot TimToady: And I went to fix the Numeric, but I see it's using val() and I was wondering if val() should be fixed. If not, should Str.Numeric and Str.Int handle No chars?
.u ௰ 18:16
yoleaux U+0BF0 TAMIL NUMBER TEN [No] (௰)
TimToady I think there's enough potential confusion here that we should make programmers use unival if they really need that capability
BrokenRobot TimToady: fair enough. I'll undo the .Int version then. 18:17
TimToady it becomes a teachable moment for the difference between digits and non-digits, and we like those delayed teachable moments 18:18
DrForr buharin: Well volunteered! :) 18:19
buharin not me ;D
pherphaps I should found Perl job first
BrokenRobot buharin: we have a Game Dev group: github.com/PerlGameDev/ 18:20
buharin oh okay 18:21
:)
18:22 kurahaupo left 18:23 wisti joined 18:27 Azry left
sena_kun I'll prepare a bit of tests and some fixes for Test::Builder then(hunted "look up" error, at least) tomorrow, if nobody is against. 18:27
18:28 abruanese left 18:36 nightfrog joined 18:44 |Sno| joined 18:45 colomon joined 18:47 sena_kun left 18:48 domidumont left 18:51 labster joined
timotimo MasterDuke: did you look at the coverage tool yet? 18:53
MasterDuke timotimo: good/bad timing, i got pulled away until just now, but have to leave again in 5 min. i probably won't get a chance for a couple hours 18:55
timotimo that's fine :) 18:56
18:59 eroux left 19:00 huggable left, huggable joined 19:02 darutoko left 19:08 wamba joined
buharin that what I want to say 19:10
Perl got really strong things
I read about references and it is amazing how can I transform reference to array to scalar etc. 19:11
psch we don't really have references, that's Perl 5 19:12
well, or "everything could be called a reference, but we prefer not to because it's confusing with how Perl 5 uses that term" maybe
buharin ohh I am learning Perl 5 ;D cause I want to get job in it
19:15 yqt joined
BrokenRobot buharin: FWIW, there's #perl channel that specializes in Perl 5 19:16
19:16 domidumont joined
buharin ya I know 19:17
but I like more to stay here
BrokenRobot buharin: how come? 19:18
I mean you can stay here and there at the same time :)
buharin okay :)
DrForr You probably won't learn much perl5 here though. 19:20
dalek c: c8f953e | (Jan-Olof Hendig)++ | doc/Type/Version.pod6:
Added code examples to methods parts and plus
19:22
19:24 mrplastic joined
RabidGravy I think I'm un-learning twenty years of Perl 5 19:29
mrplastic how do i get started with perl 6
timotimo what languages do you have experience with already, mrplastic? 19:30
mrplastic im not a programmer but i'm exploring emacslisp
gfldex mrplastic: see: perl6.org/documentation/
mrplastic i just think itd be a good idea to know 1 or 2 programming languages for personal use 19:31
but i dont know what to do with it, been learning a whole just using emacs for everything
DrForr Good. Check out perl6.org to learn a bit about it. 19:32
19:32 wisti left 19:34 wisti joined, wisti left
timotimo perl6.org/downloads/ - especially this page has a few good links on the right side of the page 19:34
19:35 brrt joined
BrokenRobot huggable: new :is: See "For Newcomers" section on perl6.org/documentation/ 19:37
huggable BrokenRobot, Added new as See "For Newcomers" section on perl6.org/documentation/
19:38 jack_rabbit left 19:39 domidumont left 19:44 wisti joined 19:52 canopus left 19:57 canopus joined
vendethiel hehehe. I am, day after day, "sneaking" Perl 6 on my coworkers' computers by writing nice scripts \o/. Even my pro-Java coworker admitted it was nice to get something done in so little time for experimental/scripting purposes... 19:58
Also $person-who-did-the-dmg++. Since it's not on Homebrew, I was afraid my colleague would give up if he had to use rakudobrew (since it's a bit long.) but the dmg was perfect. 19:59
20:00 kerframil joined 20:02 cbk joined, cbk left 20:03 brrt left, cbk joined 20:04 CIAvash left 20:05 rindolf left
mrplastic i'm doubting perl6 is a good first programming language, but its really interesting 20:05
20:06 ZoffixMobile joined 20:08 jjido joined 20:09 rindolf joined
ZoffixMobile mrplastic, it's a great first language, as you don't get forced into a set paradigm and instead learn how to code first. Don't use types. Start using them when you want to learn about them. Don't use OO, until you want to learn OO. Best of all, you don't have to suffer the pain of Unicode, since in Perl 6 it just works and learning Grammars is definitely easier than trying to master giant regexes. It's just Perl 6 is *big* and it does have advanced feat 20:10
20:11 yqt left
ZoffixMobile mrplastic, also: try learning Javascript. Everybody and their brother is using it. There's this resource that I found insufferable due to it absolute beginner-oriented approach, but maybe it's perfect for you: eloquentjavascript.net/ 20:12
mrplastic, and that lets you then do node server-side, which is basically a Javascript library 20:13
???
Profit! :)
20:14 buharin left 20:16 rurban joined 20:17 adu joined 20:18 itaipu joined
parabolize mrplastic: perl6 has two problems for new programmers: 1. its documentation is a work in progress, 2. it doesn't have any introductory level texts. Both are temporary issues. On the other hand I wouldn't think perl6 would be any harder to learn than elisp. 20:20
timotimo introductory level texts? is that not what perl6intro is? 20:21
i thought the problem was one level after that?
parabolize for a first language? no, I don't think so. 20:22
20:23 adu left
timotimo oh 20:25
well, there'll be books in time 20:32
ZoffixMobile this time next year 20:35
And to the point of lacking stuff: since Perl 6 and its ecosystem are so new, it's very easy to find things to write and contribute to, instead of always being told to "just use a module" :) 20:36
20:37 jjido left 20:38 rurban_ joined
parabolize thats true. Its like scheme once was before it was guiled to death. 20:39
timotimo oh? i didn't know guile did bad things to scheme 20:40
parabolize well, good things if you were actually using it for other things than learning low level language mechanics 20:41
20:46 kaare_ left, jonas2 left 20:48 jjido joined 20:51 wisti left 20:54 tushar joined, rindolf left, ZoffixMobile left 20:55 tushar left, tushar joined 21:01 rindolf joined 21:04 cgfbee left 21:05 jjido left 21:06 donaldh joined 21:11 setty1 left 21:13 kanishka left
dalek osystem: 3096a3d | ugexe++ | META.list:
Add Distribution::Common

  github.com/ugexe/Perl6-Distribution--Common
Installable distributions from common data sources using rakudos new `Distribution` interface
21:15
lizmat is working on the Perl 6 Weekly 21:16
anything happen the last week on #perl6 I should report about ?
21:23 donaldh left
AlexDaniel Zoffix: I'm not there to invalidate anything, but I'll point out if some points are not invalid ;) 21:23
21:24 perturbation joined, donaldh joined 21:25 firstdayonthejob left 21:26 vendethiel left 21:27 donaldh left 21:28 donaldh joined 21:32 firstdayonthejob joined 21:34 firstdayonthejob left 21:35 heatsink joined, rindolf left
Zoffix Don't give a shit. 21:38
21:38 Zoffix left 21:39 freezerburnv joined
freezerburnv With NativeCall, is there a way to say that a CStruct class must have a CArray of length 5 embedded? 21:40
I found the HAS keyword which says something is embedded, but I'm not sure how to use with a CArray to say it has 5 elements 21:41
21:45 vendethiel joined
timotimo we don't have that yet, sorry 21:46
freezerburnv So I just have to do like you've done in the past and just embed 5 of the element? 21:48
So: class Thing is repr('CStruct') { HAS TheStruct $.thing1; HAS TheStruct $.thing2; ... } 21:50
21:53 rudi_s joined, TEttinger joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/07/04/...er-starts/ 21:58
21:59 perturbation left
tbrowder please review S26 PR: github.com/perl6/specs/pull/111 22:01
dalek ecs: fc36bc2 | (Tom Browder)++ | S26-documentation.pod:
clarify use of column separators
ecs: 0080549 | lizmat++ | S26-documentation.pod:
Merge pull request #111 from tbrowder/doc-table-mod

clarify use of column separators
22:06 cognominal left, cog_ left, vendethiel left 22:07 donaldh left, donaldh joined 22:08 freezerburnv left 22:10 donaldh left 22:12 firstdayonthejob joined 22:13 donaldh joined 22:14 itaipu left 22:19 RabidGravy left 22:21 Azry_ joined
parabolize do any of the editors or their plugins automatically remove trailing white space with perl6 files? Removing or blocking them on commit is good but it would be nice to see it happen in the editor. Something like jedi with python or emacs where the extra spaces and tabs disappear when you move to another line or save? 22:24
donaldh parabolize: emacs - (add-hook 'before-save-hook 'delete-trailing-whitespace) 22:27
parabolize yeah, emacs is removing them when I move to a new line 22:28
donaldh oh, sorry I thought you were asking for a solution in emacs. 22:29
parabolize problem there is.. everything else. Is there a good perl6 package for highlighting and such
donaldh Yes there's a perl6-mode 22:30
22:30 canopus left
donaldh parabolize: I use github.com/hinrik/perl6-mode 22:31
Available on MELPA
parabolize \o/
22:31 wisti joined 22:34 Zoffix joined 22:36 canopus joined
Zoffix Does anyone know what perl6 -e "say '/'.IO.mkdir" tries to do on Windows? When I run it in C:\Users\zoffix> it tells me 'True' and if I run it in C:\ it tells me Failed to create directory 'C:\' with mode '0o777': Failed to mkdir: 5 22:36
hum... '/foo'.IO.mkdir run from \Users\zoffix creates C:\foo 22:38
AlexDaniel parabolize: another way to handle it is not to delete trailing whitespace automatically, but to make it visible
parabolize: in fact, 「git diff」 should show it
22:40 bjz left 22:45 parabolize left 22:46 kurahaupo joined 22:47 firstdayonthejob left, Zoffix left 22:50 firstdayonthejob joined, parabolize joined 23:00 huggable left 23:01 grondilu left
gfldex lolibloggedalittle gfldex.wordpress.com/2016/07/05/2-2-3/ 23:02
23:03 bjz joined
gfldex lizmat: am I to late for a late entry on the weekly? 23:05
23:08 bjz_ joined 23:10 donaldh left 23:11 bjz left 23:13 bjz_ left 23:19 firstdayonthejob left 23:21 vike1 is now known as vike 23:23 Zoffix joined, Zoffix left 23:28 rurban left
BrokenRobot gfldex: yup. "<lizmat> good night, #perl6-dev!" that was an hour ago. Just remind her to list it next week. 23:36
23:39 rurban joined, rurban left 23:44 rurban_ left, zacts joined 23:46 Zoffix joined
Zoffix m: try { Supply.interval(1).tap(-> { say 'hi' }); sleep 3; CATCH { default { .message.say } } } 23:46
camelia rakudo-moar 234aa4: OUTPUT«Unhandled exception in code scheduled on thread 4␤Too many positionals passed; expected 0 arguments but got 1␤ in block at <tmp> line 1␤␤»
Zoffix Any way to catch that exception?
23:46 zengargoyle left
gfldex did you try a try around await? 23:47
Zoffix gfldex, not sure what you mean. await where? 23:49
await doesn't work on Taps, does it?
23:49 zengargoyle joined
gfldex i believe to remember that await will collect all exceptions and reemits them. So if you can rewrite your code to have await, you should be able to CATCH. 23:50
Zoffix m: try { await Supply.interval(1).tap(-> { say 'hi' }); sleep 3; CATCH { default { .message.say } } }
camelia rakudo-moar 234aa4: OUTPUT«Must specify a Promise or Channel to await on (got a Tap)␤»
timotimo you have to install an unhandled exception handler on the scheduler, i'd say 23:53
Zoffix k, I'll go another way. spawn another perl6 (there's already a sub for that in roast) 23:54
23:56 cooper left, cooper joined 23:57 MasterDuke left, zacts left, sftf left, harmil left