Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-12-28

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 mort96 hey
00:00 Ulti then the .grep(Even) worked the same as the .grep(Int) it found things which were of type Even which are Ints that also satisfy %% 2
00:00 mort96 I now have perl 6 installed :)
00:00 Ulti and Linux at the same time? :3
00:00 AlexDaniel m: my Int subset Even where * %% 2; my Even $x = 24
00:00 camelia rakudo-moar a7ea8e: ( no output )
00:00 AlexDaniel m: my Int subset Even where * %% 2; my Even $x = 25
00:00 camelia rakudo-moar a7ea8e: OUTPUT«Type check failed in assignment to $x; expected Even but got Int␤  in block <unit> at /tmp/JkT3TjxJm9 line 1␤␤»
00:00 herby_ Ulti, thats pretty dang cool
00:00 mort96 ya, /bin still exists
00:00 AlexDaniel herby_: ↑
00:01 mort96 _both_ perl6 _and_ system binaries
00:01 Ulti m: my Int subset Even where * %% 2; my Even subset SmallEven where * < 25; my SmallEven $x = 25;
00:01 camelia rakudo-moar a7ea8e: OUTPUT«Type check failed in assignment to $x; expected SmallEven but got Int␤  in block <unit> at /tmp/atZ_QnTGu6 line 1␤␤»
00:01 Ulti m: my Int subset Even where * %% 2; my Even subset SmallEven where * < 25; my SmallEven $x = 24;
00:01 camelia rakudo-moar a7ea8e: ( no output )
00:01 Ulti you can see how it could eventually get crazy :S
00:02 herby_ hah yeah
00:02 Ulti herby_ you can use the where keyword in parameter lists too
00:02 Ulti so you can have multi dispatch on a method or function with those sorts of constraints
00:03 Skarsnik m: my Int subset Int where * > 42; my Int $a = 42;
00:03 camelia rakudo-moar a7ea8e: OUTPUT«===SORRY!===␤You cannot create an instance of this type␤»
00:03 Skarsnik m: my Int subset Int where * > 42; my Int $a = 43;
00:03 camelia rakudo-moar a7ea8e: OUTPUT«===SORRY!===␤You cannot create an instance of this type␤»
00:03 Skarsnik m: my Int subset Int where * > 42;
00:03 camelia rakudo-moar a7ea8e: OUTPUT«===SORRY!===␤You cannot create an instance of this type␤»
00:03 Skarsnik m: my Int subset Num where * > 42;
00:03 camelia rakudo-moar a7ea8e: ( no output )
00:03 Skarsnik that... not good x)
00:04 dalek doc: 4f85dec | (Wenzel P. P. Peppmeyer)++ | doc/Language/objects.pod:
00:04 dalek doc: doc Mixins of Roles
00:04 dalek doc: review:
00:04 dalek doc: e1d78ca | (Wenzel P. P. Peppmeyer)++ | doc/Language/objects.pod:
00:04 dalek doc: Merge pull request #276 from gfldex/master
00:04 dalek doc:
00:04 dalek doc: doc Mixins of Roles
00:04 dalek doc: review:
00:05 Ulti m: my Int subset Num where * > 42; Num $x = 43; say $x.^methods;
00:05 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kgXjgpW3pZ␤Two terms in a row␤at /tmp/kgXjgpW3pZ:1␤------> 3my Int subset Num where * > 42; Num7⏏5 $x = 43; say $x.^methods;␤    expecting any of:␤        infix␤        infix stopper␤       …»
00:05 Ulti m: my Int subset Num where * > 42; my Num $x = 43; say $x.^methods;
00:05 camelia rakudo-moar a7ea8e: OUTPUT«(Int Num Rat FatRat abs Bridge chr sqrt base polymod expmod is-prime floor ceiling round lsb msb narrow Range sign sin tan cotan acosech conj atan2 cosec pred asec acotan cosh acos acosec sech unpolar log10 atanh log exp acosh truncate sinh tanh acotanh Re…»
00:06 lucasb creating a subset named Num should die earlier
00:06 Ulti m: my Num $x = 43; say $x.^methods;
00:06 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FOyTnWzWGi␤Cannot assign a literal of type Int (43) to a variable of type Num. You can declare the variable to be of type Real, or try to coerce the value with 43.Num or Num(43), or just write the value as 43…»
00:06 lucasb m: subset Num of Int; say 'hi'
00:06 camelia rakudo-moar a7ea8e: OUTPUT«hi␤»
00:06 lucasb m: subset Num of Int; 1e1
00:06 camelia rakudo-moar a7ea8e: OUTPUT«===SORRY!===␤You cannot create an instance of this type␤»
00:07 Ulti yeah it does fail atleast
00:09 [Coke] I don't think 127050 is a bug, I think it's a DIHWIDT
00:09 yoleaux 27 Dec 2015 22:40Z <nine> [Coke]: yes, I'm quite sure panda will get an uninstall
00:09 Ulti m: my Int subset Prime where *.is-prime; say ^100.grep(Prime);
00:09 camelia rakudo-moar a7ea8e: OUTPUT«Potential difficulties:␤    Precedence of ^ is looser than method call; please parenthesize␤    at /tmp/tIbNh_HFxR:1␤    ------> 3 subset Prime where *.is-prime; say ^1007⏏5.grep(Prime);␤^0␤»
00:09 Ulti m: my Int subset Prime where *.is-prime; say (^100).grep(Prime);
00:09 camelia rakudo-moar a7ea8e: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97)␤»
00:09 Ulti that *always* gets me
00:10 AlexDaniel m: say (^100).grep(*.is-prime);
00:10 camelia rakudo-moar a7ea8e: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97)␤»
00:10 herby_ m: say (^1000).grep(*.is-prime);
00:10 camelia rakudo-moar a7ea8e: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 …»
00:11 Ulti m: say (^1000).hyper.grep(*.is-prime)
00:11 camelia rakudo-moar a7ea8e: OUTPUT«()␤»
00:11 Ulti guess its still only fixed for map
00:12 Ulti m: say (^10)* + 1)
00:12 camelia rakudo-moar a7ea8e: OUTPUT«␤»
00:12 gfldex [Coke]: i'm fine with that not being a bug (i do like fast). But I need to know exactly where mixins break so I can properly document it.
00:12 Ox0dea m: say grep &is-prime, ^100 # herby_
00:12 camelia rakudo-moar a7ea8e: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97)␤»
00:12 Ulti m: say |(^10)* + 1)
00:12 camelia rakudo-moar a7ea8e: OUTPUT«12345678910␤»
00:12 Ulti ahh
00:14 herby_ m: say (^100).grep(*.is-prime).map(* + 1)
00:14 camelia rakudo-moar a7ea8e: OUTPUT«(3 4 6 8 12 14 18 20 24 30 32 38 42 44 48 54 60 62 68 72 74 80 84 90 98)␤»
00:14 herby_ m: say (^100).grep(*.is-prime).map(* + 1).map(* %% 3)
00:14 camelia rakudo-moar a7ea8e: OUTPUT«(True False True False True False True False True True False False True False True True True False False True False False True True False)␤»
00:15 AlexDaniel m: say (^100).grep(*.is-prime).map(*.succ)
00:15 camelia rakudo-moar a7ea8e: OUTPUT«(3 4 6 8 12 14 18 20 24 30 32 38 42 44 48 54 60 62 68 72 74 80 84 90 98)␤»
00:15 herby_ what is that .succ?
00:15 Ox0dea herby_: The successor.
00:15 AlexDaniel m: say (^100).grep(*.is-prime)».succ
00:15 camelia rakudo-moar a7ea8e: OUTPUT«(3 4 6 8 12 14 18 20 24 30 32 38 42 44 48 54 60 62 68 72 74 80 84 90 98)␤»
00:15 herby_ as in, += 1?
00:15 AlexDaniel yes
00:15 herby_ wow
00:15 AlexDaniel pred is - 1
00:15 herby_ ok, thats cool
00:15 AlexDaniel m: say ^100 .grep(*.is-prime)».succ
00:15 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3NlYWC395B␤Missing « or »␤at /tmp/3NlYWC395B:1␤------> 3say ^100 .grep(*.is-prime)».7⏏5succ␤»
00:15 AlexDaniel ouch
00:16 gfldex herby_: it's not just += 1 see
00:17 herby_ thats pretty neat, you can apply it to dates and filenames etc
00:17 Ox0dea m: say "z".succ # herby_
00:17 camelia rakudo-moar a7ea8e: OUTPUT«aa␤»
00:17 gfldex m: 'img001.png'.succ.say
00:17 camelia rakudo-moar a7ea8e: OUTPUT«img002.png␤»
00:17 Ox0dea That's neat.
00:17 herby_ m: DATE
00:17 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/iDoekKm5co␤Undeclared name:␤    DATE used at line 1. Did you mean 'Date'?␤␤»
00:17 herby_ bleh
00:18 herby_ can camelia tell me the current date?
00:18 Skarsnik m: say
00:18 camelia rakudo-moar a7ea8e: OUTPUT«2015-12-28␤»
00:18 herby_ m: say
00:18 camelia rakudo-moar a7ea8e: OUTPUT«2015-12-29␤»
00:18 Ulti m: say DateTime(now)
00:18 camelia rakudo-moar a7ea8e: OUTPUT«2015-12-28T00:18:38.125984Z␤»
00:18 Ulti need moar accuracy
00:18 AlexDaniel m: say now
00:18 camelia rakudo-moar a7ea8e: OUTPUT«Instant:1451261963.683468␤»
00:18 herby_ m: say now.succ
00:18 camelia rakudo-moar a7ea8e: OUTPUT«Instant:1451261971.057185␤»
00:18 Ox0dea m: say now.Date
00:18 camelia rakudo-moar a7ea8e: OUTPUT«2015-12-28␤»
00:19 herby_ m: say now.Date.succ
00:19 camelia rakudo-moar a7ea8e: OUTPUT«2015-12-29␤»
00:19 herby_ pretty neat stuff
00:19 herby_ m: say now.Date.succ.succ.succ
00:19 camelia rakudo-moar a7ea8e: OUTPUT«2015-12-31␤»
00:19 herby_ m: say now.Date.succ.pred
00:19 camelia rakudo-moar a7ea8e: OUTPUT«2015-12-28␤»
00:19 pneuma joined #perl6
00:19 herby_ where is camelia located?
00:20 herby_ where its the 28th already
00:20 Ulti m: say
00:20 camelia rakudo-moar a7ea8e: OUTPUT«1␤»
00:20 Skarsnik 1?
00:20 Ulti I was going to say that's wrong then I looked at the time :)
00:20 Skarsnik Oh yeah it's Monday
00:20 gfldex m: say;
00:20 camelia rakudo-moar a7ea8e: OUTPUT«2015-12-28T01:20:46.857133+01:00␤»
00:20 herby_ say now.Date.month
00:20 AlexDaniel herby_: UTC is 28 actually
00:20 herby_ m: say now.Date.month
00:20 camelia rakudo-moar a7ea8e: OUTPUT«12␤»
00:21 herby_ m: say now.Date.month.succ
00:21 camelia rakudo-moar a7ea8e: OUTPUT«13␤»
00:21 gfldex +01:00 is central EU
00:21 herby_ gotcha
00:21 herby_ m: say
00:21 camelia rakudo-moar a7ea8e: OUTPUT«2016-01-02␤»
00:21 herby_ m: say
00:21 camelia rakudo-moar a7ea8e: OUTPUT«12␤»
00:21 herby_ m: say
00:21 camelia rakudo-moar a7ea8e: OUTPUT«13␤»
00:22 herby_ m: say
00:23 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A9nAC0o5WZ␤Undeclared name:␤    DATEISH used at line 1. Did you mean 'Dateish'?␤␤»
00:23 gfldex m: say "I'm close to"
00:23 camelia rakudo-moar a7ea8e: OUTPUT«I'm close to␤»
00:23 herby_ m: DATEISH.year
00:23 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/d4UKn2TzKo␤Undeclared name:␤    DATEISH used at line 1. Did you mean 'Dateish'?␤␤»
00:23 ShimmerFairy herby_: camelia's most likely running on UTC, it became Monday about 20min ago
00:23 Ox0dea Who operates camelia?
00:24 herby_ ShimmerFairy, thanks
00:24 gfldex #perl6 camelia   H+  0
00:24 gfldex .seen niner
00:24 yoleaux I haven't seen niner around.
00:24 Ox0dea Hmm.
00:25 herby_ m: is-leap-year(2016)
00:25 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5H5vUQrhU2␤Undeclared routine:␤    is-leap-year used at line 1␤␤»
00:25 herby_ what am I missing there. to check is a year is a leap year
00:25 ShimmerFairy m: say Date.^methods
00:25 camelia rakudo-moar a7ea8e: OUTPUT«(BUILD new-from-daycount today truncated-to later clone succ pred daycount day-of-month IO day-of-week days-in-month earlier week week-number is-leap-year week-year weekday-of-month yyyy-mm-dd day-of-year new WHICH Str perl ACCEPTS gist <anon> <anon> <anon…»
00:25 Skarsnik m: say;
00:25 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:26 Skarsnik Just read the error message x)
00:26 herby_ m: say
00:26 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:26 herby_ lol
00:26 herby_ I'm a dummy
00:26 AlexDaniel m. say
00:26 gfldex m: say
00:26 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:26 AlexDaniel m: say
00:26 camelia rakudo-moar a7ea8e: OUTPUT«False␤»
00:26 AlexDaniel m: say
00:26 camelia rakudo-moar a7ea8e: OUTPUT«False␤»
00:26 herby_ the docs have DATEISH in caps, does that matter at all?
00:26 gfldex m: say => 2016).is-leap-year
00:26 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:26 Skarsnik Error in the docs then
00:26 AlexDaniel m: say now.Date.succ
00:26 camelia rakudo-moar a7ea8e: OUTPUT«2015-12-29␤»
00:27 AlexDaniel m: say
00:27 camelia rakudo-moar a7ea8e: OUTPUT«False␤»
00:27 llfourn joined #perl6
00:27 AlexDaniel I don't get it
00:27 Skarsnik succ inc on day
00:27 AlexDaniel aaa
00:27 AlexDaniel dammit, looking at the wrong number
00:28 herby_ m: say
00:28 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:28 herby_ :)
00:28 AlexDaniel m: say now.Date.later(:1year).is-leap-year
00:28 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:28 AlexDaniel m: say now.Date.later(:10days).is-leap-year
00:28 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:28 Ox0dea m: 1.+(1)
00:28 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/r80bvQTxpK␤Cannot use .+ on a non-identifier method call␤at /tmp/r80bvQTxpK:1␤------> 1.+(1)7⏏5<EOL>␤»
00:28 AlexDaniel m: say
00:28 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:28 Ox0dea Why not?
00:28 dalek doc: 77546e0 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Dateish.pod:
00:28 dalek doc: s/DATEISH/Dateish/g
00:28 dalek doc: review:
00:28 dalek doc: 04a80a2 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Dateish.pod:
00:28 dalek doc: Merge pull request #277 from gfldex/master
00:28 dalek doc:
00:28 dalek doc: s/DATEISH/Dateish/g
00:28 dalek doc: review:
00:29 herby_ say
00:29 herby_ m: say
00:29 camelia rakudo-moar a7ea8e: OUTPUT«2016-01-02␤»
00:29 herby_ yeah, thats pretty dang handy to have all that
00:30 ShimmerFairy herby_: that syntax is short for :days(5), which itself exists so s:2nd/a/b/ could work nice :)
00:30 ShimmerFairy (er, s/itself//, not sure what that's doing there :P)
00:30 herby_ ShimmerFairy, could you give an example?  Not sure what you mean
00:31 ShimmerFairy m: say "foo" ~~ S:1st/o/a/
00:31 camelia rakudo-moar a7ea8e: OUTPUT«Potential difficulties:␤    Smartmatch with S/// can never succeed because the subsequent string match will fail␤    at /tmp/YasAtdeVwq:1␤    ------> 3say "foo" ~~ 7⏏5S:1st/o/a/␤False␤»
00:31 ShimmerFairy m: say "foo" ~~ s:1st/o/a/
00:31 camelia rakudo-moar a7ea8e: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/xj2MgEhWmA line 1␤␤»
00:31 Ox0dea Jeeze.
00:31 ShimmerFairy m: my $a ="foo"; $a ~~ s:1st/o/a/; say $a
00:31 camelia rakudo-moar a7ea8e: OUTPUT«fao␤»
00:31 gfldex S02: "For identifiers that take a non-negative integer argument, it is allowed to abbreviate, for example, :sweet(16) to :16sweet. (This is distinguishable from the :16<deadbeef> form, which never has an alphabetic character following the number.) Only literal non-negative integers numbers may be swapped this way. Please note that this abbreviation allows:"
00:31 herby_ wow ok, i see now
00:31 Ox0dea herby_: It's just ` + 5` in Ruby, mind. :P
00:32 Ox0dea (But ignore me.)
00:32 herby_ no, I'm all about these little tidbits
00:32 ShimmerFairy m: my $a ="foo"; $a ~~ s:2st/o/a/; say $a  # and yes, we don't really check that the number matches the ordinal suffix :P
00:32 camelia rakudo-moar a7ea8e: OUTPUT«foa␤»
00:32 AlexDaniel Ox0dea: what about months?
00:32 Ox0dea AlexDaniel: Hm?
00:32 AlexDaniel Ox0dea: in ruby I mean
00:32 herby_ ShimmerFairy, thats pretty handy
00:32 ShimmerFairy herby_: sure, I just wanted to pre-emptively answer a "what even is this?" question :)
00:33 Ox0dea AlexDaniel: Still not clear what you're asking?
00:33 Ox0dea You can say `` to fast-forward half a year.
00:33 AlexDaniel ah ok
00:34 herby_ m: my $a = "foo"; $a ~~ s:2st/o/bar/; say $a;
00:34 Ox0dea Weird.
00:34 herby_ come baaaack
00:34 Ox0dea nine: Y U DO DIS?
00:34 lucasb oops, I was evaluating something... have I killed her?
00:34 ShimmerFairy herby_: unless I'm horribly mistaken, we have all the suffixes for english ordinals for regexes there (so, :st, :nd, :rd, :th), but the "general" form is :nth, which can be clearer in cases like :nth($x) or whatever :)
00:35 ShimmerFairy lucasb: did you try to invoke nqp-p by accident?
00:35 lucasb just 'nqp' :)
00:35 lucasb is that trouble? /o\
00:35 Ox0dea ShimmerFairy: Is it "zeroth" or "zeroeth"?
00:35 camelia joined #perl6
00:35 herby_ m: my $a = "foo"; $a ~~ s:2st/o/bar/; say $a;
00:35 ShimmerFairy lucasb: yep, that calls nqp-p along with -j and -m. Then dies :P
00:35 lucasb ah, good :)
00:35 Ox0dea m: say "I'm alive!"
00:35 herby_ she isn't happy about being booted
00:36 ShimmerFairy Ox0dea: I can't recall, it's been a while since I touched on my Lingua::En::Numbers::Ordinal thing
00:36 ShimmerFairy (but I did look it up when I made that module)
00:36 lucasb ShimmerFairy: thanks for the tip. I thought 'nqp' was alias for just 'nqp-m' :)
00:36 camelia rakudo-moar a7ea8e: OUTPUT«fobar␤»
00:36 camelia rakudo-moar a7ea8e: OUTPUT«I'm alive!␤»
00:36 Ox0dea She lives!
00:37 ShimmerFairy lucasb: yeah, it's weird it hasn't been disabled yet
00:37 ShimmerFairy "it" being "nqp parrot" :P
00:37 herby_ m: my $a = "foobar"; $a ~~ s:2nd/o/hello/; say $a;
00:37 camelia rakudo-moar a7ea8e: OUTPUT«fohellobar␤»
00:38 herby_ alright, i'm out.  thanks for the tips and tricks!
00:38 lucasb nqp-m: oh-hai-there; say('alive')  # I was testing this
00:38 camelia nqp-moarvm: OUTPUT«alive␤»
00:38 lucasb ShimmerFairy: do you know if random identifiers are ok in nqp?
00:38 ShimmerFairy lucasb: I don't know, I should hope not.
00:39 ShimmerFairy nqp-m: xyzzy; say('a hollow voice says "fool"')
00:39 camelia nqp-moarvm: OUTPUT«a hollow voice says "fool"␤»
00:39 ShimmerFairy nqp-m: say('first statement'); second-stmt
00:39 camelia nqp-moarvm: OUTPUT«first statement␤»
00:41 ShimmerFairy Ox0dea: to answer your question, turns out "zeroth", at least when I had to look it up 5 years or so ago :)
00:42 Ox0dea ShimmerFairy: That does look to be the standard variant.
00:42 [Coke] if you find yourself sending a dozen things to camelia in a row that only differ by one character, maybe consider moving to private sends. :|
00:43 ShimmerFairy Wow, my code is really old if I didn't even think to use quoteword lists :P​ua--EN--Numbers--Ordinal/blob/master​/lib/Lingua/EN/Numbers/Ordinal.pm6
00:45 [Coke] flussence: is #73 only impacting people with a previous install?
00:46 Ox0dea m: say 407393097212044202194189902458055881362665965714​8635604951730592.base(16).trans("0..9A..E"=>"pwn givestomach")
00:46 camelia rakudo-moar a7ea8e: OUTPUT«the voices want me to stop wanting the voices to stop␤»
00:46 mscha joined #perl6
00:47 mscha p6: say τ
00:47 camelia rakudo-moar a7ea8e: OUTPUT«6.28318530717959␤»
00:47 mscha say τ == 2×π
00:47 mscha p6: say τ == 2×π
00:47 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:47 Ox0dea That's nifty.
00:47 mort96 hey, I have a question
00:47 Skarsnik p6: say τ.Rat == 2×π.Rat
00:47 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
00:48 AlexDaniel mort96: what's your question? :)
00:48 mscha p6: say τ.Rat;
00:48 camelia rakudo-moar a7ea8e: OUTPUT«6.283186␤»
00:48 mort96 with regexes, by default, whitespace isn't significant. However, a warning is emitted telling you to either remove spaces, or make whitespace significant.
00:48 mscha say τ.Rat.perl;
00:48 mort96 Why not just make whitespace significant in the first place?
00:48 mscha p6: say τ.Rat.perl;
00:48 camelia rakudo-moar a7ea8e: OUTPUT«<710/113>␤»
00:48 AlexDaniel mort96: well, in Perl 5 it turned out to be a bad idea
00:49 flussence [Coke]: nope, in my case it was the opposite: 2015.12 only builds when there's *already* an installed rakudo, because it reads existing stuff from that (which is wrong) instead of trying to mkdir there
00:49 mort96 so it's a backwards compatibility thing in perl 6?
00:49 mscha say π - π.Rat;
00:49 mscha p6: say π - π.Rat;
00:49 camelia rakudo-moar a7ea8e: OUTPUT«-2.66764189404967e-07␤»
00:49 mort96 I don't think 6 is backwards compatible anyways, is it?
00:49 AlexDaniel mort96: yes, kinda. So that people coming from Perl 5 will see it immediately. That's what I think
00:50 AlexDaniel m: say ‘hello’ . ‘world’
00:50 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/X4fK2cZ6qf␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/X4fK2cZ6qf:1␤------> 3say ‘hello’ .7⏏5 ‘world’␤»
00:50 AlexDaniel mort96: ↑ like this, that's also what Perl 5 programmers might do eventually :)
00:50 mort96 makes sense
00:52 AlexDaniel m: say ‘hello world’ ~~ /o w/
00:52 camelia rakudo-moar a7ea8e: OUTPUT«Potential difficulties:␤    Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing)␤    at /tmp/YENPnucWPQ:1␤    ------> 3say ‘hello world’ ~~ /o…»
00:52 mort96 kind of weird of to advertise the whitespace insignificance of regexes then, but idk if that's affiliated with perl 6 in any way or just community things
00:52 gamo joined #perl6
00:52 pierrot_ joined #perl6
00:53 gamo What is the feature hyper/vectorize »op« ?
00:53 AlexDaniel m: say (1,2,3) »+« (10,20,30)
00:53 camelia rakudo-moar a7ea8e: OUTPUT«(11 22 33)␤»
00:54 AlexDaniel gamo: ↑
00:54 AlexDaniel mort96: well, it is not going to throw a warning everywhere else
00:54 AlexDaniel mort96: that being said, I still wonder how is it possible to hide it without making a mess
00:54 mort96 what do you mean with "everywhere else"?
00:55 * timotimo starts madly chopping pages from the perl6 tpf wiki
00:55 AlexDaniel mort96: oh
00:55 gamo ok, does it makes something paralellizable?
00:55 AlexDaniel m: 'say ‘hello world’ ~~ / ‘o’ ‘w’ /
00:55 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kUNEAfUmaC␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/kUNEAfUmaC:1␤------> 3'say ‘hello world’ ~~ / ‘o’ ‘w’ /7⏏5<EOL>␤    expecting any of:␤       …»
00:55 AlexDaniel m: say ‘hello world’ ~~ / ‘o’ ‘w’ /
00:55 camelia rakudo-moar a7ea8e: OUTPUT«Nil␤»
00:55 AlexDaniel mort96: ↑ no warning
00:55 AlexDaniel mort96: I've never seen this warning for example in grammars
00:56 timotimo stmuk: the ssh certificate on expired 51 days ago :(
00:56 AlexDaniel gamo: well, yes, although that's not what the current implementation will do, I think
00:56 gfldex gamo: not right now, but it will be in the future. Be careful with side effects.
00:56 mscha p6: say "hello world" ~~ / 'o w' /
00:56 camelia rakudo-moar a7ea8e: OUTPUT«「o w」␤»
00:56 AlexDaniel gamo: but you should expect that it will be parallelized one day, yes
00:56 Ox0dea timotimo: Good. That's a terrible name.
00:56 mort96 I'd still probably point out that it's generally considered a bad idea to have insignificant whitespace and it thus emits a warning in the perl6intro page
00:57 AlexDaniel mort96: considered a bad idea by who?
00:57 Skarsnik isignifiant whitespace are good for readability
00:57 gamo thank you, all, specially Alex and gfldex
00:57 mort96 by whomever made perl 6 emit that warning when you have a regex with insignificant whitespace?
00:58 mort96 you yourself said it emits the warning because it was generally considered a bad idea in perl 5
00:58 mscha p6: say "hello   world" ~~ m:s/o w/
00:58 camelia rakudo-moar a7ea8e: OUTPUT«「o   w」␤»
00:59 ShimmerFairy mort96: for what it's worth, I've never managed to trigger the warning (though it probably helps I don't know what the conditions are for doing so :P)
00:59 [Coke] m: "JEEBUS IT'S LOUD IN HERE".say
00:59 camelia rakudo-moar a7ea8e: OUTPUT«JEEBUS IT'S LOUD IN HERE␤»
00:59 AlexDaniel mort96: I meant that significant whitespace was probably a bad idea
00:59 AlexDaniel mort96: because people ended up writing unreadable regexes
00:59 AlexDaniel mort96: sorry for the confusion
01:00 mort96 "hey" ~~ /n o/ triggers it
01:00 AlexDaniel m: “hey” ~~ /n o/
01:00 camelia rakudo-moar a7ea8e: OUTPUT«Potential difficulties:␤    Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing)␤    at /tmp/E7LL3uLm61:1␤    ------> 3“hey” ~~ /n7⏏5 o/␤»
01:00 AlexDaniel m: “hey” ~~ /‘n’ ‘o’/
01:00 camelia rakudo-moar a7ea8e: ( no output )
01:00 AlexDaniel m: “hey” ~~ /‘n o’/
01:00 camelia rakudo-moar a7ea8e: ( no output )
01:00 AlexDaniel that is, just be explicit
01:00 Skarsnik The warning is annoying, I agree x)
01:01 mort96 so /'n' 'o'/ will match "no", while /'n o'/ will match "n o"? That kinda makes sense, had no idea about ''
01:01 Ox0dea What's the idiomatic approach to creating method aliases?
01:02 Skarsnik method aliases?
01:02 AlexDaniel mort96: yes
01:03 AlexDaniel m: say so “oh no” ~~ /‘n’ ‘o’/
01:03 camelia rakudo-moar a7ea8e: OUTPUT«True␤»
01:03 AlexDaniel m: say so “oh no” ~~ /‘n o’/
01:03 camelia rakudo-moar a7ea8e: OUTPUT«False␤»
01:03 mort96 then it seems like a great solution really, just a slightly confusing error message
01:03 Skarsnik m: “hey” ~~ r/n o/
01:03 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SY5WtPiTNn␤Missing required term after infix␤at /tmp/SY5WtPiTNn:1␤------> 3“hey” ~~ r/n o/7⏏5<EOL>␤    expecting any of:␤        prefix␤        term␤»
01:03 timotimo Ox0dea: i think pl6anet is a cool name
01:03 AlexDaniel timotimo: I agree. Very recognizable
01:04 timotimo anyway, you're unlikely to see or type that name anyway. plop the feed into your reader and you're fine for the rest of your life
01:04 pierre-vigier joined #perl6
01:07 [particle] joined #perl6
01:09 BenGoldberg joined #perl6
01:10 timotimo [Coke]: it seems an extension in my mail client has gone a bit haywire and i sent a mail to casey with a From: of your mail address and name ... maybe expect confusion in your inbox
01:10 mort96 oh, I love the `my regex {regex}` thing
01:11 timotimo - do we want to keep this?
01:11 [Coke] timotimo: I saw that one, it was weird.
01:12 [Coke] timotimo: kill it.
01:13 AlexDaniel “I will never be able to type Unicode operators!” – haha…
01:14 yeahnoob joined #perl6
01:14 Skarsnik night #perl6
01:14 vendethiel 'night :)
01:18 timotimo does somebody, anybody, want to put a little bit of text or example about "put" onto the faq entry about print vs say?
01:20 mort96 what's the difference?
01:22 mort96 according to the docs, the difference seems to be that put uses the .Str method to stringify, while say uses the .gist method
01:23 timotimo aye
01:23 timotimo but put puts a newline, too
01:23 timotimo so put is a mix between print and say
01:23 mort96 the docs also seem to recommend to use put to generate machine readable output, and say to generate human readable
01:23 timotimo either this is very exhausting, or i'm just very exhausted
01:24 timotimo yeah, that's the difference between .gist and .Str
01:24 timotimo m: say (^10000)
01:24 camelia rakudo-moar a7ea8e: OUTPUT«^10000␤»
01:24 timotimo m: say (^10000).list.gist
01:24 camelia rakudo-moar a7ea8e: OUTPUT«(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 8…»
01:24 timotimo bad example
01:24 timotimo m: say (1 xx *).list.gist
01:24 camelia rakudo-moar a7ea8e: OUTPUT«(...)␤»
01:24 timotimo grmbl.
01:24 timotimo anyway, the .gist of a long list will terminate at some point and print "..." there
01:24 timotimo that's not how you put a list over the wire for a computer program to read :P
01:27 snarkyboojum joined #perl6
01:27 llfourn joined #perl6
01:28 mort96 # What's the difference between put and say? \n The routine `say` is designed for humans to read, and will make certain transformations to make the output more readable. It will for example truncate long lists, or round numbers with a lot of decimals. `put`, on the other hand, is designed for machine readable output, and will not make transformations to make
01:28 mort96 the text more readable.
01:28 mort96 ^ little bit of text
01:28 mort96 no clue how to put anything on any FAQ, and probably wouldn't have permission either unless you can pull request some repo somewhere
01:29 timotimo​perl6/index.cgi?perl_6_people  -  we don't have an equivalent of this page, do we?
01:29 timotimo you can pull request the repo. i think it says so at the far bottom
01:29 timotimo with a link to said repo
01:29 Ben_Goldberg joined #perl6
01:31 llfourn mort96: fork this and pull :)
01:31 mort96 ya, am there now, in the faq file
01:32 llfourn mort96: Cool. Thanks!
01:32 ugexe jdv79: so as far as i can tell, meta-spec 2 does not support alternative prereqs like `[ "JSON::Pretty", "JSON::Fast" ]`
01:32 mort96 what section would it make sense to put it in?
01:32 timotimo um, is that repo really where we generate the faq from?
01:32 mort96 " Generated on 2015-12-28T00:08:12.169418Z from Language/faq.pod from perl6/doc on GitHub. This is a work in progress to document Perl 6, and known to be incomplete. Your contribution is appreciated. "
01:32 timotimo​w_and_why_do_say_and_print_differ%3F - i meant for this to be edited
01:32 mort96 from the footer
01:33 timotimo ah, very good
01:35 thomax_ joined #perl6
01:35 BenGoldberg_ joined #perl6
01:35 * timotimo heads to bed
01:35 timotimo super tired
01:35 llfourn o/ gnight
01:36 sumdumgoi joined #perl6
01:36 rjbs joined #perl6
01:45 xinming_ joined #perl6
01:49 mort96 k,​ompare/master...mortie:patch-1
01:50 mort96 or rather,
01:50 dalek ecosystem: ac4720c | (Andy Weidenbaum)++ | META.list:
01:50 dalek ecosystem: add TXN
01:50 dalek ecosystem: review:​cosystem/commit/ac4720c44a
01:50 dalek ecosystem: 2f5a844 | (Zoffix Znet)++ | META.list:
01:50 dalek ecosystem: Merge pull request #104 from atweiden/mktxn
01:50 dalek ecosystem:
01:50 dalek ecosystem: add TXN
01:50 dalek ecosystem: review:​cosystem/commit/2f5a844857
01:51 Zoffix URL for above:
01:52 dalek doc: 0eaa15c | (Martin Dørum Nygaard)++ | doc/Language/faq.pod:
01:52 dalek doc: Some more documentation about put
01:52 dalek doc:
01:52 dalek doc: timotimo in IRC wanted some more text about put in the FAQ. Thoughts?
01:52 dalek doc: review:
01:52 dalek doc: fc1214e | (Zoffix Znet)++ | doc/Language/faq.pod:
01:52 dalek doc: Merge pull request #278 from mortie/patch-1
01:52 dalek doc:
01:52 dalek doc: Some more documentation about put
01:52 dalek doc: review:
01:53 dalek doc: ae85596 | (Zoffix Znet)++ | doc/Language/faq.pod:
01:53 dalek doc: Fix typo
01:53 dalek doc: review:
01:53 dalek doc: 9bfe56b | (Zoffix Znet)++ | doc/Language/faq.pod:
01:53 dalek doc: Merge pull request #279 from zoffixznet/patch-2
01:53 dalek doc:
01:53 dalek doc: Fix typo
01:53 dalek doc: review:
01:54 Zoffix stupid github, why are you creating a fork during on-page edits when I have commit perms?
01:55 sdsgdfh joined #perl6
01:57 pierrot joined #perl6
01:57 b4284 joined #perl6
01:58 Zoffix m: (^10000).list.gist.comb(/\d+/).elems.say
01:58 camelia rakudo-moar a7ea8e: OUTPUT«100␤»
02:02 AlexDaniel Zoffix: yeah, gist is used by say. That is, it is meant for human-readable output
02:02 AlexDaniel m: (^10000).list.Str.comb(/\d+/).elems.say
02:02 camelia rakudo-moar a7ea8e: OUTPUT«10000␤»
02:03 AlexDaniel m: (~(^10000).list).comb(/\d+/).elems.say
02:03 camelia rakudo-moar a7ea8e: OUTPUT«10000␤»
02:03 Zoffix Yeah, I was just pointing the point where it stops in response to "will terminate at some point" above :)
02:03 b4284 hello
02:03 Zoffix hai
02:04 b4284 congrats on the release, i'm looking at the intro right now
02:04 vendethiel joined #perl6
02:04 Zoffix Thanks.
02:05 AlexDaniel Zoffix: ah well, backlog is getting a bit fat. Sorry
02:05 Zoffix Fat backlogs are a good thing \o/
02:06 b4284 very interesting sytax, making subroutines with `sub' allows it to be called without parenthesis
02:06 b4284 time10 time10 10, this would be times10 $ times10 10 in haskell
02:07 AlexDaniel mort96: good job! 「put」 is actually a fairly new addition, IIRC
02:07 AlexDaniel mort96: so no wonder it was not documented. Thanks
02:08 mort96 No problem, glad I could help
02:08 Zoffix b4284, heh, that stuff isn't even knew. Perl 5 can do the same as well :)
02:09 b4284 ah
02:09 konobi how goes the post-launch?
02:09 Zoffix m: sub term:<(⌒▽⌒)☆> { say "But this is!" };    (⌒▽⌒)☆; (⌒▽⌒)☆; (⌒▽⌒)☆;
02:09 camelia rakudo-moar a7ea8e: OUTPUT«But this is!␤But this is!␤But this is!␤»
02:10 Zoffix konobi, alright I guess, if we don't count one person running rakudobrew as root and nuking their /bin :P
02:10 Zoffix Or that trolls on Raspberry Pi site think Perl's logo is an onion
02:10 b4284 i'm surprised to see that perl6 uses rational numbers by default
02:11 b4284 what goes floating numbers now ?
02:11 b4284 where, not what
02:11 mort96 Zoffix: don't worry, that person is up and running with a fresh install of arch again ;)
02:11 AlexDaniel m: say 20e0.WHAT
02:12 camelia rakudo-moar a7ea8e: OUTPUT«(Num)␤»
02:12 Zoffix m: say π.WHAT
02:12 camelia rakudo-moar a7ea8e: OUTPUT«(Num)␤»
02:12 Zoffix mort96, good :)
02:12 AlexDaniel m: say 20.WHAT
02:12 camelia rakudo-moar a7ea8e: OUTPUT«(Int)␤»
02:12 AlexDaniel m: say 20.5.WHAT
02:12 camelia rakudo-moar a7ea8e: OUTPUT«(Rat)␤»
02:12 Zoffix m: say 0/0.WHAT
02:12 camelia rakudo-moar a7ea8e: OUTPUT«Parameter 'de' requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/twtb_wu9m1 line 1␤␤»
02:12 AlexDaniel m: say 20.5e0.WHAT
02:12 camelia rakudo-moar a7ea8e: OUTPUT«(Num)␤»
02:12 Zoffix ^_^
02:12 llfourn (Num means floating point number)
02:12 AlexDaniel Zoffix: wtf is this
02:12 Zoffix What... de? what?
02:12 Zoffix Was that mine?
02:12 Zoffix m: say 0/0.WHAT
02:12 camelia rakudo-moar a7ea8e: OUTPUT«Parameter 'de' requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/Bf6yZrFqvS line 1␤␤»
02:12 Zoffix m: say 0/0 .WHAT
02:12 camelia rakudo-moar a7ea8e: OUTPUT«===SORRY!===␤Method call must either supply a name or have a child node that evaluates to the name␤»
02:13 Zoffix :o
02:13 AlexDaniel Zoffix: what the
02:13 Zoffix heh
02:13 llfourn m: (0/0).WHAT
02:13 camelia rakudo-moar a7ea8e: ( no output )
02:13 Zoffix m: say 0+0 .WHAT
02:13 AlexDaniel m: 0 / (0.WHAT)
02:13 camelia rakudo-moar a7ea8e: OUTPUT«===SORRY!===␤Method call must either supply a name or have a child node that evaluates to the name␤»
02:13 camelia rakudo-moar a7ea8e: OUTPUT«WARNINGS for /tmp/dU5rtnOlkd:␤Useless use of "/" in expression "0 / (0.WHAT)" in sink context (line 1)␤Parameter 'de' requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/dU5rtnOlkd line 1…»
02:13 Zoffix m: say 0+0.WHAT
02:13 camelia rakudo-moar a7ea8e: OUTPUT«Invocant requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/r7mnzkrRHJ line 1␤␤»
02:13 AlexDaniel m: say 0 / (0.WHAT)
02:13 camelia rakudo-moar a7ea8e: OUTPUT«Parameter 'de' requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/nmOCbN_dpl line 1␤␤»
02:13 AlexDaniel m: say 0 / (.WHAT)
02:13 camelia rakudo-moar a7ea8e: OUTPUT«Use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/ULCcOm42yE line 1␤Attempt to divide by zero using div␤  in block <unit> at /tmp/ULCcOm42yE line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/ULCcOm42yE line 1…»
02:13 rjbs joined #perl6
02:13 Zoffix m: my $x = 0/0; say $x.WHAT
02:13 camelia rakudo-moar a7ea8e: OUTPUT«(Rat)␤»
02:13 AlexDaniel Zoffix: what an interesting finding… consider submitting a bug report
02:14 Zoffix I will
02:14 konobi hey rjbs
02:14 Zoffix m: my $x = 0/0; say $x.denominator
02:14 camelia rakudo-moar a7ea8e: OUTPUT«0␤»
02:14 llfourn AlexDaniel: what's the bug? The LTA error?
02:15 Zoffix m: class Foo {}; say 0 / (
02:15 camelia rakudo-moar a7ea8e: OUTPUT«Cannot call Numeric(Foo: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/tNzJTG8ENI line 1␤␤»
02:15 Zoffix m: class Foo {}; say 0 / (Foo.WHAT)
02:15 camelia rakudo-moar a7ea8e: OUTPUT«Use of uninitialized value of type Foo in numeric context  in block <unit> at /tmp/oLzZwujTd4 line 1␤Attempt to divide by zero using div␤  in block <unit> at /tmp/oLzZwujTd4 line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/oLzZwujTd4 line 1…»
02:15 Zoffix m: say 1/1.WHAT
02:15 camelia rakudo-moar a7ea8e: OUTPUT«Parameter 'de' requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/ht6mu8fx2K line 1␤␤»
02:15 zhi joined #perl6
02:15 Zoffix Yeah, I'd say it's just an LTA error rather than a bug
02:17 Zoffix Done:
02:18 mort96 The more I'm reading about perl 6's OOP, the more I'm liking it
02:18 bpmedley Is there a good overview of Promises, Supplies, and Channels available?
02:19 llfourn bpmedley: you mean apart from:
02:19 Zoffix bpmedley, there's this presentation by jnthn++, but it's from before the remake of Supplies​5-yapcasia-concurrency.pdf
02:19 xpen joined #perl6
02:19 bpmedley Yes, in addition to that.  I'm just doing as much reading as possible right now.
02:20 llfourn bpmedley: if you prefer watching there is a nice youtube to go with the pdf zoffix just mentioned
02:20 bpmedley I'll try reading for now, thanks.
02:21 Zoffix bpmedley, I believe I saw an Advent post on the topic
02:22 Zoffix Can't figure out how to get a table of contents on the site tho -_- Wordpress--
02:22 llfourn hmm yes Zoffix++ that was a useful one
02:23 llfourn bpmedley:​2/14/day-14-a-nice-supplies-syntactic-re​lief-for-working-with-asynchronous-data/ :)
02:23 Zoffix llfourn++
02:26 Zoffix m: say Int/Int.WHAT
02:26 camelia rakudo-moar a7ea8e: OUTPUT«Parameter 'nu' requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/LnnSdb0IY8 line 1␤␤»
02:26 AlexDaniel llfourn: yes
02:26 Zoffix :)
02:28 llfourn I guess if it was changed to 'numerator' it would be better
02:29 Zoffix Yeah, if you don't see both 'nu' and 'de' it's less than obvious what those refer to
02:29 Zoffix Oh, which reminds me about The Evil Error.....
02:33 dalek 433ce56 | (Zoffix Znet)++ | source/index.html:
02:33 dalek Fix aligment of Jump In well
02:33 dalek review:​
02:34 autarch [Coke]: so updating rakudo didn't help - building the site still c. 2.5 hours and 3.6gb of memory :(
02:36 herby_ joined #perl6
02:36 llfourn autarch: is this related to pod?
02:37 autarch llfourn: yes
02:37 llfourn autarch: you are building docs using your new Pod::To::HTML?
02:37 autarch llfourn: yes, and it seems to be very slow and memory hungry
02:38 llfourn autarch: normally it takes like 10 mins or so and takes 700mb for me
02:39 autarch yeah, obviously this is much worse
02:39 autarch I really don't know why though, the new Pod::To::HTML code isn't doing anything crazy, AFAICT
02:39 * llfourn goes to take a look
02:40 autarch I'd appreciate the help
02:41 autarch I guess the other option is to go work on the profiler ;)
02:41 autarch since I can't profile this very effectively right now
02:41 geck so.. did perl6 do anything to improve pod or provide a better documentation mechanism?
02:41 llfourn autarch: The POD parser in the compiler is not great either​Bug/Display.html?id=127020
02:42 Zoffix geck, I think so, but... I ironically the Pod stuff isn't well documented yet :P
02:46 geck so I'm seeing
02:46 llfourn and not well implemented :S
02:46 autarch llfourn: but clearly that isn't the problem here, I'm not doing any additional pod parsing
02:46 geck hrrm
02:46 Zoffix geck, I think you can actually examine POD from within your program even...
02:46 llfourn but great things are on their way for pod I think
02:46 llfourn autarch: yep :)
02:46 Zoffix I dunno, so far it sounds like my program is wasting precious cycles parsing POD when it should be running
02:46 llfourn Zoffix: with precomp it shouldn't matter
02:46 Zoffix fair point
02:46 Zoffix But still, the fact that documentation affects my program itself is a bit weird.
02:46 AlexDaniel geck: you can still write your comments in a very convenient way
02:46 llfourn to me is cool :)
02:46 Zoffix and the whole .WHY bit encourages spaghetti docs
02:46 geck AlexDaniel: tbh, I was hoping that something a bit more javadoc like would be in perl6
02:46 llfourn I like spagetti docs :D
02:46 geck or considered part of
02:46 AlexDaniel geck: there is! Let me find it…
02:46 * Zoffix chucks POD6 to the same pile as :auth<> in the bucket of questionable design decisions.
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: or | UTF-8 is our friend!
02:47 llfourn with GH Markdown you can just do  [MyModule::Foo](MyModule/Foo) and it will link to the correct place
02:47 autarch though really, that's more the domain of the parser - [...](module:Foo::Bar] - let the parser sort it out
02:47 llfourn*
02:47 b4284 autarch: like with `with {}' blocks ?
02:48 Zoffix llfourn, how would it know where the "correct place" is?
02:48 autarch b4284: I'm not followed you - the Int:D $foo means that $foo must be an integer type value, and it must be defined
02:48 llfourn Zoffix: you're right lib/MyModule/
02:48 autarch it's possible to have an undefined Int value too
02:48 Zoffix llfourn, L<MyOther::Module/foo> is linking to another module not in the current repo
02:49 geck that sounds very fixable
02:49 autarch m: my $val = (Int); say $val.defined; say $val.^name
02:49 camelia rakudo-moar a7ea8e: OUTPUT«False␤Int␤»
02:49 autarch so it's an Int but it's not defined
02:49 llfourn Zoffix: ah, but surely github can link to other repos without full URL
02:49 AlexDaniel geck:​://
02:50 b4284 autarch: wow, great, thank you
02:50 Zoffix llfourn, doubt it, as it'll surely involve specifying the username and the name of the repo that is not necessarily the name of the module itself
02:50 b4284 would it be the same with `my Int $val';
02:50 geck AlexDaniel: oh neat
02:50 autarch b4284: let's see ...
02:50 autarch m: my Int $val; say $val.defined; say $val.^what
02:50 camelia rakudo-moar a7ea8e: OUTPUT«False␤Method 'what' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/LeBjKpaxNU line 1␤␤»
02:50 AlexDaniel geck: there are some great examples
02:50 autarch oops
02:50 autarch m: my Int $val; say $val.defined; say $val.^name
02:50 camelia rakudo-moar a7ea8e: OUTPUT«False␤Int␤»
02:50 AlexDaniel I'm not sure why the current page is “Forbidden”
02:51 autarch yeah, looks like to be the same
02:51 llfourn Zoffix: yeah ofc but you would have to do that with pod too no?
02:51 b4284 autarch: thanks for helping out
02:51 autarch you're welcome
02:51 AlexDaniel geck: basically #| and #= :)
02:52 Zoffix llfourn, no, I leave it to the parser to figure out where MyOtherModule is located. In fact, I think GitHub rightnow links to MetaCPAN
02:52 llfourn #| and #= are pretty flimsy though as I am just finding out
02:52 b4284 looks like the intro is not enough for me now
02:53 llfourn Zoffix: ah I see.
02:53 b4284 are there other postfix decorators like :D ?
02:53 Zoffix b4284, :U
02:53 Zoffix :D (defined) :U (undefined)
02:54 llfourn b4284: and :_ which is means the same as without it
02:54 b4284 i don't know, i find perl 6 syntax is somehow unfamaliar
02:54 b4284 llfourn: i don't understand
02:54 llfourn b4284: I'd say that's normal :)
02:54 Zoffix m: multi foo ($:D) { say "it's defined, bruh" }; multi foo ($:U) { say "where's the number, bruh?"}; foo Int; foo 42
02:54 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5===␤In signature parameter, placeholder variables like $:D are illegal␤you probably meant a named parameter: ':$D'␤at /tmp/7xs3ejFE4v:1␤------> 3multi foo ($:D7⏏5) { say "it's defined, bruh" }; multi fo␤In signature parameter…»
02:54 bpmedley b4284 : Unfamiliar, or new and exciting?
02:54 Zoffix O-oh... Illegal!
02:55 * Zoffix waits for the police
02:55 llfourn m: my $a = Any:_; say $a.perl;
02:55 camelia rakudo-moar a7ea8e: OUTPUT«Any␤»
02:55 Zoffix I wonder if the above should actually DWIM?
02:55 Zoffix What's the right syntax?
02:55 llfourn Zoffix: Any:D?
02:55 Zoffix m: multi foo (Any:D) { say "it's defined, bruh" }; multi foo (Any:U) { say "where's the number, bruh?"}; foo Int; foo 42
02:55 camelia rakudo-moar a7ea8e: OUTPUT«where's the number, bruh?␤it's defined, bruh␤»
02:55 Zoffix k
02:56 b4284 bpmedley: guess i'll have to write something to figure it out
02:56 AlexDaniel b4284: that's the way to do it :)
02:59 Su-Shee_ joined #perl6
03:01 llfourn autarch: so thinking about the memory usage -- is that going up linearly over time?
03:01 autarch llfourn: it seems like it
03:04 konobi so... the Perl6 experience for a new user is really pretty terrible =0(
03:04 Zoffix konobi, oh
03:04 Zoffix konobi, what in particular?
03:05 konobi well, i go to the website... I have no idea that there's a "stable" release... nor what the release is... the download/install instructions are pretty terrible
03:05 bpmedley konobi : What platform are you on?
03:05 konobi osx/linux/bsd/solaris
03:06 tef left #perl6
03:06 bpmedley konobi : Have you tried rakudobrew on OS X?
03:06 konobi bpmedley: I already have rakudo installed... and I've been familiar with perl6 and development for years.
03:06 bpmedley My bad
03:06 konobi I'm just saying that the "new user" story is really bad
03:07 konobi it's all under TPF though, right?
03:08 Zoffix konobi, I'd think the new users would be using Rakudo Star, which hasn't been released yet
03:08 Zoffix And the install instructions were written in a rush during holidays (in fact, I was passed out drunk when release happened).
03:08 Zoffix It's just a really bad idea to release on Christmas and there was a shortage of hands.
03:08 konobi "so.. there's perl6, but then there's this thing called rakudo, but that talks about moarvm and I believe JVM is mentioned in there too."
03:09 ELBeavers joined #perl6
03:09 Zoffix konobi, I see 4 lines of install instructions:
03:09 Zoffix Not sure what you're talking about
03:10 konobi Zoffix: it's a problem... I've been seeing it unfortunately.
03:11 * Zoffix has seen more text written by people complaining about terrible install instructions than it would take to write decent instructions in a PR
03:12 konobi Zoffix: I'm not complaining per-se... just forwarding concerns
03:12 ugexe sub foo(%a, %b?, %c?) # is 2 positional optional hashes as parameters a good design decsion, since they aren't exactly always optional? (such as having %c but not %b requires passing an empty hash for %b)
03:12 konobi Zoffix: I'll ping karen about it.
03:12 Zoffix ugexe, I'd use named args
03:12 Zoffix konobi, ether?
03:12 ugexe because thats what CUR.install uses
03:13 konobi Zoffix: nah, not ether... pauley
03:13 gfldex ugexe: have a multi maybe?
03:13 BenGoldberg_ joined #perl6
03:13 * Zoffix looks up
03:13 Zoffix Pres of TPF, got it
03:15 ugexe why arent the various hashes just passed in with the Distribution object itself?
03:15 noganex joined #perl6
03:15 konobi Zoffix: =0)
03:15 konobi Zoffix: is ether doing much with perl6?
03:16 Zoffix konobi, I thought I saw a post somewhere with her asking community feedback on jnthn++'s extension of the grant
03:16 ugexe method install(Distribution $dist, %sources, %scripts?, %resources?, :$force)
03:16 Zoffix maybe I misread the last name :/
03:17 konobi Zoffix: yeah... Karen Etheridge.
03:18 konobi Zoffix: I used to be the leader of, so just trying to work out if there's folks in town who could talk about Perl6
03:19 konobi Zoffix: (since I've had my head in node.js for the last few years)
03:20 Zoffix :o
03:27 llfourn is there any way to say this is a hash and not a block when using {}?
03:28 konobi %{} ?
03:29 llfourn konobi: thanks!
03:32 llfourn m: sub t { { one => "two"} }; say %{ |t(),three => "four"};
03:32 camelia rakudo-moar a7ea8e: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/mjL0vQ2KBb line 1␤␤»
03:32 llfourn how do I flatten the hash as a result of a call?
03:32 BenGoldberg_ joined #perl6
03:37 * sumdumgoi is working on a wilderness roguelike game in perl 6. (
03:38 * llfourn is excited
03:39 ugexe sub parse-include-specS(Str:D $specs) { # the routine is called twice with the same (what i can only assume is) c&p+replace name. or is it like that for a reason?
03:39 sumdumgoi llfourn: :D
03:46 AlexDaniel m: sub t { { one => “two”} }; say %( |t(),three => “four”)
03:46 camelia rakudo-moar a7ea8e: OUTPUT«one => two, three => four␤»
03:46 AlexDaniel llfourn: ↑
03:47 AlexDaniel m: sub t { { one => ‘two’} }; say %(t(), three => ‘four’)
03:47 camelia rakudo-moar a7ea8e: OUTPUT«one => two, three => four␤»
03:47 llfourn AlexDaniel: neat!
03:48 AlexDaniel m: sub t { %{ one => ‘two’, ten => ‘eleven’} }; say %(t(), three => ‘four’)
03:48 camelia rakudo-moar a7ea8e: OUTPUT«one => two, ten => eleven, three => four␤»
03:48 AlexDaniel yeah, works as expected
03:48 llfourn why does %() work but not %{}?
03:49 llfourn maybe %{} only parses kv pairs
03:50 AlexDaniel I'm not quite sure. Maybe
03:50 llfourn ...hmm but it works if you are *not* flatting a call result
03:50 AlexDaniel m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; say (t(), three => ‘four’).WHAT
03:50 camelia rakudo-moar a7ea8e: OUTPUT«(List)␤»
03:50 AlexDaniel so you are getting a list
03:50 AlexDaniel m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; dd (t(), three => ‘four’)
03:50 camelia rakudo-moar a7ea8e: OUTPUT«({:one("two"), :ten("eleven")}, :three("four"))␤»
03:50 llfourn m: my %h1 = ( one => "two" ); my %h2 = ( three => "four", |%h1 ); say %h2.perl
03:50 camelia rakudo-moar a7ea8e: OUTPUT«{:one("two"), :three("four")}␤»
03:51 llfourn m: my %h1 = ( one => "two" ); my %h2 := { three => "four", |%h1 }; say %h2.perl
03:51 camelia rakudo-moar a7ea8e: OUTPUT«{:one("two"), :three("four")}␤»
03:51 AlexDaniel m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; (t(), three => ‘four’).Hash
03:51 camelia rakudo-moar a7ea8e: ( no output )
03:51 AlexDaniel m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; say (t(), three => ‘four’).Hash
03:51 camelia rakudo-moar a7ea8e: OUTPUT«one => two, ten => eleven, three => four␤»
03:51 llfourn it's kind weird
03:51 geck that's pretty neat
03:51 AlexDaniel so it seems like .Hash flattens the whole thing? Is it supposed to work this way?
03:52 gfldex m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; dd(t(), three => ‘four’);
03:52 camelia rakudo-moar a7ea8e: OUTPUT«Hash % = {:one("two"), :ten("eleven")}␤»
03:52 llfourn AlexDaniel: isn't it just the () flattening
03:52 AlexDaniel llfourn: I don't see why () would flatten anything
03:53 * llfourn becomes more confused
03:53 llfourn oh dd is just taking first arg
03:53 gfldex m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; my \v = \(t(), three => ‘four’); dd t;
03:53 camelia rakudo-moar a7ea8e: OUTPUT«Hash % = {:one("two"), :ten("eleven")}␤»
03:53 gfldex not just dd
03:54 gfldex m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; my \v = \(t(), three => ‘four’); dd v;
03:54 camelia rakudo-moar a7ea8e: OUTPUT«\({:one("two"), :ten("eleven")}, :three("four"))␤»
03:54 gfldex ahh
03:54 llfourn :)
03:54 gfldex :three('four') become an optimal named arg to dd
03:54 llfourn gfldex: ah yeah ofc. I'm still not used to that :P
03:54 gfldex and the capture is a list of a hash and a pair
03:55 gfldex \() <-- makes a capture
03:55 AlexDaniel m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; say (t(), three => ‘four’).Hash.keys
03:55 camelia rakudo-moar a7ea8e: OUTPUT«(three one ten)␤»
03:55 AlexDaniel m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; say (t(), three => ‘four’).perl
03:55 camelia rakudo-moar a7ea8e: OUTPUT«({:one("two"), :ten("eleven")}, :three("four"))␤»
03:56 gfldex m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; my \v = (t(), three => ‘four’).flat.list; dd v;
03:56 camelia rakudo-moar a7ea8e: OUTPUT«(:one("two"), :ten("eleven"), :three("four"))␤»
03:56 AlexDaniel I don't really understand why a list of a hash and a pair becomes a hash. It kinda makes sense, but why?
03:56 gfldex it doesn't become a hash
03:56 AlexDaniel I mean, why does it flatten before becoming a hash :)
03:56 llfourn AlexDaniel: you mean you .Hash?
03:57 llfourn when you*
03:57 AlexDaniel yes
03:57 gfldex m: sub t { %( one => ‘two’, ten => ‘eleven’ ) }; my \v = (t(), three => ‘four’).flat.hash; dd v;
03:57 camelia rakudo-moar a7ea8e: OUTPUT«Hash % = {:one("two"), :ten("eleven"), :three("four")}␤»
03:58 AlexDaniel m: sub t { %( one => ‘two’, ten => %(foo => ‘bar’) ) }; say (t(), three => ‘four’).Hash.perl
03:58 camelia rakudo-moar a7ea8e: OUTPUT«{:one("two"), :ten(${:foo("bar")}), :three("four")}␤»
03:58 AlexDaniel hm, no, it does not flatten it. OK
03:58 llfourn m: sub make-hash(*%h) { say %h.perl }; ({ one => 'two'},thee => 'four').&make-hash #maybe
03:58 camelia rakudo-moar a7ea8e: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in sub make-hash at /tmp/vXhqxBzRP1 line 1␤  in block <unit> at /tmp/vXhqxBzRP1 line 1␤␤»
03:59 llfourn ...
03:59 AlexDaniel it just works automagically. Neat.
03:59 BenGoldberg_ joined #perl6
04:00 dcd joined #perl6
04:01 llfourn m: sub make-hash(*@h) { my %h = @h; say %h.perl}; ({ one => "two"},thee => "four").&make-hash
04:01 camelia rakudo-moar a7ea8e: OUTPUT«{:one("two"), :thee("four")}␤»
04:01 llfourn it flattens because of slurpyness somewhere I think
04:02 gfldex if i read /src/core/ correctly the named param should not vanish
04:02 BenGoldberg_ joined #perl6
04:02 gfldex in dd that is
04:02 kaare_ joined #perl6
04:03 gfldex m: dd {:a(1), :b(2)}, :c(3);
04:03 camelia rakudo-moar a7ea8e: OUTPUT«Hash % = {:a(1), :b(2)}␤»
04:03 gfldex m: dd({:a(1), :b(2)}, :c(3));
04:03 camelia rakudo-moar a7ea8e: OUTPUT«Hash % = {:a(1), :b(2)}␤»
04:05 gfldex .tell lizmat should the last pair vanish in 'm: dd({:a(1), :b(2)}, :c(3));' ?
04:05 yoleaux gfldex: I'll pass your message to lizmat.
04:05 BenGoldberg_ joined #perl6
04:07 regreg joined #perl6
04:08 BenGoldberg_ joined #perl6
04:10 BenGoldberg_ joined #perl6
04:15 yurivish joined #perl6
04:36 uvtc joined #perl6
04:36 ugexe there is both a `sub parse-include-spec` and a `sub parse-include-specS`? this is rather confusing
04:38 xpen joined #perl6
04:43 cognominal joined #perl6
04:44 ugexe m: use MONKEY-SEE-NO-EVAL; say $*REPO.repo-chain[0]; EVAL "say {$*REPO.repo-chain[0].perl}"
04:44 camelia rakudo-moar a7ea8e: OUTPUT«inst#/home/camelia/.p​erl6/2015.12-23-ga7ea8e6␤Too many positionals passed; expected 1 argument but got 2␤  in block <unit> at EVAL_0 line 1␤  in block <unit> at /tmp/2R7h9RHfRY line 1␤␤»
05:02 gist_nb joined #perl6
05:03 gist_nb m: say "hello"
05:03 camelia rakudo-moar a7ea8e: OUTPUT«hello␤»
05:03 gist_nb m: 1..10 ==> say
05:03 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/pimTR2AX2_:1␤------> 1..10 ==> say7⏏5<EOL>␤Other potential difficulties:␤    Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit i…»
05:03 gist_nb m: 1..10 ==> say ''
05:03 camelia rakudo-moar a7ea8e: OUTPUT«1..10␤»
05:04 TimToady m: 1..10 ==> say()
05:04 camelia rakudo-moar a7ea8e: OUTPUT«1..10␤»
05:04 TimToady that also works
05:04 gist_nb m: 1..10 ==> say ()
05:04 camelia rakudo-moar a7ea8e: OUTPUT«()1..10␤»
05:04 TimToady ==> adds args
05:04 TimToady and () is a separate arg if you put space there
05:05 rickbike joined #perl6
05:05 gist_nb timtoady: ah i c ... thanks!
05:05 gist_nb [1,2,3] ==> say)_
05:05 gist_nb m: [1,2,3] ==> say()
05:05 camelia rakudo-moar a7ea8e: OUTPUT«[1 2 3]␤»
05:06 pierre-vigier joined #perl6
05:08 molaf joined #perl6
05:08 gist_nb one more question. is the ==>> operator implemented?
05:09 TimToady I don't think so.  feeds are still in a fairly rudimentary state
05:09 gist_nb ok ... thanks again
05:09 torax joined #perl6
05:09 TimToady m: my @foo = 1,2,3;  4,5,6 ==>> @foo; say @foo
05:09 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E6EHihuxQ2␤==>> feed operator not yet implemented. Sorry. ␤at /tmp/E6EHihuxQ2:1␤------> 3my @foo = 1,2,3;  4,5,6 ==>> @foo7⏏5; say @foo␤»
05:10 gist_nb yup ..
05:10 uvtc Just noticed the gcd operator ... I'd always thought that was "greatest common factor", or "greatest common divisor"... not greatest common denominator.
05:12 TimToady a divisor and a denominator are the same thing
05:14 uvtc Mmm.
05:15 Tonik joined #perl6
05:23 nash joined #perl6
05:31 Zoffix m: dd @({:a(1), :b(2)}, :c(3));
05:31 camelia rakudo-moar a7ea8e: OUTPUT«({:a(1), :b(2)}, :c(3))␤»
05:40 vendethiel joined #perl6
05:47 edehont joined #perl6
05:48 ugexe m: my (@a, @b, @c); @a ==>> @b ==> @c
05:48 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_3XCaEFqRy␤Operators '==>>' and '==>' are non-associative and require parentheses␤at /tmp/_3XCaEFqRy:1␤------> 3my (@a, @b, @c); @a ==>> @b7⏏5 ==> @c␤    expecting any of:␤        infix␤      …»
05:50 ugexe m: my (@a, @b, @c); @a ==> @b ==> @c
05:50 camelia rakudo-moar a7ea8e: ( no output )
05:51 ugexe that error message is slightly ambiguous
05:52 TimToady intentionally so, since we don't really know which way it was intended to be grouped in general with list associative operators
05:53 TimToady m: say 1,2,3 X 4,5,6 Z 7,8,9
05:53 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8fGDOBAS9_␤Operators 'X' and 'Z' are non-associative and require parentheses␤at /tmp/8fGDOBAS9_:1␤------> 3say 1,2,3 X 4,5,6 Z7⏏5 7,8,9␤    expecting any of:␤        infix␤        infix stoppe…»
05:53 ugexe what i mean is, it can be interpretted that the pipe operators (of which there are 2?) always require the parentheses instead of that specific combination of them
05:54 TimToady I see what you're saying
05:55 TimToady would help if it said "non-identical" or some such to show what's actually bothering int
05:55 TimToady *it
05:55 TimToady though there's only so much teaching you can do in error messages...
05:59 ugexe m: my (@a, @b, @c); @a ==> @b ==>> @c # yeah. doing it again and getting this error message swapping the operators also clarified to me what is meant
05:59 camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JriDELOPq3␤Operators '==>' and '==>>' are non-associative and require parentheses␤at /tmp/JriDELOPq3:1␤------> 3my (@a, @b, @c); @a ==> @b7⏏5 ==>> @c # yeah. doing it again and gett␤    expecting …»
06:01 xpen joined #perl6
06:01 [particle] joined #perl6
06:01 uvtc I thought the colon made a colon pair, such as :a<4> ---> 'a', 4. But, I think I've seen it used to describe "adverbs". But then I think I've also seen it as a kind of function call syntax alternative to parens... Are the three connected?
06:02 ugexe as i now know `'==>>' and '==>'` is not a hard coded string meant to convey all pipe operators, but rather some combination
06:02 xpen_ joined #perl6
06:05 * TimToady is testing a tweak to the error message
06:06 xpen joined #perl6
06:06 Hotkeys I'm attempting to access individual values in a shaped array and am getting "Partially dimensioned views of arrays not yet implemented. Sorry."
06:06 Hotkeys is there a way to actually access values in one of these?
06:07 Hotkeys and by access I mean set mutably
06:07 geekosaur uvtc: adverbs and colonpairs are related. colon method syntax is not. (note however that :a<4> makes ('a' => '4'); in perl6, => is not just a fat comma, it is the constructor for a pair, which is a distinct type)
06:08 xpen_ joined #perl6
06:09 nige1 joined #perl6
06:09 uvtc geekosaur, thanks! I don't yet know about colon method syntax, but how are adverbs and colon pairs related?
06:10 TimToady the only place we confuse the notations is in a smartmatch, where a pair is interpreted as a method call tests
06:10 TimToady (intentionally confuse, I should say)
06:10 mempko joined #perl6
06:10 TimToady it lets you stack boolean methods (such as on a filehandle) using junctions that way
06:11 geekosaur uvtc: colonpairs can be used to pass named arguments; adverbs are, as I understand it, just named arguments to things like operators
06:11 TimToady we tend to use "colonpair" to describe the notation, and "adverb" to describe the semantics use of the notation
06:11 TimToady *tic
06:11 geekosaur yes, that
06:12 [particle]1 joined #perl6
06:12 * geekosaur should not still be up but body is playing up; was trying to phrase that...
06:13 uvtc Thank you. Could you please point me to an example of how adverbs are used in connection with subs/functions? (Ex. do I pass a function an adverb? Do I declare a sub to take an adverb? Looking around the docs at ...)
06:14 TimToady as far as the function is concerned, they're just named arguments
06:15 TimToady it's just the syntax for the call gets a little fancier when you're applying an adverb to an operator rather than a normal function call
06:16 TimToady but the call '1 + 2 :foo' is really just the same as infix:<+>(1,2,:foo)
06:18 uvtc TimToady:  typo? `1 + 2 + :foo` ?
06:19 geekosaur no. in '1 + 2 :foo', :foo is applied to + not to 2
06:20 geekosaur 2 is not a thing that can be adverbed. another operator could , or a function could (in the latter case it'd be inside the call parens)
06:20 uvtc I see that `:foo` yields / evaluates to `foo => True`. ... I know in english an adverb modifies a verb... An adverb in Perl 6 is applied to a function?
06:20 geekosaur yes
06:20 dalek rakudo/nom: 373adc0 | TimToady++ | src/core/
06:20 dalek rakudo/nom: improve error message on differing list assoc ops
06:20 dalek rakudo/nom: review:
06:20 TimToady ugexe++
06:20 geekosaur functions and operators being the verbs of perl 6
06:21 uvtc Can you give me an example of adverbing a function/sub? Do I create my own adverbs to apply?
06:21 geekosaur although there are other verbs as well; for example, if you index into an array or hash ([] or {}/<>/<<>> suffixes), the suffixes are also verbs and can take adverbs
06:21 geekosaur like, for example, :exists on hash lookups
06:22 aindilis joined #perl6
06:22 uvtc Yes. I don't get why it's `%h<foo>:exists` rather than `%h<foo>.exists`.
06:22 geekosaur an adverb is just a named parameter
06:23 geekosaur because . would apply too late
06:23 geekosaur the lookup would already have happened and it would be made to exist, with an "undefined" value if it didn't exist before
06:23 geekosaur but the adverb modifies the lookup itself
06:24 uvtc Oh. So I'm passing `exists => True` to the hash lookup post-circumfix op? That is, in addition to passing what's in the <>'s?
06:24 geekosaur the <> there, the compiler rewrites <foo> to {'foo'} and then calls postcircumfix:<[ ]>(key) (and adds :exists as a parameter if you specified that)
06:25 xpen joined #perl6
06:25 ugexe definitely no ambiguity now
06:25 TimToady :)
06:26 TimToady and it's still officially 6.c, according to the spec tests :)
06:26 geekosaur and the declaration for that is something like:  sub postcircumfix:<{ }>(::keytype $key, :exists = False)
06:26 geekosaur (where ::keytype is the type of the key in this hash; it's not really a sub but a method, I miswrote that)
06:26 TimToady actually, it is a sub
06:26 geekosaur (also wrote [] instead of {} e first time through)
06:26 TimToady used to be a method
06:26 geekosaur ah
06:27 geekosaur and that :exists should be :$exists
06:27 TimToady but subs can be optimized better at compile time
06:27 geekosaur so the body can test $exists to see if you specified that named parameter / adverb
06:28 TimToady which will become really important for indexing native multi-dim arrays
06:28 geekosaur in your own functions you can also use that :$name syntax to declare a named parameter, which then functions as an adverb
06:28 uvtc Ok. Ok, thanks. It looks like using an adverb is a way to pass an extra named arg to an opp that doesn't usually take an extra arg.
06:29 uvtc Right, and if it's one of my own regular subs, I can just use that :$name syntax, as you just said.
06:29 Averna joined #perl6
06:30 geekosaur yes, and you can use it to modify behavior without having to have a bunch of extra parameters (which is better: foo(1, :do-this, :and-do-that) or foo(1, False, True)?)
06:31 * geekosaur sees a lot of the latter in a C++ project he helps out with, and it's annoying to have to hunt down the prototype to see what it means...
06:32 uvtc Ah, cool. I think I just repeated what you said in your first reply. :)
06:33 TimToady m: say 1,2,3 X 4,5,6 Z 7,8,9
06:33 camelia rakudo-moar 373adc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/P2bPwuwr11␤Only identical operators may be list associative; since 'X' and 'Z' differ, they are non-associative and you need to clarify with parentheses␤at /tmp/P2bPwuwr11:1␤------> 3say 1,2,3 X 4,5,6 Z…»
06:35 ugexe m: class A { method ZEN-KEY(:$foo!) { say "ZEN-KEY:foo" } }.new{}:foo
06:35 camelia rakudo-moar 373adc: OUTPUT«ZEN-KEY:foo␤»
06:37 xpen_ joined #perl6
06:40 karl_ joined #perl6
06:45 karl_ left #perl6
06:46 uvtc Oh, forgot to say thanks. Thanks! I think I got it now. :)
06:54 dalek doc: cb428ce | (John Gabriele)++ | doc/Language/glossary.pod:
06:54 dalek doc: typo (s/5/4/)
06:54 dalek doc: review:
06:57 Averna joined #perl6
07:00 uvtc left #perl6
07:00 Hotkeys for looping through ints is a c style loop any faster than a for loop using a range?
07:01 stmuk_ me-- # replying to chromatic on reddit
07:06 pierre-vigier joined #perl6
07:06 AlexDaniel Hotkeys: test it
07:07 Hotkeys I wanted to be lazy and just ask
07:10 znpy joined #perl6
07:13 nrnoble joined #perl6
07:15 AlexDaniel stmuk_: link? :)
07:16 Averna joined #perl6
07:18 flussence the only winning move is not to play
07:21 AlexDaniel ah found it. Well, I expected it to be funnier
07:22 stmuk_ "The Only Way to Win is Not to Play the Game"
07:23 stmuk_​mments/3y839f/perl_6_finally_released/ was mostly nice
07:24 CIAvash joined #perl6
07:24 AlexDaniel holy sh… -8°C
07:31 stmuk_​re-starting-learning-perl-7th-edition/
07:31 stmuk_ "We’re starting to think about Learning Perl 6."
07:31 stmuk_ :D
07:36 Hotkeys I figured out a way to make the interpreter angry
07:48 _nadim joined #perl6
07:52 ChoHag What's the difference between Nil and Any, and why does this produce output:
07:52 ChoHag m: my $no = Nil; given 42 { when Nil { say "Maybe"; proceed }; when $no { say "Impossible" }; }
07:52 camelia rakudo-moar 373adc: OUTPUT«Impossible␤»
07:52 ellybelly joined #perl6
07:54 TimToady you can't store "the absence of a value" without taking special precautions to tell the variable it is allowed to store that
07:54 TimToady m: my $no = Nil; say $no
07:54 camelia rakudo-moar 373adc: OUTPUT«(Any)␤»
07:55 TimToady so all you're test is 'when Any'
07:55 TimToady *testing
07:55 TimToady 23:52 < ChoHag> m: my $no is default(Nil) = Nil; given 42 { when Nil { say "Maybe"; proceed }; when $no { say "Impossible" }; }
07:55 Woodi o, and how to "undefine" variable ?
07:55 TimToady m: my $no is default(Nil) = Nil; given 42 { when Nil { say "Maybe"; proceed }; when $no { say "Impossible" }; }
07:55 camelia rakudo-moar 373adc: ( no output )
07:56 Woodi hallo #perl6 :)
07:56 Hotkeys Can I store a reference to a value in a hash value in another hash value eg
07:56 Hotkeys %foo{'a'} = %foo{'b'} * 2
07:56 TimToady all values are references, unless they're native
07:56 ChoHag Hmm.
07:56 Hotkeys and even if I change %foo{'b'}
07:56 Hotkeys %foo{'a'} will reflect that
07:56 TimToady you could use binding if you want that
07:57 ChoHag Well 'what-exactly-undefined-means' issues aside, what I actually have is 4 when clauses against variables (when $foo, when $bar, etc.), where 2 of them variables may be invalid matches under certain circumstances.
07:57 Hotkeys how could I do that?
07:57 Hotkeys with binding
07:58 TimToady use := instead of =
07:58 ChoHag Apparently undefining $foo didn't cause $foo to not match but to match, which was somewhat off.
07:58 ChoHag odd
07:58 ChoHag And off.
07:58 TimToady you told it to revert to its default value, and the default value is 'Any', which matches most things
07:59 TimToady smartmatching can't always read your intent
08:00 TimToady because people intend contradictory things
08:00 Woodi I tried @a = Any; to undefine @ but it ended with @a having Any as first element...
08:00 Hotkeys m: my %foo = 'a' => 2; %foo<b> := %foo<a> * 2; say %foo<b>; %foo<a> = 3; say %foo<b>
08:00 camelia rakudo-moar 373adc: OUTPUT«4␤4␤»
08:00 Hotkeys I don't think I'm doing this right
08:00 ChoHag The main thing here is that undefined is not as clear a concept as I thought it was.
08:01 TimToady Any is a discrete undefined value; why would you expect it to empty an array?
08:01 geekosaur joined #perl6
08:01 TimToady use @a = () for that
08:01 ChoHag Which I remember reading about in the docs a while back but apparently it didn't sink in enough.
08:01 TimToady undef is many concepts, and Perl 6 requires you to be more precise than Perl 5 here
08:01 simcop2387 joined #perl6
08:01 TimToady m: undef
08:01 camelia rakudo-moar 373adc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OkaK9KDY4q␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤ an undefined type object such as Any or Int,␤   :!defined as a matcher,␤        Any:U as a type constraint,␤    Nil a…»
08:01 Woodi TimToady: cargoculting from somewhere ? :) = () will be good
08:02 ChoHag Well I can get away with setting it to False rather than undefining it.
08:02 ChoHag This function's rubbish anyway, I just don't want to fix it yet.
08:02 geekosaur joined #perl6
08:03 Woodi ChoHag: but @a = False; is strange thing and IMO it;s syntax error...
08:03 frew joined #perl6
08:03 ChoHag Yes it is.
08:03 TimToady I see a list of 1 element, False
08:03 ChoHag But as TimToady said - what you're doing with the undefined value matters.
08:03 Hotkeys m: my %foo = 'a' => 2; %foo<b> := { %foo<a> * 2 }; say %foo<b>(); %foo<a> = 3; say %foo<b>()
08:03 camelia rakudo-moar 373adc: OUTPUT«4␤6␤»
08:03 Woodi ChoHag: but it's Perl6, you never can be sure what happens ;)
08:03 Hotkeys this works but feels wrong
08:04 ChoHag And we happen to have come inat the same time with a vaguely related problem and I was solving mind, not yours.
08:04 ChoHag mine
08:04 ChoHag MOAR COFFEE
08:04 Woodi Chemex is good :)
08:05 zostay joined #perl6
08:05 rjbs joined #perl6
08:07 ChoHag How do you set a variable to the result of a function but only have that function called when the variable gets used (printed, tested against, munged, etc.)?
08:10 mojca joined #perl6
08:10 darutoko joined #perl6
08:12 mojca I would like to make a package for rakudo or rakudo-star and need a tiny bit of help from upstream.
08:12 Woodi ChoHag: some half-"await" :)
08:12 mojca I tried building with --backends=moar --gen-moar, but the problem is that the build puts files under destroot and fails to find moar
08:13 mojca sh: /opt/local/bin/moar: No such file or directory
08:13 Woodi --prefix
08:13 mojca Woodi, if that was for me, I have --prefix=/opt/local
08:14 mojca the problem is that the binary is not yet in /opt/local during the build of rakudo
08:14 cpage joined #perl6
08:14 Woodi mojca: at least when i put moar in /opt nqp and raqudo don't know how to use $path...
08:14 Woodi mojca: you need to have moar first :)
08:14 mojca I understand, but I thought that rakudo would build it automatically
08:15 mojca and it does build it, it's just that moar is not yet in $prefix
08:15 mojca Should I build moar as a separate package?
08:15 mojca and put moar as a dependency rather than building it as part of rakudo?
08:15 Woodi mojca: it's strange, maybe --gen-moar don't work with prefix...
08:16 Woodi mojca: thing is that ppls use that auto-building for development purposes
08:16 mojca quick question: what exactly is the difference between rakudo and rakudo-star?
08:16 Woodi r* have additional modules
08:16 mojca which one should I package (one of them fetches things on the fly which I don't particularly like)
08:17 Woodi mojca: distro-packagers would probably like separate packages
08:17 mojca so auto-building of moar is there just for convenience and a package should not bother about it but rather install it separately?
08:17 Woodi mojca: in my opinion :)
08:17 Woodi but I'm not a developer :)
08:17 mojca ok, so I'll try to create a package for moarvm first
08:18 mojca nevertheless, should I bother about getting the installation problem fixed?
08:18 mojca and if so, what is the best place (I don't know enough about internals to be able to provide a perfect description for the bug report)
08:18 mojca I can try though
08:19 Woodi mojca: sure, any help is appreciated
08:19 domidumont joined #perl6
08:19 nash joined #perl6
08:21 mojca what's the right place to report installation problems of rakudo?
08:21 ChoHag mojca: I've found the best way to install in a non-standard location is to eschew the --gen-* options and build the components individually.
08:21 ChoHag I intend to fix this in the next week or so.
08:21 Woodi mojca: you install moar, then nqp and then rakudo. you can unpack rakudo, check in tools/build/NQP_REV which one nqp you need then unpack nqp, check tools/build/MOAR_REV which one moar you need :)
08:21 pistacchio joined #perl6
08:21 nine mojca: you can ignore the "/opt/local/bin/moar: No such file or directory" message during build. As long as the build continues afterwards.
08:22 Woodi mojca: but ATM you need 2015.12 for everything :)
08:22 domidumont joined #perl6
08:23 pistacchio hi, if i get it correctly, the "&" sigil indicates a named function. why in doing so (1, 2, 3)>>.&{ $_ * 2 } i have to use the ampersand sigil AND a dot before the lambda block? thanks
08:23 nine mojca: that message should just be the result of the check if we actually need to build moar and nqp.
08:23 mojca I can ignore the message, but it doesn't build.
08:24 mojca among other errors there is "Cannot chmod 755 /opt/local/bin/moar:No such file or directory at /opt/local/lib/perl5/vendor_p​erl/5.22/ExtUtils/ line 281."
08:24 labster joined #perl6
08:24 joydo joined #perl6
08:24 nine Ok that sounds more serious
08:25 nine mojca: then I'd go with the recommendation to build the components separately. From a distro perspective, you will want separate packages anyway, won't you?
08:26 mojca Maybe. I don't know how exactly moar is used anyway. If it's just for perl6, it could be bundled together, but I agree that it's probably better to package it separately.
08:27 mojca I've seen that HomeBrew packages it together
08:27 mojca unless I was mistaken ... I don't know why they don't run into problems though
08:27 nine Well it was built for Perl 6 and the only known user is Perl 6. In theory it could be used for another language though.
08:27 ChoHag perl6 can run against the jvm (and there were other backends in the past). While perl6-moar could come with moar where perl6-java doesn't come with a jvm, for clarity it seems to me it'd make moar sense (heh) to have a moar package.
08:28 ChoHag s/doesn't/shouldn't/
08:29 lnrdo_ joined #perl6
08:30 nine Oh, that's certainly a valid perspective: while moar may have only rakudo as user, rakudo doesn't actually need moar, so it should be optional, hence a separate package.
08:33 [Tux] csv-ip5xs        50000    18.547    18.437
08:33 [Tux] test             50000    23.472    23.362
08:33 [Tux] test-t           50000    13.864    13.754
08:33 [Tux] csv-parser       50000    50.598    50.488
08:35 Woodi oh, WOW... first company ThinkPad (the only one with Win10) didn't wanted to boot (but was unplugged from power (and battery is dead anyway) :) ) THEN it displayed that some update is ready to install... but after installing Win10 month ago and seeing packets int tcpdump EVERY second I firewalled it from inet... you just can't air gap that new beasts! ;)
08:37 Woodi anyway installing Win10 was final proof that internet white-listing is way to go :)  schools do this, Chinese too so users probably should too
08:44 Amnez777 joined #perl6
08:45 Guest73034 joined #perl6
08:45 Guest73034 Hi!
08:45 Guest73034 So, cool to see a room with so many people interested in Perl
08:45 mojca Just curious, when I was building rakudo, moarvm built successfully. Now I see that it keeps failing due to a number of missing libraries like libuv, dynload, ...
08:46 mojca I will add those libraries, I was just wondering why the difference in the default builds
08:46 azawawi joined #perl6
08:46 azawawi hi
08:46 yoleaux 13 Dec 2015 22:44Z <RabidGravy> azawawi: would you be cool with a PR to File::Which to make it optionally export 'whence' instead of which?  It's an ancieunte SysV user thing ;-)
08:46 Amnez777 joined #perl6
08:47 mojca Where does dynload.h come from?
08:47 azawawi Merry Christmas to #perl6 :)
08:47 Guest73034 I'm in a but of a conundrum
08:48 Guest73034 I can't decide between nodejs or perl for re-writing my personal website
08:48 Guest73034 I've got experience with both
08:48 Guest73034 node is convenient because it can send javascript objects using that neat, convenient library ''
08:49 Guest73034 perl is awesome because of its best regex support, the $_ variable, and how it allows me to type action then condition
08:49 Guest73034 and just like the http module for node, perl now has perldancer, which is easy as pie to work with
08:50 Guest73034 but with perl6 coming out I'm trying to come up with a reason to use perl + perldancer
08:51 Guest73034 since I think perl6 is going to blow ecmascript6 out of the water in terms of expressability and power
08:51 nash_ joined #perl6
08:58 nine mojca: ./nqp/MoarVM/3rdparty/dyncall/dynload/dynload.h
08:59 pmurias joined #perl6
08:59 mojca ok, but isn't moarvm a dependency of nqp? So how do I get nqp's files while building moarvm?
08:59 nine Guest73034: well it's no easy decision. Perl 6 is the better language, hands down. It's not even a competition. It's also very new, so with node you'll just build that website and be done. With Perl 6 you'll spend quite some time on writing libraries or getting into Inline::Perl5.
08:59 mojca I'm running into an error while building moarvm.
09:00 nine Guest73034: with Perl 5 you'll get Dancer, but also have a harder Perl to learn :)
09:00 mojca I can somehow circumvent the problem by providing --has-libffi and by adding -I${prefix}/lib/libffi-3.2.1/include to CFLAGS
09:00 pierre-vigier joined #perl6
09:01 Guest73034 Wait - Are you saying dancer2 won't work with perl6?
09:01 mojca and even if I configure with  --no-jit, I get this error: src/jit/compile.c:2:10: fatal error: 'dasm_proto.h' file not found
09:02 ChoHag What's the opposite of recursive?
09:03 ChoHag mojca: What system?
09:03 mojca x86_64-darwin (OK, an old one, 10.7)
09:04 ChoHag Darwin. Of course. The one that'll be a PITA to run a test VM of.
09:04 andreoss joined #perl6
09:04 mojca Does that mean that Darwin is not fully supported yet?
09:05 ChoHag I don't think there's a 'supported' umbrella for anything to even fall under.
09:05 Axord joined #perl6
09:06 ChoHag And I don't think any/many of the devs use OSX.
09:06 Woodi mojca: it's strange. those libraries are included in tarbal. and there are Configure switches if you want your own
09:06 mojca Which tarball? MoarVM's?
09:07 Woodi mojca: yes, moarvm. but if you use git then they should be included too
09:07 ChoHag If you use git you may need to update the submodules to get them.
09:07 mojca I'm using 2015.12
09:07 ChoHag git submodule update --init in src's root.
09:07 mojca the tarballs from github
09:07 Woodi ok, I was not sure about git :)
09:07 ChoHag ... _after_ git checkout/pull/whatever.
09:08 luiz_lha joined #perl6
09:08 mojca should I fetch the tarball from somewhere else?
09:08 mojca I'll check
09:08 RabidGravy joined #perl6
09:09 mojca ok, I see now
09:09 mojca the tarball I fetched from github is only 1,7M
09:09 ChoHag dynasm, dyncall, libuv and linenoise in $src/3rdparty should not be empty. If they are, the tarball lacks them and they need to be obtained somehow. If you have a $src/.git you can probably get then with the afformentioned submodule command.
09:09 mojca The one in the link is 3,1M
09:10 mojca these folders are indeed empty
09:11 mojca I fetched​arVM/archive/2015.12.tar.gz
09:11 mojca and that was most likely the problem
09:11 ChoHag Apparently osx works in kvm.
09:11 ChoHag FSVO work.
09:12 Woodi mojca: I got moar from it's web page and it was fully functional :)
09:12 mojca I'll switch the source of downloads
09:12 mojca Using GitHub is very handy, but useless if it fails to work
09:13 mojca :)
09:14 Woodi mojca: few days ago was big release day so for some time official release tarbals are best thing, IMO :)
09:17 rindolf joined #perl6
09:18 keenan joined #perl6
09:18 andreoss should `rakudobrew build moar коледа` work properly?
09:19 mojca perfect, it almost works now; it stops with 3rdparty/libuv/src/unix/getaddrinfo.c:102:68: error: no member named 'res' in 'struct uv_getaddrinfo_s', but that's progress
09:19 andreoss for me it dies with 'Unhandled exception: Will not decode invalid ASCII (code point > 127 found)'
09:19 RabidGravy andreoss the probably not
09:20 mojca (libuv itself can be installed without a problem)
09:20 dotness joined #perl6
09:20 nine Guest73034: you probably can combine Dancer2 with Perl 6. But that's experimental high tech territory. Note that Perl 5 and Perl 6 are really different languages. Bridging technology exists, but hasn't seen that much real world code yet:​20Bridges/Building%20Bridges.pdf
09:22 AlexDaniel ChoHag: hmmm there's 「lazy」 but I'm not sure what is it supposed to do (is it even implemented?)
09:22 andreoss RabidGravy: seems like moarvm issue
09:22 Guest73034 I figure perl6 would have backwards compatibility
09:24 nine ChoHag: the opposite of "recursive" in programming is usually "iterative"
09:24 ChoHag I'd say that's alternative, not opposite.
09:25 ChoHag At least outside of programming, which is what I meant.
09:25 nine Remind me, why again we forcefully push people in rakudobrew's direction, when it's causing so many problems while building rakudo is just perl --gen-moar && make install
09:25 ChoHag Recursively in a 'searching through a tree' sense.
09:25 ChoHag nine: Because it has bells and whistles.
09:26 RabidGravy nine, beats me
09:26 ChoHag Also, it's never "just".
09:26 ChoHag That wouldn't have worked for mojca, for example.
09:27 nine To top it off it's barely maintained at all! So the first contact users have with rakudo is with a build tool that's barely maintained and known to cause all sorts of strange problems.
09:27 ChoHag Admittedly because one of the 3rd party libs doesn't seem to build on OSX, but still...
09:27 AlexDaniel ChoHag: so in DWIM fashion that would be something like 「sub foo { say ‘world’; return 42 }; my $x := lazy { foo }; say ‘hello’; say $x」, but it does not work
09:28 mojca which library doesn't build on OS X?
09:28 ChoHag Having not paid much attention to the public side of the announcement, where exactly are new folks directed to perl 6?
09:28 mojca (just out of curiosity)
09:28 pierre-vigier joined #perl6
09:28 nine ChoHag: mojca is hardly a normal user. He tries to build packages for distribution. Normal first time users really just need what I wrote above.
09:28 ChoHag mojca: libuv, apparently.
09:28 andreoss RabidGravy: should i report it?
09:28 mojca oh, no, libuv builds just fine
09:28 ChoHag nine: Experience teaches me that there's no such thing as a normal user, even outside of development circles.
09:28 mojca I figured out what the build problem was
09:28 Guest73034 Well personally as a new folk, I found my way thanks to some forum post. Watched a few youtube videos, was amazed.
09:29 keenan joined #perl6
09:29 mojca I was initially trying to build from github that was missing some 3rdparty libraries, including libuv
09:29 mojca so I installed (an outdated) libuv from the package manage
09:29 ChoHag You pasted an error above of it failing to build. I jumped to a conclusion.
09:29 mojca *manager
09:30 RabidGravy andreoss, against "rakudobrew" possibly, it's not a moarvm issue as far as I can tell
09:30 mojca and then the build issue arised because the compiled used outdated headers from $prefix rather than headers from 3rdpart
09:30 nine ChoHag: "Building from source",
09:31 andreoss it dies on compiling moarvm code
09:34 RabidGravy right, but it is almost certainly being given garbled up utf-8 by rakudobrew
09:35 andreoss but checkout from git works well
09:37 RabidGravy yes
09:38 mojca I believe there is a bug in build scripts that put ${prefix}/include before the includes from 3rdparty in CFLAGS, but I eventually managed to compile MoarVM
09:39 mojca the main problem now is that it wants to install a number of libraries that don't belong there
09:39 pierre-vigier joined #perl6
09:39 mojca for example, MoarVM now wants to install ${prefix}/include/libuv/uv.h
09:39 mojca which it shouldn't
09:40 ChoHag Can I specify a Signature in which extra named parameters are not welcome?
09:40 RabidGravy I'm not sure, doesn't nqp need to know about some parts of uv?
09:40 ChoHag Alternatively how can I construct a collection of multis which have 2 or more optional adverbs?
09:41 RabidGravy ChoHag, it is possible (the former) but a but of a mouthful
09:42 RabidGravy m: sub foo(:$foo!, *%b where *.keys == 0) {}; foo(:foo, :bar)
09:42 camelia rakudo-moar 373adc: OUTPUT«Constraint type check failed for parameter '%b'␤  in sub foo at /tmp/lI6uuivpfY line 1␤  in block <unit> at /tmp/lI6uuivpfY line 1␤␤»
09:43 RabidGravy bit of a mouthful that is
09:43 ChoHag Don't like the look of that.
09:44 RabidGravy there has to be a slurpy hash as there is a default slurpy that you get if don't specify it and that will get any other nameds
09:45 RabidGravy you could probably make a sub or method trait that did it for you
09:46 Guest73034 I wonder what my little program in Javascript: would look like written in Perl? I'll have to get to it!
09:47 nowan_ joined #perl6
09:48 ellybelly joined #perl6
09:49 RabidGravy Guest44389, it wouldn't be any longer in P 6
09:52 pierre-vigier joined #perl6
09:53 pierre-vigier joined #perl6
09:54 niceperl joined #perl6
09:55 mojca nine, ChoHag, Woodi: installation of moarvm was finally successful, but I need to get rid of all the additional libraries which shouldn't be installed together with that package
09:55 nowan joined #perl6
09:56 znpy joined #perl6
09:56 ChoHag Dependency tracking is a hairy problem.
09:57 ChoHag I expect including those 3rd party libraries was a solution deemed good enough for development time.
09:58 ChoHag Now that it's reached 'production' (FSVO) they need a bit more nuance.
09:58 RabidGravy I know of things that have been around for years that bundle some of their dependencies, usually because there is so much variance in version in the wild
09:59 ChoHag Including dependencies is fine. Building them and installing them without consideration of the external environment less so.
10:00 RabidGravy yeah, should go in a private place
10:00 lnrdo joined #perl6
10:00 ChoHag foo():bar:baz just calls foo(:bar, :baz) right?
10:01 lnrdo joined #perl6
10:02 ChoHag So what does foo():bar:baz($bing) do?
10:04 RabidGravy in the former case you get booleans, in the latter baz haz the value of $bing and bar is still a boolean
10:05 ChoHag Not that.
10:05 nine After reading many posts on hacker news of all sites it's really depressing to see so much negativity on
10:06 ChoHag It doesn't appear to call foo(:bar, :baz($bing)).
10:06 ChoHag nine: Welcome to the internet.
10:07 nine ChoHag: used to be a shining safe haven with comments that really add to the site's content.
10:07 RabidGravy ChoHag, no really it does
10:07 RabidGravy m: sub foo(*%foo) {say %foo}; foo():foo:bar("ghshs")
10:07 camelia rakudo-moar 373adc: OUTPUT«bar => ghshs, foo => True␤»
10:08 ChoHag RabidGravy: I think it changes when there are (possibly mis-Signatured) multis.
10:08 RabidGravy ah
10:10 espadrine joined #perl6
10:11 ChoHag Another problem for later.
10:15 FritzZaucker joined #perl6
10:18 Arrowhead joined #perl6
10:19 mojca I submitted
10:20 mojca Feel free to comment if I got anything of that wrong
10:20 andreoss > $ /home/andreoss/rakudo/коледа/bin/moar --libpath=src/vm/moar/stage0 src/vm/moar/stage0/nqp.moarvm --bootstrap --setting=NULL --no-regex-lib --target=mbc
10:20 andreoss > Unhandled exception: Will not decode invalid ASCII (code point > 127 found)
10:21 FritzZaucker joined #perl6
10:21 andreoss RabidGravy: definitely not a rakudobrew issue
10:22 FritzZaucker​ive-samples/tree/master/golf-helper .... the callbacks on schedule have errors with 6.c .... can anybody advice what must be changed?
10:24 moritz_ joined #perl6
10:24 moritz_ oh hai
10:24 Guest73034 oh hai
10:24 moritz_ how are things here, post-christmas?
10:25 RabidGravy FritzZaucker, for one thing it predates NativeCall being in core so that part is un-necessary
10:26 RabidGravy andreoss, that doesn't mean it's Moars fault, it just means that "something" is putting a badly encoded string somewhere it shouldn't
10:27 FritzZaucker joined #perl6
10:29 andreoss RabidGravy: i run moar directly from shell, what else could it be?
10:30 RabidGravy how did the moar get built?
10:31 andreoss with non-ascii prefix yes
10:31 dalek mu: 6eec18f | moritz++ | util/
10:31 dalek mu: Attempt to fix 403 error
10:31 dalek mu: review:
10:33 RabidGravy I would contend then that "something" while configuring moar caused a poorly encoded string to get into the compiled moar, so my first suspect in this case would be rakudobrew, my second suspect would be moar's configure
10:33 moritz_ .tell Ulti re​erl6/2015-12-26#i_11782724 please ping in 2016 about that, currently not at home
10:33 yoleaux moritz_: I'll pass your message to Ulti.
10:35 moritz_ thanks everybody, and most of all [Coke]++, for the great release
10:36 * moritz_ disappears into the bottomless void of mobile-only Internet again
10:36 andreoss also, why moarvm uses Windows-style path separator?
10:36 andreoss in its trace stack
10:38 nine andreoss: it usually doesn't?
10:39 andreoss may be i haven't noticed before
10:40 andreoss nine: is it a default? why?
10:40 lizmat good *, #perl6!
10:40 yoleaux 04:05Z <gfldex> lizmat: should the last pair vanish in 'm: dd({:a(1), :b(2)}, :c(3));' ?
10:40 RabidGravy marnin
10:41 pmurias lizmat: HI
10:41 lizmat .tell gfldex dd only takes positionals and ignores nameds: that was the only way to get positionals to work and keep order of specification
10:41 yoleaux lizmat: I'll pass your message to gfldex.
10:41 lizmat pmurias o/
10:41 RabidGravy FritzZaucker, it appears that if you change the schedule_on to schedule-on and use the GTK::Simple from the ecosystem it dies in an altogether more interesting way
10:42 lizmat pmurias: I understand you have a grant proposal?   do you have a url handy ?
10:42 nine andreoss: it does _not_ use Windows path separators: install/share/perl6/runtime/perl6.m​oarvm:<dependencies+deserialize>:6
10:43 andreoss
10:43 andreoss >  at gen\moar\stage2\NQPHLL.nqp:6  (src/vm/moar/stage0/NQPHLL.moarvm::48)
10:44 nine andreoss: the gen\moar\stage2\NQPHLL.nqp is what the source code claims for a file name
10:48 diakopter nqp is usually bootstrapped on a windows machine
10:48 diakopter re-bootstrapped
10:49 diakopter there's a version of nqp in its repo (called stage0) that is built from the last successfully bootstrapped one. it was originally bootstrapped from a port of pmichaud's original nqp compiler/regex engine for parrot
10:50 pmurias lizmat: grant proposal draft ->​_proposal/blob/master/draft.pod
10:50 FritzZaucker joined #perl6
10:51 andreoss diakopter: how can i cleanse this ugly stuff?
10:51 diakopter I suppose you could make your own bootstrap build
10:52 FritzZaucker RabidGravy: thanks, I'll try later.
10:52 nexysno_ joined #perl6
10:53 andreoss diakopter: rakudobrew does --gen-moar isn't it enough?
10:54 cygx joined #perl6
10:54 nine andreoss: more importantly: why do you wish to "cleanse" this stuff?
10:55 andreoss nine: it looks bad
10:55 skyl4rk joined #perl6
10:57 cygx andreoss: you understand how bootstrapping works?
10:57 nine andreoss: you will see this only when NQP's build fails. Once NQP is built, it will show paths according to your platform's conventions.
10:57 cygx packaging an nqp build for both *nix, windows, $whatever just to make it look better is not a good idea
10:57 andreoss cygx: probably not, but i guess you need a existing nqp to build a new one
10:58 diakopter andreoss: but yes, there is a bug there preventing using that коледа tag
10:59 diakopter I suspect it's in the filename annotation system
10:59 vendethiel joined #perl6
11:00 sno joined #perl6
11:00 diakopter when I originally wrote it for moarvm it handled only ascii filenames/paths; I wonder if that old convention persisted to today
11:00 _mg_ joined #perl6
11:01 cygx andreoss: yes, and that nqp version can be found in​ree/master/src/vm/moar/stage0 according to the platform conventions used by the system it was last updates from
11:01 patrickz joined #perl6
11:02 cygx there might a discussion to be had if some conventions should be checked at run-time instead of compile-time if we wanted to distribute .moarvm files
11:02 cygx that's not the direction we seem to be going in, though
11:03 patrickz joined #perl6
11:09 lizmat m: say,12,31,23,5​9,60,0).later(:86400second)
11:09 camelia rakudo-moar 373adc: OUTPUT«1973-01-01T23:59:59Z␤»
11:10 lizmat m: say,12,31,23,59,60,0).later(:1day)
11:10 camelia rakudo-moar 373adc: OUTPUT«1973-01-02T00:00:00Z␤»
11:10 lizmat these results seem inconsistent to me
11:11 lizmat if we take the same logic as we have with leap-days, then :1day result should be the same as the :86400second result
11:16 lizmat .tell masak is there a reason why,12,31,23,5​9,60,0).later(:86400second) and,12,31,23,59,60,0).later(:1day) should give different results ?
11:16 yoleaux lizmat: I'll pass your message to masak.
11:21 timotimo oh my word, the backlog is gigantic
11:21 cygx lizmat: depends on whether you define a day as a (variable-length) calendar day, or a constant unit of time
11:23 cygx tough the former doesn't really make sense if yo use the day as a duration
11:23 xinming joined #perl6
11:24 cygx I guess what it comes down to is whether
11:24 cygx * .later(:1day) should add a day, or refer to the same time on the next day
11:25 mojca Is it OK to fetch NQP from​qp/archive/2015.12.tar.gz or are there any caveats like for MoarVM as well?
11:26 nine timotimo: yes, the usual slow down during European night is far less visible now
11:26 timotimo ugh :)
11:27 nowan joined #perl6
11:28 ShimmerFairy considering we already take a day to be 24 hours in this case, I'd lean towards the more human-friendly choice :)
11:28 crux joined #perl6
11:29 lizmat cygx: so would you consider the current result correct or incorrect ?
11:29 cygx mojca: I think it's fine, but the 'supported' ways to get the source via `git clone` or from and
11:30 lizmat I mean, if we go from 2016-01-31 + 1 month, we wind up in 2016-02-29
11:30 lizmat aka, we don't carry over to the next month
11:30 lizmat this is even documented in the code:
11:30 lizmat # If we overflow on days in the month, rather than throw an
11:30 lizmat # exception, we just clip to the last of the month
11:31 ShimmerFairy lizmat: I think I'd expect it to be the same as :86400seconds , since that will be "tomorrow, at this same time" according to human eyes :)
11:31 cygx ShimmerFairy: not if there's a leap second
11:33 ShimmerFairy cygx: technically, yes, but a human would see the clock and say that 1973 Jan 1 23:59:59 is exactly one day since 1972 Dec 31 23:59:59
11:34 cygx ShimmerFairy: but then :1day !== :8400seconds, and your comment no longer makes sense ;)
11:34 ShimmerFairy oh wait, I was misreading the tests.
11:35 ShimmerFairy lizmat: is there any case where we can really expect someone to try 60 as a number of seconds and then get upset that :1day and :86400seconds aren't the same?
11:36 cygx lizmat: I guess same time next day would be more DWIM-y
11:36 araujo joined #perl6
11:36 cygx which opens up the question, what should :24hours do
11:36 hassoub joined #perl6
11:36 lizmat well, I've been looking at making DateTime.later more efficient
11:37 lizmat and my patch breaks a number of tests... the above being one of them
11:37 lizmat (basically)
11:37 araujo joined #perl6
11:37 sno joined #perl6
11:37 lizmat so I was asking masak what his thinking was when implementing this
11:38 lizmat as this behaviour seems to be different from the behaviour seen when moving 1 month from a day that doesn't exist in the next month
11:39 ShimmerFairy lizmat: my feeling is that :second is a precise statement of how many seconds you want to advance, while :day will read as "give me the next day", a less precise measure to be asking for.
11:39 araujo joined #perl6
11:39 ShimmerFairy lizmat: so, my feeling on :day is the same as it was on :month; when I say the next month of Jan 31, I'm really expecting February, not March :)
11:40 lizmat right, so you agree with my point  :)
11:40 lizmat m: say,12,31,23,59,60,0).later(:1day)   # should be on Jan 1
11:40 camelia rakudo-moar 373adc: OUTPUT«1973-01-02T00:00:00Z␤»
11:41 ShimmerFairy lizmat: yes, because I at least mean the next square on the calendar when I say "1 day later", not a precise accounting for leap seconds and such :)
11:43 ChoHag Maths on dates?
11:43 ChoHag Hold on. Need popcorn.
11:44 ChoHag OK continue.
11:46 cygx personally, I only measure time in beats of (86400/1024)s since Unix epoch
11:46 cygx who cares about such h´things as 'minutes', 'hours' or 'days' :p
11:47 mojca What's the proper way to check the output of tests and the proper place to report failures?
11:48 mojca I get t/hll/06-sprintf.t .................... Failed 7/265 subtests
11:48 mojca t/nqp/60-bigint.t ..................... Failed 1/80 subtests
11:51 ChoHag minutes and hours are arbitrary but the day and year are perfectly cromulent units of measure.
11:51 ChoHag And, incidentally, why decimal time measurement is a ridiculously stupid idea.
11:51 cygx mojca: moarvm an nqp bugs are tracked on github, for rakudo proper, send an email to with a subject starting in [BUG]
11:52 cygx you can run test files manually (./nqp
11:52 Psyche^ joined #perl6
11:52 llfourn mojca: perl t/harness --verbosity=5 t/spec/[the test(s)]
11:52 cygx * `./nqp t/nqp/60-bigint.t`
11:52 llfourn mojca: usually with --fudge --moar as well
11:52 cygx ChoHag: my atomic clock has no setting for 'days' or 'years'
11:53 ChoHag Well that's a shame because the planet you live on does, and they're hard-coded.
11:53 mojca nqp doesn't accept --fudge or --moar
11:54 mojca I get not ok 39 - mod_I - positive and negative
11:54 llfourn mojca: sorry I thought you were talking about rakudo :)
11:54 mojca but I'll try perl5
11:58 mojca anyway, nqp::mod_I(box(12), box(-4), $bi_type) from that test suite returns -4
11:58 mojca I guess I should report that to the nqp bug tracker then?
12:00 pierre-vigier joined #perl6
12:00 nine mojca: yes, nqp
12:00 llfourn mojca: if nqp test suite is failing for you I think so
12:05 Woodi but in humans languages :nextMonth != +30days and last day in a month is a special case in speaking language
12:09 Skarsnik joined #perl6
12:13 cygx m: say <42>.^name
12:13 camelia rakudo-moar 373adc: OUTPUT«IntStr␤»
12:13 cygx ^^ bug? single values without spaces shouldn't be allomorphic
12:13 cygx m: say <42+3i>.^name; say < 42 + 3i >.^name
12:13 camelia rakudo-moar 373adc: OUTPUT«Complex␤List␤»
12:14 cygx m: say <42+3i>.^name; say < 42+3i >.^name
12:14 camelia rakudo-moar 373adc: OUTPUT«Complex␤ComplexStr␤»
12:18 zengargoylew joined #perl6
12:19 cygx got to go o/
12:21 asa_ joined #perl6
12:25 lustlife joined #perl6
12:26 kovi joined #perl6
12:26 xpen joined #perl6
12:29 mojca I now installed MoarVM and NQP. The build of rakudo is successful (many tests fail though or have a parse error).
12:29 mojca But I'm unable to run the destroot phase.
12:29 mojca ./perl6-m tools/build/
12:29 mojca No writeable path found in block <unit> at tools/build/ line 12
12:29 nine mojca: do you build rakudo nom or 2015.12?
12:30 mojca 2015.12
12:30 nine Oh, a fix for that issue is in nom
12:32 CIAvash joined #perl6
12:32 nine mojca: I'm more worried about your test failures though. Are you sure, your MoarVM build uses only the bundled libraries?
12:32 lnrdo joined #perl6
12:33 mohij joined #perl6
12:34 vendethiel joined #perl6
12:35 mojca is nom just a "synonym" for "master/trunk"?
12:35 mojca I'll try to use that one then
12:35 lizmat mojca: yes
12:35 mojca I'll double-check the libraries being used
12:35 lizmat hysterical raisins
12:36 lizmat it stands for "new object model"   (which was once new)
12:36 mojca I need to figure out what to do about the libraries though because it will be a bit annoying to have perl6 conflict with a number of other ports
12:36 vendethiel .oO( we still think it's cute )
12:36 mojca ports = packages
12:37 jdv79 ugexe: yeah.  i've just started looking into this stuff.  might be a while til i get anything useful done as i'll be traveling more in the next few weeks.
12:37 mojca would it be acceptable to use perl6 with external libraries if I make sure that all external libraries are really up-to-date?
12:37 mojca that is: as the long-term goal
12:37 jdv79 ugexe: maybe someone else could pitch in:)  but if not i'll hit it when i get back.
12:37 mojca for testing it's fine if I use the internal ones
12:38 RabidGravy mojca, if it can be made to work then I am sure the input would be much appreciated :)
12:38 mojca Or this one would have to be addressed:
12:38 kid51 joined #perl6
12:45 nine mojca: please note that AFAIK MoarVM uses a somewhat outdated version of libuv currently. It needs to be updated at some point. I guess it's very much dependent on libuv's stability (as in API) track record if we can use external libraries
12:47 RabidGravy mojca, fwiw there's a #moarvm channel where there may be less noise to discuss these matters :)
12:47 mojca thank you
12:48 RabidGravy but I think there would probably be broad agreement with what you are suggested
12:48 RabidGravy er suggesting
12:50 timotimo lizmat: "nom regression" :)
12:52 cosimo hi folks!
12:52 timotimo hey cosimo
12:52 cosimo (my first message of the post-Christmas era) :-)
12:53 RabidGravy yo!
12:53 cosimo any comments on such issues?​perl6-digest-md5/issues/15
12:53 cosimo why should I or shouldn't I change the code to kebab-case?
12:54 saaki joined #perl6
12:55 RabidGravy well, the expectation set by the Perl 6 core API is for kebab-case rather than snake_case but it's probably a matter of taste in modules
12:55 nash_ joined #perl6
12:55 RabidGravy I'd go with add kebab-case, deprecate the camel_case and remove them some point in the future to minimise the fallout
12:56 cosimo specifically for modules that are transposed from p5, I would expect the same names
12:56 RabidGravy do both then
12:56 RabidGravy :)
12:56 cosimo is there some *md5-hex = *md5_hex kind of aliasing?
12:56 timotimo constant &md5-hex = &md5_hex
12:56 nine cosimo: I'd use camel_case for the P5 interface and if you add a more 6ish interface, use kebab-case for that
12:57 cosimo nine: yes. makes sense to me. In that case, I would drop Digest::MD5 entirely and have a Digest module (sort of python's hashlib)
12:58 cosimo thanks guys
13:01 RabidGravy .seen tony-o
13:01 yoleaux I saw tony-o 18 Dec 2015 18:38Z in #perl6: <tony-o> lol
13:01 RabidGravy not entirely missing then
13:02 * RabidGravy fixes HTTP::Server::Async anyway
13:10 lustlife joined #perl6
13:13 cosimo stupid q. what's the difference between 'constant T = 42' and 'my \T = 42' ? what's 'my \T' anyway?
13:14 Skarsnik A sigil less variable
13:14 nine cosimo: \T is a sigilless variable, that's a variable that doesn't impose any interface at all on its contents (while e.g. an @array forces the contained object to do the Positional role)
13:15 Grrrr joined #perl6
13:15 nine cosimo: my $foo forces a Scalar container, i.e. something that can be assigned to.
13:16 cosimo next q is why would I need a sigilless variable?
13:16 cosimo f.ex. here​st-md5/blob/master/lib/Digest/
13:16 nine cosimo: you mostly don't. It's an advanced too for when you know you need it :)
13:16 nine s/too/tool
13:19 timotimo - this is cute!
13:22 rburkholder joined #perl6
13:23 _mg_ joined #perl6
13:24 Skarsnik quick, someone do a perl 6 implementation in a slang x)
13:24 Skarsnik of this
13:24 RabidGravy timotimo, yeah I saw that before, it's just a shame there doesn't appear to be any source code available
13:25 Ch0c0late joined #perl6
13:26 timotimo no source code?
13:26 awwaiid nine: I like this terminology of sigils being Role restrictions
13:26 timotimo wtf.
13:26 awwaiid timotimo: Skarsnik: there is definitely source, lemme see...
13:26 RabidGravy Skarsnik, a binding to libpd or supercollider would work too, I've got one of those on my TODO but way way down
13:26 awwaiid
13:27 RabidGravy aha, awwaiid++ just not obvious enough for me then ;-)
13:27 awwaiid I've read through the source -- it is from one of the authors of Overtone (clojure), and interestingly one of the first thing the author does in sonic-pi is to add some functional helpers to ruby
13:27 awwaiid RabidGravy: yeah -- the site is more for consumers than for developers
13:27 timotimo just watching the lightning talks from the 32c3 right now
13:28 timotimo of course the topics wildly differ
13:28 timotimo  -  there's also a switch at th ebottom between "native" and "translated"
13:28 timotimo so if the tack is german, you can get the synchronous translation instead
13:28 RabidGravy so supercollider binding then - shouldn't me much of an ask
13:30 lustlife` joined #perl6
13:31 n0xff joined #perl6
13:32 awwaiid RabidGravy: timotimo:​ster/app/server/sonicpi/lib/sonicpi/atom.rb -- port of clojure's atom to ruby, give or take. Kind of a gem hidden in here!
13:34 Skarsnik I should try atom, how well it fair on not so new PC?
13:36 awwaiid Skarsnik: this 'atom' is a concurrency construct, not the editor
13:36 timotimo yeah, but i think he just got inspired
13:36 awwaiid ah :)
13:36 timotimo by the name alone
13:36 Skarsnik ? Oh I was lost watching if there was an update of my perl6 syntaxhightligh for Kate
13:37 RabidGravy jnthn's OO::Monitor does something similar I think
13:40 RabidGravy gah, HTTP::Server::Async has a bug in chunked decoding brought on by the \r\n thing
13:40 RabidGravy where is that guy who fixed up the chunked stuff for H::UA when you need him
13:41 awwaiid OO::Monitor looks like a superset of the functionality of atom's swap! ; in clojure (def foo (atom 5)) (swap! foo inc) does an optimistic increment of the contents of foo -- if some other thread modifies foo at the same time, the swap! will throw away its result and try again (over and over until it "wins"). so swap! takes an atom and a function, passing the function the current contents of the atom
13:41 vendethiel atom, agents, ref... clojure's STM is lovely
13:41 awwaiid yeah
13:41 awwaiid and very-built-in
13:43 awwaiid seems like one could build equivalent apis with clean syntax in p6
13:43 RabidGravy yeah all the bits are there I guess
13:44 awwaiid my Atom $foo = 5; $foo.swap(*++)
13:44 garu everyone++ # great work!
13:45 awwaiid Greetings garu
13:46 garu hi awwaiid :)
13:47 vendethiel fwiw, monitor is not really akin to swap!, because it doesn't in any way. Doesn't
13:47 aenaxi joined #perl6
13:47 awwaiid vendethiel: because it doesn't retry?
13:47 vendethiel ask for purity... Instead, it just locks
13:48 Skarsnik hm, does roles get copied/cloned when doing my $b = $a ?
13:48 timotimo that's not a copy or clone operation
13:48 timotimo that.s just an assignment
13:48 awwaiid vendethiel: yeah, I see what you mean
13:49 awwaiid m: my Int $x = 2; my $y = "foo"; my Str $z = "bar"; $y = 2; $z = $x;
13:49 camelia rakudo-moar 373adc: OUTPUT«Type check failed in assignment to $z; expected Str but got Int␤  in block <unit> at /tmp/fGYjavM_Ea line 1␤␤»
13:50 awwaiid er. close enough
13:50 Skarsnik I suspect NC lead to leak when copying Str returned because there are tagged with the role ExplicitlyManaged and if this role get propagated on copy... well it's suck x)
13:53 ChoHag Can perl6 print a trace of function calls as they're made?
13:53 disturbingly_rea joined #perl6
13:53 ChoHag It'd save me sticking print statements at the beginning of every function.
13:53 garu I'm getting "Could not find symbol '&bool' in block  at /Users/garu/.rakudobrew/moar-nom/i​nstall/share/perl6/sources/8C0492C​68474778534A631C115702858D0FF276E line 13" during rakudobrew build moar
13:54 Skarsnik remove an old install
13:54 garu a-ha! thanks
13:54 daxim joined #perl6
13:54 Skarsnik We should do a small FAQ
13:55 Skarsnik but it will mostly end in "nuke and reinstall" x)
13:55 garu I should have tried this before... guess I'm just not used to "reinstall" as a way to fix things on a non-windows box :)
13:56 awwaiid ChoHag: I think I saw something about tracing in a commit message. Lemme see here.... but in the mean time you should try out my LREP lib ;)
13:56 RabidGravy garu, quite a few imcompatible changes went in the last few weeks
13:56 RabidGravy incompatible viz installation that is
13:57 loren joined #perl6
13:57 garu RabidGravy: I see... I did do a rakudobrew self-upgrade, guess I was expecting it to be on par with the recent updates
13:57 loren Evening , #Perl 6
13:57 disturbingly_rea m: say ((1..5).map:{my $t = $_; (1..$t).map:{($t,$_)}})[1]; say ((1..5).map:{my $t = $_; (1..$t).map:{($t,$_)}}).flat[1];
13:57 camelia rakudo-moar 373adc: OUTPUT«((2 1) (2 2))␤1␤»
13:57 disturbingly_rea what's the correct way of getting (2 1) here?
13:58 disturbingly_rea flat does more flattening than I expected
13:58 Skarsnik I am tempted to add State in DBIish x)
13:58 _wiz_ joined #perl6
13:58 awwaiid m: say ((1..5).map:{my $t = $_; (1..$t).map:{($t,$_)}})[1]; say ((1..5).map:{my $t = $_; (1..$t).map:{($t,$_)}})
13:58 camelia rakudo-moar 373adc: OUTPUT«((2 1) (2 2))␤(((1 1)) ((2 1) (2 2)) ((3 1) (3 2) (3 3)) ((4 1) (4 2) (4 3) (4 4)) ((5 1) (5 2) (5 3) (5 4) (5 5)))␤»
13:59 awwaiid m: say ((1..5).map:{my $t = $_; (1..$t).map:{($t,$_)}})[1]; say ((1..5).map:{my $t = $_; (1..$t).map:{($t,$_)}}).flat
13:59 camelia rakudo-moar 373adc: OUTPUT«((2 1) (2 2))␤(1 1 2 1 2 2 3 1 3 2 3 3 4 1 4 2 4 3 4 4 5 1 5 2 5 3 5 4 5 5)␤»
13:59 awwaiid ah, I see
13:59 loren m: my @x = (1, 2, 3, 4, 5, 6, 7, 8);for @x -> $y { say $y; my $z = @x.shift; say $z;  }; ## access '@x' in 'for' make output a mess
13:59 camelia rakudo-moar 373adc: OUTPUT«1␤1␤3␤2␤5␤3␤7␤4␤»
13:59 _wiz_ how can I subscribe to perl6 bugs on when I log in, I don't have any rights to any open bug reports.
13:59 _wiz_ I can't even search for them.
13:59 ChoHag awwaiid: Your lrep evangelism doesn't come with a link I'll be able to check out when I come home later.
13:59 loren Someone can explain this ?
13:59 _wiz_ using a bitcard login.
14:00 mojca Can someone please suggest me about these test results?
14:00 awwaiid ChoHag: ; panda install LREP, then 'use LREP; ... ; LREP::here;' <- will open a REPL prompt 'here'
14:01 madjestic joined #perl6
14:01 Skarsnik mojca, try running one of the test alone?
14:01 garu _wiz_: you should be able to search rt without an account by going to and clicking on the "perl6" queue
14:01 Skarsnik the harness on Test is really bad most of the time..
14:01 awwaiid ChoHag: then from the prompt you can look around. It's not a trace, but lets you dynamically explore what is going on in the middle of your proggie
14:02 _wiz_ garu: yes, that works, but I want to subscribe to a bug I didn't file
14:02 _wiz_ and for that I need an account
14:02 garu _wiz_: oh, right
14:02 awwaiid disturbingly_rea: I don't know what to do, but maybe you need to sprinkle in a 'flatmap' instead of a map for one of those things
14:03 cosimo what do you guys use as repl? just perl6?
14:03 mojca what does the file $prefix/share/perl6/repo.lock do on the list of installed files?
14:03 disturbingly_rea m: say (1..5).flatmap:{my $t = $_; (1..$t).map:{($t,$_)}};
14:03 camelia rakudo-moar 373adc: OUTPUT«(1 1 2 1 2 2 3 1 3 2 3 3 4 1 4 2 4 3 4 4 5 1 5 2 5 3 5 4 5 5)␤»
14:03 * Zoffix looks up and notices we have 40 more people than usual here
14:03 ChoHag Consider it logged.
14:03 * ChoHag out
14:03 disturbingly_rea cosimo: yeah, I just use perl6
14:03 cosimo any possibility of readline support and/or tab completion?
14:04 Zoffix cosimo, there's Linenose
14:04 awwaiid cosimo: right now perl6 by itself is the main option. I'm building a toy named LREP (it provides perl6-lrep), but it has less features. someone is also working on a jupyter backend (aka iPython) which should be awesome
14:04 Zoffix cosimo,
14:04 cosimo ah, cool
14:04 awwaiid cosimo: yes, if you 'panda install linenoise' then your perl6 built-in repl will be a lot more useable
14:04 hoelzro cosimo: Readline support also exists as of yesterday
14:04 cosimo there's already multiple efforts to build a repl :)
14:04 awwaiid hoelzro: orly?
14:04 Zoffix cosimo, there may be a module named Readline or something that's better.... Totally forget the name, but I saw a commit fly by mentioning it
14:05 madjestic hey guys, I am new to perl6. I am getting Unable to load setting CORE; maybe it is missing a YOU_ARE_HERE? error in REPL.  What am I missing?
14:05 awwaiid cosimo: the more the merrier :)
14:05 hoelzro awwaiid: yeah, I added it yesterday
14:05 cosimo cool
14:05 hoelzro unfortunately, the Readline support doesn't yet have tab completion
14:05 timotimo madjestic: sounds a bit like installation went wrong; does it work without the REPL?
14:05 timotimo like, with a simple -e 'say "hi"' or a perl6 source file?
14:05 awwaiid hoelzro: is it better than linenoise because it is doesn't need an additional lib?
14:05 loren Anyone can explain this code's problem #_#
14:05 loren m: my @x = (1, 2, 3, 4, 5, 6, 7, 8);for @x -> $y { say $y; my $z = @x.shift; say $z;  }; ## access '@x' in 'for' make output a mess
14:05 camelia rakudo-moar 373adc: OUTPUT«1␤1␤3␤2␤5␤3␤7␤4␤»
14:06 disturbingly_rea m: say (1..5).flatmap:{my $t = $_; (1..$t).map:{$($t,$_)}};
14:06 camelia rakudo-moar 373adc: OUTPUT«((1 1) (2 1) (2 2) (3 1) (3 2) (3 3) (4 1) (4 2) (4 3) (4 4) (5 1) (5 2) (5 3) (5 4) (5 5))␤»
14:06 disturbingly_rea that's the badger
14:06 awwaiid disturbingly_rea: woo!
14:06 madjestic timotimo: I'll try a hello world example
14:06 hoelzro awwaiid: the linenoise module bundles the linenoise lib; a lot of people just prefer GNU readline it seems
14:07 awwaiid hoelzro: ahh. I thought linenoise was just another readline interface
14:08 ShimmerFairy loren: looks like the internal pointer (or whatever it is) doesn't update along with a change in the array's size or something. The solution of course is to not modify an array you're looping over :)
14:08 awwaiid loren: that's pretty interesting. I think the for loop maybe iterates over a copy or snapshot of @x?
14:09 mojca Skarsnik: how do I run a single test? I can run "perl5.22 t/harness --moar t/01-sanity", but I don't know how to run a single one
14:10 * RabidGravy takes all the "no precompilation" out of H::UA finds it still works
14:10 mojca running "perl6 53-transpose.t" is successful though
14:10 loren m: my @x = (1, 2, 3, 4, 5, 6, 7, 8);for @x -> $y { say $y; my $z = @x.shift; say '-' ~ $z;  }; ## access '@x' in 'for' make output a mess
14:10 camelia rakudo-moar 373adc: OUTPUT«1␤-1␤3␤-2␤5␤-3␤7␤-4␤»
14:11 loren awwaiid, i think it's not a copy ..
14:11 Skarsnik mojca, err, that not a good sign x)
14:11 Zoffix m: my @x = (1, 2, 3, 4, 5, 6, 7, 8);for [@x] -> $y { say $y; my $z = @x.shift; say '-' ~ $z;  };
14:11 camelia rakudo-moar 373adc: OUTPUT«1␤-1␤2␤-2␤3␤-3␤4␤-4␤5␤-5␤6␤-6␤7␤-7␤8␤-8␤»
14:12 mojca which part is not a good sign?
14:12 Skarsnik if it's run fine without the harness
14:13 loren ShimmerFairy, em, but sometime we have to do this .
14:14 _wiz_ what are the files in
14:14 _wiz_ aehm
14:14 _wiz_ share/perl6/short
14:14 _wiz_ ?
14:15 ShimmerFairy loren: I think I just have a habit of using a separate "output" array; I have no clue what I would expect further iterations to be if I modified the array beyond the current element, so I wouldn't risk trying it.
14:15 loren Zoffix, i want get element one by one from '@x'
14:15 Zoffix loren, what's with the shift business?
14:16 mojca Skarsnik: ok, but how should I run the tests? I know "make test" and don't know what to do if a number of tests don't even start
14:16 ab6tract joined #perl6
14:16 Zoffix m: my @x = 1..8; for @x -> $y { say $y; say "-$z";  };
14:16 camelia rakudo-moar 373adc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7vsqSQPTR3␤Variable '$z' is not declared␤at /tmp/7vsqSQPTR3:1␤------> 3@x = 1..8; for @x -> $y { say $y; say "-7⏏5$z";  };␤»
14:16 Zoffix m: my @x = 1..8; for @x -> $y { say $y; say "-$y";  };
14:16 camelia rakudo-moar 373adc: OUTPUT«1␤-1␤2␤-2␤3␤-3␤4␤-4␤5␤-5␤6␤-6␤7␤-7␤8␤-8␤»
14:16 ab6tract loren: the for loop construct is not the one you want for mutating and array
14:16 ab6tract use while or until for that
14:17 Skarsnik mojca, I don't know, I was hoping running a test alone give some clue or why it fail
14:17 mojca as I said, it doesn't fail
14:17 mojca it just doesn't start
14:17 Zoffix m: my @x = 1..8 .map: {$_, -$_ }; say @x
14:17 camelia rakudo-moar 373adc: OUTPUT«Seq objects are not valid endpoints for Ranges␤  in block <unit> at /tmp/WubEYUfVpA line 1␤␤»
14:17 Zoffix orly
14:17 mojca I mean, "make test" skips the test
14:17 loren Zoffix, oh, For instance, i have a file content like this 'EN = A\n CN = \n EN=...'
14:17 mojca Dubious, test returned 1 (wstat 256, 0x100), No subtests run
14:17 _wiz_ does panda support DESTDIR?
14:18 ab6tract m: my @x = (1, 2, 3, 4, 5, 6, 7, 8); while +@x { my $z = @x.shift; say $z; say '-' ~ $z;  };
14:18 camelia rakudo-moar 373adc: OUTPUT«1␤-1␤2␤-2␤3␤-3␤4␤-4␤5␤-5␤6␤-6␤7␤-7␤8␤-8␤»
14:18 Zoffix _wiz_, I think I have seen someone open a bug report that --prefix doesn't work
14:18 loren Zoffix, when a read a EN line, i want read next line immediately
14:18 Zoffix loren, why? What are you trying to accomplish?
14:19 loren ab6tract, which loop control should i use ?
14:19 ab6tract loren: see my example above
14:19 _wiz_ zoffix: PREFIX is something else than DESTDIR, but good to know.
14:19 mojca Skarsnik: oh, I have found the way
14:19 loren Sorry, my example is in the company's computers
14:19 mojca perl5.22 t/harness --verbosity=9 --moar t/01-sanity/53-transpose.t
14:19 mojca Failed to create directory '/opt/local/share/perl6/vendor/dist' with mode '0o777': Failed to mkdir: 13
14:20 Zoffix m: my @x = 1..8; for @x -> $y, $z { say $y; say "-$z";  };
14:20 camelia rakudo-moar 373adc: OUTPUT«1␤-2␤3␤-4␤5␤-6␤7␤-8␤»
14:20 Zoffix loren, ^ you can also do that
14:20 ab6tract m: my @x = (1, 2, 3, 4, 5, 6, 7, 8); while +@x { my $z = @x.shift;  my $y = @x.shift if $z %% 2; say $y if $y; say '-' ~ $z;  };
14:20 camelia rakudo-moar 373adc: OUTPUT«-1␤3␤-2␤5␤-4␤7␤-6␤-8␤»
14:20 Skarsnik mode 777 what the hell
14:20 mojca This is expected because the package manage wouldn't let the package mess up with $prefix
14:20 RabidGravy quick straw-poll is anyone seeing the problem ?  H::UA doesn't do it and the easy reproduction doesn't
14:20 ab6tract loren: " $z %% 2;" this would be your test for EN line
14:20 mojca until it's asked to do so
14:21 mojca is there any remedy for that?
14:21 nine _wiz_: the files in share/perl6/short are quick lookup files that map from module name to distribution containing such a module.
14:21 Zoffix RabidGravy, that link sucks :)
14:21 Skarsnik RabidGravy, thta the update page x)
14:21 RabidGravy oh
14:21 nine mojca: does make test work _after_ a make install?
14:22 ab6tract loren: does this make more sense?
14:22 _mg_ joined #perl6
14:22 _wiz_ nine: thanks. are the hashes stable across operating system versions or operating systems?
14:22 RabidGravy :-p
14:22 mojca what should a make install change?
14:22 mojca I already installed rakudo, yes
14:22 loren Wait a moment, i make a example
14:22 nine _wiz_: yes. It's just a sha1 of the module name
14:22 Zoffix ab6tract, that code is terrible :|
14:22 _wiz_ nine: good news! thank you.
14:22 ab6tract Zoffix: I'm getting a bit tired of your negativity tbh
14:22 Skarsnik nine, mkdir with 777 permission sucks x)
14:23 mojca nine: but the package manager doesn't let the package create a directory
14:23 ShimmerFairy Skarsnik: it will respect your umask, fwiw, it's just LTA that it doesn't factor that in :)
14:23 nine Skarsnik: that 0o777 is subject to your umask
14:23 mojca and I'm not sure where that is done
14:23 ShimmerFairy *that in to the message, that is
14:23 ab6tract some days it feels like every other line out of your irc client is trash talk
14:23 mojca because 53-transpose.t doesn't have any signs of creating directories
14:23 Zoffix Only some days? :)
14:23 ab6tract dude, it's not cute
14:23 Zoffix Wasn't trying to be
14:23 nine mojca: rakudo tries to create the directory when it's looking for a module
14:24 mojca scratching my head ...
14:24 mojca why?
14:24 nine mojca: that was just a shortcut I took and was never meant to be a permanent solution. It's just that the release came in between.
14:24 Zoffix RabidGravy, do I need to set NETWORK_TESTING and install IO::Socket::SSL to get the error?
14:24 Skarsnik RabidGravy, did you change UA so I can update?
14:24 mojca is there any way to disable that behaviour temporary, just to see if the tests pass?
14:25 loren ab6tract, actually i have other way to solve the parser problem, i take more attention to the behavior of 'for'.
14:25 mojca or is there much more that would go wrong?
14:25 dotness joined #perl6
14:25 RabidGravy Zoffix, no it just blows up as soon as it gets to the third test
14:25 Zoffix RabidGravy, I got successful install. Trying now with Pastebin::Gist that is also mentioned on that ticket
14:26 Zoffix ==> Successfully installed Pastebin::Gist
14:26 Zoffix Seems like it was fixed at some point
14:26 ab6tract loren: ack. the thing is that for is just not a good construct if you want to pop/shift an array.
14:26 RabidGravy Skarsnik, not quite yet but it only reverts the "no precompilation" which I put in when it all went on fire the other week
14:26 ab6tract Zoffix: please explain what is so horrible about my code example
14:26 * RabidGravy readies a pony drop
14:27 kaare_ joined #perl6
14:27 loren ab6tract, so i should use loop or while ?
14:28 cosimo Zoffix: hoelzro: Readline works nicely, thanks
14:28 ab6tract and provide an alternative way to conditionally pull a value from an array on the condition of a current value
14:28 Skarsnik Attribute should have a method to get the sigiless name of a attribute x)
14:28 ab6tract loren: i'm still a bit fuzzy on what you are trying to accomplish
14:29 loren ab6tract, ok, wait me a moment, i write a example
14:29 ab6tract but if you want to pull one element, inspect it, and conditionally pull another one in the same iteration, than what i've provided should do what you want
14:29 mojca nine: files under $prefix are owned by root, while package manager uses its own user and only allows certain actions to be done as root
14:30 leont joined #perl6
14:30 nine mojca: I'm testing a fix that ought to at least make make test work
14:30 talexb_ joined #perl6
14:31 mojca perfect, thank you
14:31 Zoffix ab6tract, because it's unreadable. And the real problem is this: "<ab6tract> loren: i'm still a bit fuzzy on what you are trying to accomplish". Which is why I asked loren to elaborate on the goal and not just on their current means of trying to achieve. I think programming is more than just writing a bunch of characters. But sorry you think it's tiring negativity on my part.
14:34 RabidGravy Skarsnik, I have now update H::UA and even bumped the version so you can just do "panda install ...." without it blowing up
14:34 RabidGravy :)
14:34 nine mojca:
14:35 RabidGravy as a side benefit the tests seem to run quicker
14:35 Skarsnik and why it's a super slow :(
14:35 Skarsnik 30-cookies took forever
14:35 Skarsnik wtf
14:36 RabidGravy well previously there was "no precompilation" in Message, Request and Response
14:36 nine Skarsnik: does HTTP::UserAgent still carry the 'no precomplation;'?
14:36 RabidGravy no I just ridded it nine
14:36 Guest15478 joined #perl6
14:36 Skarsnik I am surprised nobody felt on a bug I left in cookies, but I feel like I was the only one using h:ua to login on a website xD
14:37 nine RabidGravy: that carries the risk of provoking run_alt again. But I guess it would actually be a good thing if we could reproduce it reliably again.
14:37 Skarsnik ==> Installing HTTP::UserAgent
14:37 Skarsnik HTTP::UserAgent:ver<1.1.10>​:auth<github:sergot>:api<> already installed
14:37 Skarsnik I hate this bug
14:37 AlexDaniel Skarsnik: --force it
14:37 AlexDaniel
14:37 timotimo --force? :P
14:37 Zoffix what's the bug?
14:37 RabidGravy eh? I upped there version
14:37 Skarsnik why it run the test all?
14:37 Zoffix Ah, right, I already asked last night.
14:38 nine Skarsnik: that's no bug.
14:38 Skarsnik I don't see how it's not a bug...
14:38 RabidGravy -    "version"   : "1.1.10",
14:38 RabidGravy +    "version"   : "1.1.11",
14:38 ab6tract m: my @a = 1..10; while +@a and @a.shift -> $x { if $x %% 2 and +@a { my $y = @a.shift; say "x:$x\ty:$y" } }
14:38 camelia rakudo-moar 373adc: OUTPUT«x:2  y:3␤x:4 y:5␤x:6 y:7␤x:8 y:9␤»
14:38 Zoffix LTA behaviour, I'd think: bail out of install if the version is already installed.
14:38 RabidGravy it's a bug somewhere if it hasn't used the right version
14:38 nine Skarsnik: you try to install an already installed version and rakudo refuses to do useless work. Where's a bug in that?
14:39 RabidGravy but I upped the version
14:39 RabidGravy it's 1.1.11 now
14:39 Skarsnik why trying bothering trying to install of it's already here..
14:39 nine RabidGravy: yep, that's more of a bug.
14:39 Skarsnik It should just say "It's already up to date"
14:39 awwaiid yeah. more like a warning than an error
14:39 nine Skarsnik: then implement just that
14:40 ab6tract Zoffix: ok man. it was unreadable. glad to know, because i did not notice. and yeah, it's the cumulation of reading you say things like "Failador" and "binning this with questionable design decisions"
14:40 Skarsnik It should not throw at least if it's an expected result x)
14:40 lustlife` can anyone tell me how to show camelia output normally in emacs irc buffer, do i need set some font for this ? the new line symbol show 2424, but in browser irc log,it shows normally with nl.
14:41 loren Zoffix, ab6tract , em, my english is so poor, haha ^_^, here the example​ateme/6f3bb7c8683958c06c8b
14:41 Skarsnik RabidGravy, well all the test passed at least ^^
14:41 ab6tract loren: link 404s.
14:41 awwaiid loren: link says 404, maybe you accidentally made a private gist
14:41 RabidGravy as nine says it may go on fire again, but it's a canary if you will
14:42 _wiz_ are there MoarVM people here?
14:42 awwaiid lustlife`: what do you mean by camelia output?
14:42 Zoffix awwaiid, the robot
14:42 awwaiid ahh
14:42 RabidGravy _wiz_, for reliable try #moarvm
14:42 _wiz_ rabidgravy: thanks
14:43 timotimo​2015/Fahrplan/events/7130.html  -  oh, look who's back!
14:43 lustlife` awwaiid: when i run some p6 code to perl6 evalbot i mean.
14:43 timotimo With more WATs, more broken concepts, and more wildly popular 0-days, we will finally prove the Perl language is a broken concept, one that stood tall for way too many years.
14:44 loren ab6tract, But i am sure it's public ..
14:44 loren I clicked public gist .
14:45 ab6tract loren: any chance some of the url got cropped?
14:45 Averna joined #perl6
14:45 timotimo "private" gists are still public to everyone who knows the URL
14:45 Skarsnik Yes
14:46 Skarsnik hm...
14:46 FritzZaucker joined #perl6
14:46 Skarsnik How I can have a "sorted" hash?
14:47 mojca nine: All tests successful.\nFiles=43, Tests=553, 284 wallclock secs ( 0.23 usr  0.14 sys + 237.48 cusr 10.09 csys = 247.94 CPU)\nResult: PASS
14:47 mojca thank you
14:47 mojca I guess that it only makes sense to do a simple "make test" or should I attempt other tests as well?
14:47 timotimo Skarsnik: you can add a role that records the order of key insertions and removes keys on deletion
14:47 timotimo and then uses nextsame to do the actual stuff the hash does
14:48 timotimo an implementation of that almost fits into a single IRC line
14:48 Skarsnik I want to handle DB field in a hash but I would want to have them always in the same order when going through it with kv x)
14:49 nine mojca: make spectest will download and run the spectest suite, but that's completely overblown for a simple installation
14:49 timotimo why not just .kv.sort(*.key) then?
14:49 Skarsnik Oh right
14:50 RabidGravy timotimo, was that guy scared by a Perl as kid or something?
14:50 mojca nine: ok. The question is whether this should be run at least once to confirm whether I missed something while preparing a package (users of the package would not run it)
14:51 mojca but if that is mainly for developers, I'll skip it as I don't plan to participate in the actual development
14:52 Zoffix timotimo, heh. wow, that's quite an event description. Funny, I'm pretty sure I know what the issue they're going to describe really is.
14:52 nine mojca: I'd say you already are :)
14:53 RabidGravy that's how it always starts ;-)
14:53 FritzZaucker ... jnthn's golf-helper.p6 (with schedule-on() instead of schedule-off() with 6.c and current GTK::Simple give the same error: "Invalid GC status observed". Does that mean that this is not working at the moment?
14:54 vendethiel FritzZaucker: yeah, that's why I created this rpeo
14:54 vendethiel repo*
14:55 RabidGravy I have an instinct it's the NativeCall/schedule-on combo but no evidence to back it up
14:55 FritzZaucker Ok ... too bad, I was just trying to implement my first (useful) p6 program and that would need a GUI and a timer ... I guess I'll have to think about something else then.
14:57 cosimo wow, I had a different idea of ccc...
14:58 mspo that talk was ridiculous
14:58 loren Zoffix, ab6tract awwaiid, please try this again ,​aloren/8e91279a76868b5810eb
14:58 loren maybe another account has some problem ..
14:59 dalek roast: f9ff1b3 | (Stefan Seifert)++ | S11-repository/curli-install.t:
14:59 dalek roast: Fix "no writable path" found in curli-install.t
14:59 dalek roast:
14:59 dalek roast: This test relied on a bug in rakudo that made it create the repository
14:59 dalek roast: directory during completely unrelated actions. When that bug is fixed,
14:59 dalek roast: the test would fail due to the non-existing repository directory.
14:59 dalek roast: review:
15:00 RabidGravy vendethiel, FritzZaucker fwiw it's the first schedule-on that causes the problem
15:00 ilbelkyr joined #perl6
15:00 xpen joined #perl6
15:02 leont RabidGravy: more likely, he was a schoolyard bully who just happened to pick a new target
15:02 Zoffix loren, yeah, that one works.
15:03 Zoffix loren, is the output always going to be EN/CN/EN/CN or do some lines contain EN/EN?
15:03 RabidGravy leont true
15:03 ab6tract loren: i think you want to try the variation i provide
15:03 ab6tract m: m: my @a = 1..10; while +@a and @a.shift -> $x { if $x %% 2 and +@a { my $y = @a.shift; say "x:$x\ty:$y" } }
15:03 camelia rakudo-moar 373adc: OUTPUT«x:2  y:3␤x:4 y:5␤x:6 y:7␤x:8 y:9␤»
15:04 Skarsnik I can't find the operator to create a list of the same element repeated a X number of time
15:04 loren Zoffix, yeah, like that format
15:04 orbus joined #perl6
15:05 Zoffix loren, then you can use for @lines -> $en, $cn. And you can use grep when you create @lines to filter out any unwanted crap
15:05 vendethiel lol, "we expect other languages to use the first element of the list" well no, I can prove that more languages even do like perl :D. but yeah, your talk sucks
15:05 Zoffix loren, gonna show you an example if my editor finally decides to start up -_-
15:05 loren ab6tract, thanks , check the element count is one way ..
15:06 ab6tract loren: as Zoffix mentions, if you know they come in EN/CN pairs, then pulling two at a time in a for loop is perfect
15:07 loren Zoffix, will it work on a large file ?
15:07 vendethiel "list is not a data type, they are just expressions" now you're just making up words :')
15:07 loren ab6tract, yeah, i also think so .. ^_^
15:08 loren ab6tract, we all want to find a easy way to deal with problem ..
15:09 loren {deal}{solve} # may be solve be better
15:11 mojca nine: here's another failed test
15:11 poldepaor joined #perl6
15:11 poldepaor hey guys :)
15:11 SwellJoe joined #perl6
15:12 loren poldepaor, hi
15:12 Juerd timotimo: Are you at 32c3?
15:12 mojca I'm not sure about the best way to post long chunks of code
15:12 RabidGravy I think a Language/ page on "lists and arrays" is probably in order
15:12 nine mojca: what's the permissions of /path/to/rakudo/work/rakudo-373adc0/lib/.precomp?
15:12 Skarsnik vendethiel, I don't even want to watch more of his talk, I guess it's like "Oh look there is no type on the language, so no data check, ohoho"
15:12 RabidGravy mojca, most people use github gists but ymmv
15:13 Zoffix Ugh, Sublime Text 2--
15:13 Zoffix loren, um, probably. I'm not sure if grep returns a lazy list in Perl 6. You could try it out:​ixznet/3c563a64d5c760983d85
15:13 vendethiel Skarsnik: nah, I mean, the issue is real. I consider wantarray a bug, and the API "param returns a scalar or a list" to be awful. But everything else is stupid
15:14 mojca nine: lib/.precomp is drwxr-xr-x (755)
15:14 nine param is very much deprecated by now due to this issue
15:14 Zoffix I have tons of code with scalar or list APIs.
15:14 nine mojca: and it's owned by the user running the tests?
15:14 mojca yes
15:14 ab6tract grep returns Seq which is lazy
15:14 Zoffix Sweet
15:15 leont Yes, it is awful, but as a community we've been telling people that for a decade.
15:15 nine mojca: does .precomp/.lock exist and have the same owner/permissions?
15:15 leont In particular, we've been telling them not to use
15:15 Juerd leont: Unfortunately, "we" do tell people to use drop-in replacements for it...
15:15 mojca .precomp/.lock exists and has permissions 644
15:16 mojca but it's true that one test suite is still running and I ran the failed test separately if that makes any difference
15:16 Juerd But yeah, the problem identified in that talk is not new and not very interesting.
15:16 poldepaor Any links to any good documentation and programs to get started with perl6? Looks like a mashup between C and Python
15:16 nine mojca: then I don't get why it's not allowed to write :/
15:16 Juerd poldepaor: Have you seen yet?
15:16 mojca oh, wait
15:16 Juerd poldepaor: For example code, from simple to complex, see
15:17 Zoffix poldepaor, there's and we also have an Advent Calendar with some neat articles:
15:17 dalek rakudo/nom: 4cf630b | (Stefan Seifert)++ | src/core/CompUnit/Repository/
15:17 dalek rakudo/nom: Fix make test failing on an unwritable install path
15:17 dalek rakudo/nom:
15:17 dalek rakudo/nom: Even if a CompUnit::Repository::Installation was never used for loading
15:17 dalek rakudo/nom: modules, it tried to mkdir its $.prefix and prefix/dist just to read the
15:17 dalek rakudo/nom: listing of an empty directory when calculating its identity.
15:17 dalek rakudo/nom:
15:17 dalek rakudo/nom: We're now a bit smarter and only read the directory if it actually
15:17 dalek rakudo/nom: exists.
15:17 dalek rakudo/nom: review:
15:17 mojca I ran that extra test manually, I'm sorry
15:17 nine mojca: the fix I posted before ^^^
15:17 poldepaor Thanks a lot guys. What do ye think of perl for automation?
15:17 nine mojca: thanks for patiently reporting :)
15:18 RabidGravy poldepaor, depends on what you want to automate :)
15:18 mojca thanks a lot
15:18 poldepaor Test automation mostly I guess?
15:19 loren Zoffix, that's very helpful, i think something like this 'for problem or behavior' should be share more, and people will avoid these mistakes
15:19 RabidGravy there should also be a doc page on lists and arrays
15:19 Skarsnik RabidGravy, if you are bored you could fix​t/blob/master/lib/HTTP/Cookies.pm6#L92 I write this so the test pass (because they give expire string looking like DATE1 or DATE2)
15:20 Skarsnik I don't even know how the old code was not failing (probably because the field get lost or something xD°
15:20 RabidGravy Skarsnik, oh I'm not bored :) I'm just taking a break from trying to work out my GDBM code is segfaulting
15:21 Skarsnik ^^
15:21 btyler timotimo: huh, wonder if that guy's talk will be any better informed than his last one was
15:21 Skarsnik when is that?
15:21 mojca nine:
15:21 dalek doc: 87d0bfc | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
15:21 dalek doc: dd will ignore named params (by design)
15:21 dalek doc: review:
15:21 dalek doc: dec1b8e | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
15:21 dalek doc: Merge pull request #280 from gfldex/master
15:21 dalek doc:
15:21 dalek doc: dd will ignore named params (by design)
15:21 dalek doc: review:
15:22 btyler kind of surprised he's getting stage time again, but I guess it did get people chatting about CCC
15:23 RabidGravy Skarsnik, my approach would be find some other cookie library in any language and rip it's test data off
15:23 dalek doc: 1c503c7 | (Wenzel P. P. Peppmeyer)++ | doc/Language/containers.pod:
15:23 dalek doc: minimal fix of minimal typo
15:23 dalek doc: review:
15:23 dalek doc: 4907cc2 | (Wenzel P. P. Peppmeyer)++ | doc/Language/containers.pod:
15:23 dalek doc: Merge pull request #281 from gfldex/master
15:23 dalek doc:
15:23 dalek doc: minimal fix of minimal typo
15:23 dalek doc: review:
15:23 Skarsnik or pick from perl5 x)
15:24 Skarsnik I looket at lwp code a bit to patch cookies
15:24 zmyrgel joined #perl6
15:24 nine mojca: those tests are only run on OS X which I don't have
15:25 poldepaor Has anyone been doing any QA test automation with perl5 and or 6?
15:25 nine mojca: that's probably also why no one has fixed that WARNING
15:25 spider-mario joined #perl6
15:25 nine poldepaor: quite a bit, yes
15:26 nine poldepaor: automated testing is at the very heart of Perl culture
15:27 zmyrgel hi, I tried to test perl6 but I can't get panda to install
15:27 zmyrgel it errors out:​nymous/00c064486194fc20e270
15:27 zmyrgel I'm using rakudo 2015.12
15:28 RabidGravy that's odd, how did you install it?
15:29 zmyrgel pkg_add rakudo
15:29 RabidGravy on a BSD?
15:29 Woodi mojca: about your moar install: you finished it with included libuv or with one from system packags ?
15:30 gfldex zmyrgel: what does perl6 --version and uname -a say?
15:30 yoleaux 10:41Z <lizmat> gfldex: dd only takes positionals and ignores nameds: that was the only way to get positionals to work and keep order of specification
15:30 Woodi poldepaor: actually Perl was created to look like C and Python was created long long later :)
15:31 Cabanossi joined #perl6
15:31 poldepaor Woodi: That's pretty cool to know. Thanks for pointing that out
15:31 zmyrgel RabidGravy: OpenBSD-current
15:32 Woodi poldepaor: I forgot there was APL somewhere involved :)
15:32 zmyrgel seems there are some changes done to rakudo port recently, just recompiling the package to see if it fixes the panda issue
15:32 gfldex Woodi: not that lone actually. Python was released in 1991. It seams much younger because nobody used it before 2.0, released in 2000.
15:32 mojca Woodi: I used the included libuv just in case, but declared the package to conflict with libuv which is not the best
15:32 _mg_ joined #perl6
15:32 RabidGravy zmyrgel, I *think* the person who did the port was around at some point
15:33 RabidGravy but I may mis-remember
15:34 Woodi gfldex: that's good to know too :)
15:35 dalek rakudo-star-daily: 6cd9466 | coke++ | log/ (9 files):
15:35 dalek rakudo-star-daily: today (automated commit)
15:35 dalek rakudo-star-daily: review:​-star-daily/commit/6cd94669d3
15:35 dalek perl6-roast-data: d6f92b2 | coke++ | / (7 files):
15:35 dalek perl6-roast-data: today (automated commit)
15:35 dalek perl6-roast-data: review:​-roast-data/commit/d6f92b2cb8
15:36 zmyrgel that didn't solve this yet, going to grab some dinner and then to continue to solve this
15:36 lustlife joined #perl6
15:37 TimToady by 1991 we were up to Perl 4 :)
15:37 dalek nqp: 6a74da8 | paultcochrane++ | t/nqp/19-file-ops.t:
15:37 dalek nqp: Clean up test file when testing file ops
15:37 dalek nqp: review:
15:37 yqt joined #perl6
15:38 loren zmyrgel, why not download the Rakudo source and compile it ?
15:38 RabidGravy zmyrgel, sorry can't be too much help don't have an OpenBSD handy to help
15:39 loren I misunderstand ? o_O?
15:40 Zoffix Which is a reference to the 4 bash commands mentioned here:
15:40 RabidGravy no, no, but it would be *nice* if the packaged version did work. On OpenBSD it actually does build it from source but just set up in a certain way
15:40 regreg joined #perl6
15:41 mspo the pkgsrc version is broken/too old too
15:41 mspo but a manual build works
15:42 mspo one issue is that nqp needs to be available at build time for the rest but DESTDIR isn't well supported
15:42 mspo so you end up needing to use three distinct packages
15:42 Woodi nine: is it possible that in repositories dist/[sha] would be dist/[sha]/ (directory) and sources and precompilations for a distro live there ?
15:43 loren oh, packaged will be better, i have always compile it on my fedora.Of course, that are reason about fedora has no package about Rakudo now .
15:43 spider-mario joined #perl6
15:45 loren Seem like i am wrong, that do have a package rakudo-star ..
15:46 randomguy joined #perl6
15:46 testoh joined #perl6
15:46 testoh hello?
15:46 diakopter yoooooo
15:46 loren -_- Night, everyone.. o////
15:46 testoh how is perl 5 different from perl 6?
15:47 testoh is anyone here?
15:47 loren Powerful, has a lot of feature .. testoh
15:47 testoh yeah explain please
15:47 testoh can it draw dank memes on its own?
15:48 RabidGravy er
15:48 nine Woodi: precomp files are dependent on the compiler's exact version (including build) while sources and meta data aren't.
15:48 testoh is perl 6 compiled?
15:49 RabidGravy it compiles to bytecode yes
15:49 randomguy I found a small typo on The @animals assignment is using brackets instead of parenthesis. Is this the right place to tell someone about it?
15:49 gfldex testoh: it is comiled to bytecode and there is a fairly limited JIT
15:49 loren,, maybe you can look these article, testoh
15:50 Skarsnik nine, should precomp follow a fixed version instead of just each compiler version?
15:50 mst randomguy: looks like you want to send an issue or PR to if possible
15:50 RabidGravy we ought to steal the guys who wrote the mono JiT
15:50 randomguy mst: k, thanks
15:50 mst nine: oh, I never followed up, where did you get with the whole 'trying to see through to lower repo precomps' thing?
15:50 zmyrgel yeah I'd like to use the OS provided packages as much as possible
15:51 adrusi joined #perl6
15:51 testoh WOW perl 6 is a real syntac
15:51 testoh syntax mess
15:51 testoh wtf
15:52 testoh space goes after keywords with args but not after method names
15:52 testoh wtf
15:52 testoh who thought of that
15:52 testoh I put a space wherever I well damn please
15:52 testoh fuck this
15:52 testoh back to python
15:53 mst I'm sure you'll have much less trouble with whitespace restrictions that way
15:53 adrusi can't tell if you're being sarcastic
15:53 dalek perl6-examples: 99dd877 | (Rodrigo Siqueira)++ | categories/cookbook/02numbe​rs/
15:53 dalek perl6-examples: Update
15:53 dalek perl6-examples: review:​6-examples/commit/99dd877aa4
15:53 dalek perl6-examples: 13301f8 | (Zoffix Znet)++ | categories/cookbook/02numbe​rs/
15:53 dalek perl6-examples: Merge pull request #39 from rsiqueira/patch-1
15:53 dalek perl6-examples:
15:53 dalek perl6-examples: Update
15:53 dalek perl6-examples: review:​6-examples/commit/13301f84f2
15:53 RabidGravy unlikely
15:53 havenwood testoh: bye!
15:53 loren testoh, starting form the basic syntax
15:53 nine testoh: who thought of that? People who worked very hard to find solutions to the 1000s of problems that language designers face.
15:53 testoh C U L8R haven wood
15:54 RabidGravy randomguy, in effect it doesn't make a great deal of difference on the outcome:
15:54 RabidGravy m: my @f = [1,2,3]; say @f.perl; my @g = (1,2,3); say @g.perl
15:54 camelia rakudo-moar 4cf630: OUTPUT«[1, 2, 3]␤[1, 2, 3]␤»
15:54 [ptc] testoh: have a look at Slang::Tuxic for a way to adapt perl 6 to how you like to space things yourself
15:54 randomguy RabidGravy: @array.elems
15:55 zmyrgel perl6 syntax seems tad excessive at first glance
15:55 testoh you.goFuck(self)
15:55 RabidGravy randomguy, yeah both the same
15:55 RabidGravy in that specific case
15:55 nine mst: I got to the point where I wished that having all users nuke their install directories was still a viable option :)
15:56 hoelzro o/ #perl6
15:56 havenwood hoelzro: hi!
15:56 [ptc] hoelzro: \o
15:56 * nine hugs testoh
15:56 CIAvash joined #perl6
15:56 randomguy RabidGravy: huh, not for me. I was following the tutorial at the link. :-/
15:56 testoh how u hug ppl?
15:56 RabidGravy m: my @f = [1,2,3]; say @f.elems; my @g = (1,2,3); say @g.elems
15:56 camelia rakudo-moar 4cf630: OUTPUT«3␤3␤»
15:56 [Coke] autarch: I tried to run your code through the profiler, it ded.
15:56 adrusi RabidGravy, this is part of what I'm trying to wrap my head around too; what *is* the difference between the two
15:56 loren zmyrgel, yeah, that's a lot of .....
15:57 Skarsnik hm, that's confused me:​rsnik/0fe190087758c4f39232
15:57 mst nine: well, given we're tying the precomp stuff to the compiler version, a new vcersion of the compiler is an implicit nuke, no?
15:57 nash_ joined #perl6
15:57 Skarsnik I don't really get this error :(
15:57 RabidGravy randomguy, what version are using?
15:57 zmyrgel loren: just after learning and using Go in few projects... looking at perl6 syntax seems to be in the other end of the scale :)
15:58 hoelzro o/ havenwood [ptc]
15:58 RabidGravy adrusi, well one is a List () and one is an Array [] but both get assigned to the @variable the same
15:58 testoh ŁŁŁŁ
15:58 skids joined #perl6
15:58 nine mst: only a nuke of the precomp files, not of those other files we generate. But there's always solutions. They are just not as simple anymore.
15:58 nine testoh: I just typed: /me hugs testoh
15:59 loren zmyrgel, but i think Golang's grammar is too simple
15:59 testoh ŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁ¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸​¸¸¸¸¸¸¸ŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁŁÐÐÐÐÐÐÐ​ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐТ¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢​¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢®®®®®®®®®®®®®®®®®®®®®®®®®®®​®®®®®®®®®®ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª
15:59 mst nine: which other files get generated that are affecting this?
15:59 * testoh hugs nine
15:59 nine :)
15:59 RabidGravy that's nice
15:59 * testoh blow nine
15:59 zmyrgel loren: yeah, but I value the maintainability of it more.
15:59 * diakopter misses hugme
15:59 * testoh cum on nine's face
15:59 loren zmyrgel, also maybe suitable with it's positioning.
16:00 randomguy RabidGravy: Crap, I thought I fully installed the new one today. :-/ version 2014.07
16:00 RabidGravy oops
16:00 testoh left #perl6
16:00 zmyrgel perl6 seems to get lot of stuff right, like having actual language spec
16:00 RabidGravy randomguy, ah that would explain it, mucho changes on the way lists/arrays work since then
16:00 nine "requested by mst" that's a nice way to put it :)
16:00 RabidGravy mst++
16:01 [ptc] mst++
16:01 orbus good morning #perl6
16:01 diakopter moarning
16:01 zmyrgel What I would like to see would be great portability so I could write my stuff on linux and have it run on windows with little to no modificatios
16:01 orbus any NativeCall wizards happen to be about?
16:01 loren zmyrgel, I usually don't want to use what gorgeous grammar, scalability and maintainability is an important aspect, i am a 'c/c++'er
16:01 mst zmyrgel: given the libuv basis that's actually significantly available
16:02 orbus having some problems and I want to see if I'm way off base with what I'm trying
16:02 skids orbus: not a wizard but I've dabbled, go ahead.
16:02 mst orbus: I'm not sure exactly who in here is going to take an interest in that, but I bet there's at least a couple around, so go for it and let's find out who they are
16:02 RabidGravy orbus, depends on the length of beard and it's colour you want but shoot anyway, there are people who do NativeCall stuff
16:02 orbus thanks all :)
16:02 orbus okay, so I'm dabbling with the Oracle client library
16:02 mst I'm so sorry.
16:03 orbus lol
16:03 orbus yeah
16:03 RabidGravy :)
16:03 orbus tell me about it
16:03 orbus and I haven't written any substantial c in probably 15 years
16:03 randomguy RabidGravy: Thanks for the help.
16:03 krshn joined #perl6
16:03 nine mst: the part of module finding that takes ages is parsing the dist meta data, that's stored in a json file. What we actually need of this file is the name of the modules, the version and auth. We already have the quick lookup files for module names. If they contained version and auth, we wouldn't have to parse json anymore
16:03 orbus but anyway, I have a week off and I though I'd take a stab at getting perl6 to talk to oracle
16:03 zmyrgel orbus: luckily the oracle client hasn't changed in that time :)
16:03 Skarsnik I have to use ~~ to test if a class does a role?
16:03 orbus heh
16:03 orbus yeah
16:03 Skarsnik orbus, there is already work on that
16:04 RabidGravy orbus, ah, you may want to speak to abraxxa who isn't actually here it the moment, he's been working on the same thing
16:04 orbus oh nice
16:04 orbus well it's a good learning exercise regardless
16:04 RabidGravy anyway carry on
16:04 orbus but I will keep that in mind
16:04 orbus so the first thing you have to do is call OCIEnvCreate()
16:04 orbus which gives you an environment handle
16:04 Skarsnik
16:04 mst abraxxa is #dbix-class' longest standing oracle user
16:04 orbus which you then use to do other stuff
16:05 skids m: say List.does(Iterable) # Skarsnik
16:05 camelia rakudo-moar 4cf630: OUTPUT«True␤»
16:05 RabidGravy yep
16:05 orbus yeah, let me see if abraxxa's stuff does what I"m trying to do
16:05 Skarsnik oh thx
16:05 orbus basically this function takes a bunch of pointers to callback functions and things
16:05 orbus most of which you apparently don't actually need
16:05 mst nine: right, because in perl6, effectively, the version and auth are part of the FQ name, ala the PAUSE if and version being part of the DQ dist name on CPAN
16:05 orbus the example code in the docs is passing in 0 for most of the pointers
16:05 perlpilot joined #perl6
16:06 leedo nine: ohhhh, so that may explain why it can take my toy module like 20s to load, but only when i'm useing a bunch of panda installed modules
16:06 orbus so I'm trying to do the same thing from nativecall
16:06 mst nine: I guess that's a question of declaring a new version of the quick lookup file format?
16:06 orbus and it doesn't blow up, but the function is returning -1 which is error
16:06 diakopter leedo: which ones
16:06 Skarsnik Cannot use 'does' operator with a type object.
16:06 RabidGravy it's pass a Code type object I believe
16:06 Skarsnik hm
16:06 nine leedo: if it's much faster on the second try, you're actually waiting for compilation
16:06 leedo diakopter: HTTP::UserAgent and Inline::Perl5
16:06 orbus so hang on
16:06 leedo nine: yeah, it gets down to 10s after the first run
16:06 orbus​pdev.111/b28395/oci16rel001.htm#i556149
16:07 orbus function definition is there
16:07 mst orbus: it might also help to take DBD::Oracle apart
16:07 diakopter leedo: are you running on a pebble smartwatch?
16:07 skids Skarsnik: I'm surprised .does is hitting the "does operator"
16:07 diakopter [only half kidding]
16:07 leedo diakopter: i5 2.3 GHz :P
16:08 Skarsnik orbus,​b/master/lib/DBDish/Oracle/Native.pm6
16:08 diakopter leedo: is your hard disk on the moon?
16:08 diakopter [only mostly kidding]
16:08 mst leedo: is your hard drive an EBS volume? If so, have you considered a disk on the moon instead? :D
16:08 leedo diakopter: ssd!
16:08 orbus so I tried defining it like this in NativeCall
16:08 orbus sub OCIEnvCreate(Pointer, int32, long, long, long, long, size_t, Pointer) returns int16 is native('clntsh') { * }
16:08 leedo
16:08 orbus okay, let me look at abraxxa's stuff
16:08 orbus that was the next thing I was going to do
16:09 leedo mst: diakopter afaik this hard drive is operating normally
16:09 RabidGravy orbus, it would be Code for the function pointers
16:09 RabidGravy afaik
16:09 mst leedo: sure, I was just complaining about EC2 while I got a chance
16:09 leedo hehe, yeah i've experienced that pain
16:09 orbus hmm
16:09 orbus even if the function pointers shouldn't point to anything?
16:10 Skarsnik skids, I am dumb, it's another line
16:10 orbus looks like abraxxa's stuff is using Pointer for them
16:10 randomguy yay, new version fully installed. all is better now.
16:10 RabidGravy yeah, just pass a Code type object
16:10 RabidGravy that would work too
16:10 orbus like a random undefined one?
16:10 orbus just or
16:10 RabidGravy literally foo(Code)
16:11 orbus well that's on the definition
16:11 Skarsnik Oh, you can't use does on an uninitialised object?
16:11 orbus but what do I pass in when I call the function
16:11 RabidGravy that give you NULL
16:11 orbus so I do sub foo(Code)
16:11 orbus but then when I call it foo(??)
16:11 orbus ?
16:11 skids orbus: No call it with Code
16:11 orbus oh
16:12 orbus hrm
16:12 RabidGravy literally
16:12 skids Code is a NULL of type Code
16:12 orbus oh weird
16:12 orbus okay, let me give it a shot
16:12 orbus brb
16:13 Woodi nine: I think that if repo work is interrupted then in current form it will be messed. if distros or modules (sources at least) would be in it's separate dir then it can be easy to verify and repair. and links already are used.
16:13 skyl4rk is it possible to set SA_NODEFER for signal handling, e.g. for signal(Signal::SIGINT).tap: { dostuff }
16:13 orbus Unknown type Code used in native call.
16:13 orbus It didn't like that much
16:13 orbus should it be Pointer in the definition and Code when I call it?
16:14 Woodi nine: as for quick lookup format: cdb like used by tinydns for domains - domain changes and installations arn't so often so read-only database like cdb works good. and it is regenerated on modifing domain or installing module
16:14 zmyrgel ok, rakudo reinstalled with latest changes but panda still gives following:​nymous/a7c1830f0ff2ac5864f6
16:15 RabidGravy orbus, that's odd
16:15 mst nine: if I want to understand this stuff, is my best approach to read all of the current src/core/CompUnitRepo tree?
16:15 orbus tried this
16:15 orbus sub OCIEnvCreate(Pointer, int32, Code, Code, Code, Code, size_t, Pointer) returns int16 is native('clntsh') { * }
16:15 orbus my $x=OCIEnvCreate($p,0,Code,Code,Code,Code,0,$z);
16:16 nine mst: after reading jnthn's gist, that's the best source, yes. Of course I'm happy to answer questions :)
16:16 orbus let me try with Pointer
16:16 Skarsnik hm, how I can add a new role to a class outisde the class definition?
16:16 orbus hrm
16:16 orbus well that runs
16:17 orbus but it still returns -1
16:17 skids Skarsnik: For lexical use or as a monkey patch?
16:17 nine Woodi: sounds like you have some interesting ideas. You could try them out easily, since repositories have a clearly defined API and can be plugged into rakduo
16:17 cdg joined #perl6
16:17 orbus going to look what abraxxa is doing a little deeper
16:18 [ptc] should the .precomp dirs (in lib/ and t/04-nativecall/) be deleted as part of `make clean` (or possibly `make realclean`) in rakudo?
16:18 Skarsnik NC use does in its trait x) but it does not work here x)
16:18 RabidGravy orbus, yeah that should definitely work, with a Code there - I'm using it some of my own code (which fails for other reasons)
16:18 orbus well
16:18 cdg joined #perl6
16:19 Skarsnik skids, I am trying to achieve this​rsnik/3b3b2f52faa4128c9931
16:19 orbus it definitely didn't like Code in the sub definition
16:19 mst nine: yes, but it's taking you five minutes a time, the answers are user level so I don't honestly understand them because I'm mid source dive, and you missed the last one entirely
16:19 orbus this is on 2015.12
16:19 orbus with Pointer it doesn't blow up
16:19 orbus but it's still failing
16:19 mst nine: so I'm concluding "christmas has happened to nine, this head cold means I'm asking the wrong questions, time to UTSL first"
16:19 RabidGravy ah in the sub definition maybe it wants  a &foo or something
16:19 orbus it looks like abraxxa is using an array of some sort for the handle it returns though
16:19 orbus instead of a straight Pointer
16:19 orbus need to look at that
16:20 skids Skarsnik: does should be used on an instance, so you'd have to have something in $s first.
16:20 orbus CArray[OCIEnv]
16:20 mst note that I don't think abraxxa's really a C hacker anyway
16:20 orbus and OCIEnv is constant OCIEnv is export = Pointer;
16:20 orbus ohhh
16:20 mst so it's entirely possible that you're both wrong
16:21 orbus so maybe it's supposed to be an array of pointers
16:21 orbus ha
16:21 orbus true
16:21 Atrox joined #perl6
16:21 mst (it's programming, "everything is differently broken" is always a possibility ;)
16:21 Skarsnik skids, I don't know NC use does to extend Str​blob/nom/lib/NativeCall.pm6#L310
16:21 RabidGravy orbus, maybe if you try "sub OCIEnvCreate(Pointer, int32, &a, &b, &c, &d, size_t, Pointer) returns int16 is native('clntsh') { * }" or some such
16:21 nine mst: I was just eating, is all :) A new file format will be the answer. Of course we didn't think about a versioning mechanism before putting the first version out however...
16:21 orbus what do the & do?
16:22 RabidGravy it's a sigil for a "Callable"
16:22 mst nine: right. so we're going to have to mint some sort of version detection that handles 'pre-christmas unversioned' too
16:22 RabidGravy which includes a Code
16:22 orbus mst: the Oracle call interface is a special kind of nightmare - I can tell that already
16:22 skids Skarsnik: but explicitly-manage is probably called with an instantiated Str.
16:22 orbus this is why when I need to talk to Oracle I usually go through perl or java
16:22 mst nine: which classes/methods are reading/writing that lookup file? I'll have a skim of the code once I've taken a moment to sob quietly into my coffee over unversioned file format ;)
16:22 Atrox Hello, just a little question from a newbie. I'm very interested to try out Perl 6 (after reading the announcement) but Radoku Star is not updated for Perl 6 right? (Its from 2015.11) Should I have to wait or is there any other way to try it? (I'm on Windows) Thanks already!
16:22 nine mst: I guess we just need some VERSION file where non-existence means version 1
16:22 Skarsnik skids, Hooo so the object need to be instancied? damn
16:23 nine mst: it's all contained in CompUnit::Repository::Installation
16:23 TimToady Atrox: depends on your threshold of pain :)
16:23 orbus RabidGravy: let me give it a shot - I'm starting to think the problem is with the output pointer though
16:23 TimToady and on how well your system matches our systems
16:23 Atrox TimToady: so hard to get it working on windows :/?
16:23 skids Skarsnik: unless you monkey-patch the class, which should be avoided unless really necessary, yes.
16:23 orbus namely, the first argument
16:23 TimToady Atrox: windows can be easy if you have the right prereqs installed
16:23 leedo had a thought to try --profile to see what is taking so long using HTTP::UserAgent, since strace wasn't informative. the profile output says it ran for 4.12ms, but it actually took 6s :P
16:24 RabidGravy yeah that's a really peculiar interface, most things just return a pointer
16:24 * TimToady is not a windows expert, but some of our devs work on windows
16:24 Atrox TimToady: is there any resource/tutorial online how I get it working? Or should I just setup vagrant ...
16:24 hoelzro Atrox: I've gotten it built on Windows using Mingw
16:24 Skarsnik skids, I try using this approch to say "This variable from the class B will be DB managed on some ways" without havint to do it in the class itself ~~
16:25 disturbingly_rea Is there a takeWhile or takeUntil construct on lazy sequences? I'd like to be able to do something like `takeWhile {$_ * $_ <= i}, @primes`
16:25 Atrox hoelzro: How? I got MingW installed.
16:25 hoelzro others have had success with the VS toolchain, but I couldn't get that working...
16:25 mst I think for a win32 build you need mingw for gcc plus some sort of git?
16:25 Atrox hoelzro: Just compile?
16:25 [ptc] Atrox: try this out:​18/Building-Perl-6-with-Visual-Studio-2013
16:25 hoelzro Atrox: you'll need git (as mst says) to grab the source
16:25 TimToady and you need perl 5
16:25 hoelzro ah, yes of course =)
16:25 * mst needs to look at what it'll take to make rakudobrew use tarballs optionally
16:25 gist_nb joined #perl6
16:26 hoelzro I did strawberry perl and that worked
16:26 Atrox Awesome. I will take a look. Thank you all!
16:26 skids Skarsnik: "This variable from the class B" perl understands merely as "This variable that can only contain things of the class B"
16:26 [ptc] Atrox: it might help, but could be a bit old.  You have to install from source until the Rakudo Star .msi files are available
16:26 mst I think a lot of us forget there's such a thing as "computers that don't have perl5 installed"
16:26 RabidGravy leedo, how recently did you install H::UA?  I only just an hour ago took a bunch of "no precompilation"s out
16:26 hoelzro in fact, I think that strawberry has all the toolchain you need, sans git
16:26 Arrowhead joined #perl6
16:26 hoelzro mst: I forget that all the time =P
16:26 RabidGravy and previous to that it did load rather slowly
16:26 nine mst: lies!
16:27 Guest15478 joined #perl6
16:27 leedo RabidGravy: i'll update, probably a few days old
16:27 RabidGravy mst that's crazy talk
16:27 Arrowhead What's the canonical way to build and test a module, but not install it?
16:27 mst nine: does the JSON meta format at least have a version?
16:27 skids Skarsnik: what you probably need is something like "class MyDBVar is B does DBROLE { }; my MyDBVar $s"
16:27 leont The only piece of p5 dependency in rakudo's build that'd be hard to convert is Configure, I think
16:27 * TimToady remembers a time when only one computer had perl on it...and before that, everything is lost in the mists of time...
16:27 RabidGravy leedo, yeah the first time might be slowish but after that it's quite zippy comparitively
16:28 Skarsnik skids, yes but I am not fan of having a new class just for that x)
16:28 leedo unfortunately HTTP::UA tests seem to fail currently
16:28 RabidGravy er
16:28 mst TimToady: pretty sure we have regulars who were born after that point.
16:28 RabidGravy whaddyamean?
16:28 skids Well, when you do a does you generate a class, it just does not show you that.
16:28 Skarsnik on older rakudo
16:28 nine mst: not that I'm aware of
16:28 leont I had a brainstorm with Nicholas at some point about having a DSL that could be compiled to Perl5/shell on unix and Powerscript on Windows, but that never got beyond the idea stage
16:29 ponbiki joined #perl6
16:29 [ptc] Arrowhead: probably an incantation along the lines of `prove --exec="perl6 -Ilib" -r t`
16:29 Skarsnik leedo, it probably fail on old rakudo yes
16:29 mst nine: wut. even META.yml had a spec version 10 years ago :/
16:29 leedo Skarsnik: RabidGravy well i've got 6.c release installed :/
16:29 RabidGravy leedo, oh if you've got a rakudo more than a week or so old it will fail
16:29 leedo i'll try again
16:30 Skarsnik skids, wait, if I still can use does on instancied stuff it's fine for me ^^
16:30 RabidGravy it definitely passed it's tests before I pushed the change
16:30 skids m: (1 does role { }).WHAT.say # Skarsnik: that's actually a new class there.  Classes are pretty cheap.
16:30 camelia rakudo-moar 4cf630: OUTPUT«(Int+{<anon|58207552>})␤»
16:30 nine mst: yes, unfortunately we were very good at ignoring all the experience with Perl 5 in that area :(
16:30 khw joined #perl6
16:30 skids Skarsnik: then that would be a good way to go.
16:30 Arrowhead ptc: thanks, that does it. Less intuitive than what I know from perl5.
16:31 dalek rakudo/nom: db8a6c5 | paultcochrane++ | t/04-nativecall/16-rt125408.t:
16:31 dalek rakudo/nom: Remove exec bit from 16-rt125408.t
16:31 dalek rakudo/nom:
16:31 dalek rakudo/nom: This is a test file, which will be called through the test harness and
16:31 dalek rakudo/nom: thus doesn't need to be executable.
16:31 dalek rakudo/nom: review:
16:31 dalek rakudo/nom: 95dd6c5 | lizmat++ | t/04-nativecall/16-rt125408.t:
16:31 dalek rakudo/nom: Merge pull request #658 from paultcochrane/pr/remove-test-file-exec-bit
16:31 dalek rakudo/nom:
16:31 dalek rakudo/nom: Remove exec bit from 16-rt125408.t
16:31 dalek rakudo/nom: review:
16:31 mscha joined #perl6
16:31 Skarsnik skids, because I don't work to work on a "special" class, just attach them the role before saving them in a DB for example
16:31 Skarsnik *want
16:31 mst nine: ah well, 'no version is version 0' isn't a terrible thing really and then we can go from there
16:32 mst nine: I've done that on plenty of projects where I failed to add versioning to a format early enough; it seems to be one of those mistakes that's totally possible to make repeatedly even when you know it's a terrible idea
16:32 skids Skarsnik: sounds like a plan.  Classes/runtime mixins are supposed to be relatively cheap these days.
16:32 nine mst: same here
16:32 Skarsnik another question is how to strip a role from a class x)
16:33 [ptc] Arrowhead: no worries :-)
16:33 orbus hrmmm
16:33 orbus well I give up for now
16:33 [ptc] leont: have you seen this?  Bash and Powershell from one source:​2015/171/Batsh/%28language%29/eng-US
16:33 orbus I'll ask abraxxa when he/she is around
16:33 skids Skarsnik: dunno save a copy ahead of time?
16:34 orbus nice to know someone's looking at it already though
16:34 bpmedley_ joined #perl6
16:34 mst having met him at a conference, abraxxa is Alexander Hartmeier and 'he'
16:34 orbus okay, cool
16:34 lalos joined #perl6
16:34 orbus I try not to assume
16:35 RabidGravy :)
16:35 u0- joined #perl6
16:35 orbus the programming community definitely skews male, but it's by no means an absolute
16:35 RabidGravy gosh, nearly an hour without a strange newbie question about arrays
16:36 orbus oh, I had another question
16:36 orbus (not about arrays)
16:36 skids :)
16:36 camelia joined #perl6
16:36 orbus anybody know the current status of Inline::Perl5?
16:36 skids Pretty working.
16:36 nine mst: for the short/ files we can in the future write <sha>.full files containing all the info needed and leave the <sha> files as they are and transparently fall back to them if no .full file is available.
16:36 orbus tried building on two different machines yesterday  and it compiled but failed all the tests
16:36 RabidGravy I'm sure there's someone here who knows
16:36 orbus one was ARM though
16:36 orbus and the other was x86_32
16:37 lalos left #perl6
16:37 orbus so that might be the problem?
16:37 RabidGravy ARM may be asking for trouble
16:37 orbus yeah, I kind of wrote that one off
16:37 mst nine: sounds reasonable, though we definitely want to stick a version on the front of the contents anyway since presumably we'll've made more mistakes implementing .full files
16:37 orbus but the x86 one didn't work either
16:37 nine orbus: I'd never even thought that ARM was on the table. x86 should be possible, but you may also be the first to actually try it.
16:38 orbus I did get rakudo to build on my Raspberry Pi2 though
16:38 orbus ha
16:38 nine orbus: I tried to be careful about native types, but they have not all been available when I started and it's easy to overlook something.
16:38 RabidGravy yeah, I've been testing it regularly on RPi
16:38 nine orbus: can you get me a gdb backtrace?
16:38 orbus I'm the same guy who's been trying to build on sparc lately
16:38 orbus on arm?
16:38 Skarsnik I get the same issue on x86_32
16:39 nine orbus: on x86_32
16:39 orbus oh
16:39 orbus yeah probably - I have an old laptop with ubuntu on it
16:39 orbus that's what I was trying it on
16:39 orbus have to install gdb
16:39 nine I didn't even know that rakudo worked on ARM
16:39 orbus and figure out how to make a backtrace :)
16:39 Skarsnik could it be an NC oversight?
16:39 nine Skarsnik: possible
16:39 Skarsnik like a Int or Num used instead of int32, num63
16:40 vividsnow1 joined #perl6
16:40 TimToady num63 is an odd type
16:40 TimToady not quite sure we support that one yet ;)
16:40 Juerd num62 is even again though :)
16:40 orbus one of these boxes I forced it to install even though the tests failed
16:41 orbus and it core dumps if you try to load the module anyway
16:41 orbus but I couldn't find the core file
16:41 Skarsnik sub p5_is_array(Perl5Interpreter, OpaquePointer)
16:41 Skarsnik returns int { ... }
16:41 Skarsnik could be that
16:41 orbus need to check which box it was
16:41 orbus might have to reinstall rakudo to get a clean install
16:42 orbus must have been the pi
16:42 orbus okay, let's see here
16:42 leedo RabidGravy: ok, nuking my install seems to have fixed it... i've had to do this a lot.
16:42 mst TimToady: hey, I started off on arm26 ... arm is awesome but also totally weird ;)
16:42 orbus I was trying to install from panda
16:42 RabidGravy leedo, yeah, it was suffering a precompilation related issue a few weeks ago
16:42 orbus I guess I better clone the repository?
16:43 Atrox Thanks guys! Got it running on Windows. Was not even that hard thanks to that tutorial. :)
16:43 [ptc] Atrox++
16:43 leedo RabidGravy: ah, well thanks for fixing! i'm glad it exists :)
16:43 leedo hopefully i can remove my Inline::Perl5 dependency soon
16:44 nine orbus: yes, makes everything easier
16:44 RabidGravy well, let us know what else you might made and we'll see if we can help ;-)
16:44 leont [ptc]: that looks rather interesting :-)
16:45 orbus okay, so perl6 spat out this
16:45 orbus gcc -Wall p5helper.c `perl -MExtUtils::Embed -e ccopts -e ldopts` -shared -o ./resources/libraries/ -fPIC -g
16:45 Skarsnik nine, to sad you don't export your routine in i:p5 so I can't use NativeCall::Typediag directly, but yes, you should not have int in that
16:45 orbus so that seems right-ish
16:45 leedo RabidGravy: i've started - just messing around though
16:46 orbus running make test now
16:46 orbus ~/perl6/christmas/Inline-Perl5$ make test
16:46 orbus prove -e 'perl6 -Ilib' t
16:46 orbus t/autoload.t .................. No subtests run
16:46 orbus t/call.t ...................... Failed 12/12 subtests
16:46 orbus t/call_back.t ................. No subtests run
16:46 orbus t/call_hash.t .................
16:46 timotimo btyler: are you going to watch it?
16:46 dalek specs: 3694407 | lizmat++ | S99-glossary.pod:
16:46 dalek specs: Added NC as lemma, NativeCall explanation
16:46 dalek specs: review:
16:47 mst orbus: please consider using to show output
16:47 RabidGravy orbus, can you run just one of the tests e.g. "perl6 -Ilib t/autoload.t"
16:47 vividsnow joined #perl6
16:47 nine Skarsnik: NativeCall docs are still unclear on what a C int would be in Perl 6
16:47 leont Though given our infrastructure, we may be able to make something better ourselves (powerscript > bat)
16:47 orbus mst: roger that
16:47 orbus RabidGravy: sure
16:47 orbus hang on
16:47 Skarsnik nine, int is int32
16:47 dalek rakudo/nom: 098929e | paultcochrane++ | CREDITS:
16:47 dalek rakudo/nom: Update ptc's email address
16:47 dalek rakudo/nom: review:
16:47 dalek rakudo/nom: a352f81 | lizmat++ | CREDITS:
16:47 dalek rakudo/nom: Merge pull request #659 from paultcochrane/pr/fix-ptc-email
16:47 dalek rakudo/nom:
16:47 dalek rakudo/nom: Update ptc's email address
16:47 dalek rakudo/nom: review:
16:47 Skarsnik nine, I mean C int is int32
16:48 RabidGravy the prove hides the gory details somewhat
16:48 orbus mst: #perl6 isn't in the channel list on there?
16:48 Skarsnik​ecall#Passing_and_Returning_Values the left list
16:48 RabidGravy super sekrit we is
16:49 _mg_ joined #perl6
16:49 mst orbus: you don't -need- to supply a channel
16:49 TimToady sshh! it's a secret that it's a secret
16:49 mst that's not even the copy on this network
16:49 orbus oh
16:49 orbus never used this site before - is it basically like pastebin with irc integration?
16:50 Skarsnik *should really merge a part of NC::Typediag in NC*
16:50 dalek Inline-Perl5: f199d2e | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
16:50 dalek Inline-Perl5: Fix some 32 Bit issues
16:50 dalek Inline-Perl5:
16:50 dalek Inline-Perl5: < Skarsnik> nine, I mean C int is int32
16:50 dalek Inline-Perl5:
16:50 dalek Inline-Perl5: Thanks to Skarsnik++ and orbus++ for the report and help.
16:50 dalek Inline-Perl5: review:​ine-Perl5/commit/f199d2e52e
16:50 nine orbus: please test ^^^
16:50 orbus okay, one sec
16:50 orbus got distracted
16:51 nine Skarsnik: I'm just confused by the "64-bit int in C"
16:51 RabidGravy nine++ # so patchy today
16:51 timotimo it's [ptc]!
16:51 Skarsnik nine, int probably act the same as Int in :​rsnik/d4e9b31b2859114ac643
16:52 mst orbus: right, one moment, blowing up the bot
16:52 shadowpaste joined #perl6
16:53 _mg_ joined #perl6
16:53 [ptc] timotimo: moin moin!
16:53 Skarsnik nine, but I get your confusion, I don't know what is a int 64bit in C
16:54 RabidGravy On an Rpi2 : "Short: 2, Int: 4, Long: 4" (sizeof(short),sizeof(int), sizeof(long))
16:54 Skarsnik apparently there is a int64_t in stdint.h
16:54 Skarsnik it's probably for this kind of case
16:54 molaf joined #perl6
16:55 RabidGravy "long long" is int64
16:55 Skarsnik let me change the NC doc to be more explicit x)
16:55 Skarsnik like: int64 (For explicitly 64 bits integer in C)
16:56 orbus okay
16:56 orbus sorry, keep getting pulled awa
16:56 orbus away
16:56 RabidGravy I think the "long" may be the one that changes most 32 vs 64
16:56 _mg_ joined #perl6
16:56 orbus so with the original clone I made
16:56 nine mst: what do you think? Should we blow up loudly on stubling over inconsistencies within the repo (like short/ points to a dist, but we can't find the dist file), or should we ignore them and give the next-repo a chance?
16:56 orbus running t/autoload.t by itself segfaults
16:57 nine Skarsnik: also aren't there platforms where int is 64 bit?
16:57 orbus I'm not super familiar with github
16:57 orbus mostly worked with git locally on solo projects
16:57 mst orbus: it's git plus crayon drawings plus animations that give you a headache
16:57 * mst kicks github off his lawn
16:57 orbus okay, I just did git pull
16:58 orbus and I see your commit in the log
16:58 mst nine: not entirely sure.
16:58 orbus so I guess we're good there
16:58 orbus let me re-test
16:58 nine orbus: did you run make after the git pull?
16:58 nine orbus: ignore that, you don't have to this time
16:58 mst nine: actually, I think if you have something corrupt in the top repo, you should be really suspicious of the top repo entirely
16:58 timotimo btyler: i'll watch the perl jam 2 talk just so i know what's going to come at us
16:58 nine orbus: can you please try perl6-gdb-m -Ilib t/autoload.t
16:58 orbus one sec
16:58 orbus after the git pull I did make clean
16:59 orbus then I re-ran configure
16:59 orbus now I'm doing make test
16:59 RabidGravy nine, on x86-64 (i7) int is still 32 but long is 64
16:59 orbus still failing
16:59 nine mst: yeah, I guess blowing up as loudly as possible is the way to go. Otherwise we'll never find the bugs leading to the inconsistencies in the first place
16:59 orbus let me try the gdb test
16:59 mst nine: also I haz epic fear of other things in the same repo only -looking- not-corrupt
17:00 Skarsnik nine, hm, tricky question maybe it work if int32 work as a C int in the internal?
17:00 mst nine: so I think an immediate HCF before things go even more badly wrong is going to be the best thing to start with
17:00 orbus it's thinking
17:00 mst nine: we can always add a Repo::MightBeBroken::DontWorryTooMuchAboutIt or something later :)
17:00 dha joined #perl6
17:02 Skarsnik Do you think is clear enought : int64          (64-bit explicited int in C like int64_t in C99)
17:02 orbus it's still thinking
17:02 orbus it's super duper slow
17:02 orbus how long should I expect it to run?  any guess?
17:03 bbkr joined #perl6
17:03 nine Skarsnik: definitely better
17:04 nine orbus: damn...precompilation is interfering
17:05 Begi joined #perl6
17:06 mst nine: thinking, actually, we should consider having a repo type thing on disk
17:06 nine mst: what do you mean?
17:06 dalek doc: 36742e6 | (Sylvain Colinet)++ | doc/Language/nativecall.pod:
17:06 dalek doc: Clarify int64 type and add something about using int and num type
17:06 dalek doc: review:
17:06 mst nine: basically, the setup code seems to be taking a list of paths then converting each one to a standard CUR
17:07 nine yep
17:07 mst nine: I'm thinking maybe we should have a repotype file or something optionally in the root that can specify a different CUR class
17:07 mst and then that bit will also be responsible for ensuring we have a new enough version of whatever CUR class to handle the sha1.full format etc. etc.
17:07 orbus nine: it's still sitting there - anything I should try?
17:07 mst "defensively version ALL the things" basically
17:08 nine orbus: kill it, it won't finish
17:08 orbus okay
17:08 dha Why are you people still here? Perl 6 is out the door! Take a vacation! ;-)
17:08 orbus this *is* my vacation
17:09 orbus I'm off work all week so I have time to mess around with perl
17:09 Skarsnik abraxxa had an issue with CArray[CArray[int8]] when working on DBIish Oracle x)
17:09 Skarsnik​/blob/master/lib/Inline/Perl5.pm6#L88
17:09 RabidGravy well as we have discovered, there a thousand and one ways to break an installation and people don't understand lists
17:10 orbus Skarsnik: interesting
17:10 jme` joined #perl6
17:10 RabidGravy Skarsnik, that problem was actually something bit more general about typeconstraints working properly with typed CArrays
17:10 orbus is there any other documentation on native call besides
17:10 orbus ?
17:11 RabidGravy no, and even that isn't complete
17:11 orbus I've seen some things in DBIish that don't seem to be documented
17:11 nine mst: I've already got plans for how custom repository classes can be registered by just installing them. It involves a directory containing e.g. a "github" file, containing the class name "CompUnit::Repository::Github". This directory is read by CompUnit::RepositoryRegistry to populate %short-id2class
17:11 Skarsnik nine, you still have some int instead of int32
17:11 RabidGravy orbus, the tests in the rakudo/t directory are a good source of information
17:11 orbus ah, okay
17:11 orbus will take a look
17:11 orbus when I'm less burned out
17:11 Skarsnik​blob/master/lib/Inline/Perl5.pm6#L169 for example
17:12 Skarsnik Hm, there is not that much missing in the doc for the C part
17:12 orbus yeah
17:12 mst nine: let's not implement said plans until we've thought it through at more length
17:12 Skarsnik maybe thing about nativecast
17:12 orbus well like, the docs don't talk at all about OpaquePointer
17:12 mst nine: e.g. I don't understand why you'd have 'github' as a filename, rather than just a 'repoformat' thing
17:12 orbus and what the difference is between that and a normal Pointer
17:12 Atrox Hi, another question in terms of modules. Does the name of the github repo really has to match the name of the module?
17:12 Skarsnik OpaquePointer is an old thing
17:13 Skarsnik Atrox, not really, lot of module are nameed like perl6-module
17:13 Atrox Skarsnik: Great. Thanks. Because I want to name it the same way :)
17:13 nine mst: distro packages
17:13 mst also, I'm not convinced that the same repository should necessarily always map to the same repo class
17:13 Atrox Skarsnik: I just asked because in the official guide it states that. Thank you.
17:13 RabidGravy github doesn't let you put :: in a repo name afaik
17:14 mst nine: eh?
17:14 RabidGravy Atrox, the important part is the name in the META6 file
17:14 nine mst: when CompUnit::Repository::Github is installed via distro package, all it has to do is place a file in a directory to register the name. Otherwise we'd need a post-install script modifying the repoformat file
17:15 nine mst: and I think, right now CompUnit::Repository::Installation has the same nice characteristics.
17:15 orbus nine: I need to head out for a bit - is there anything else you want me to try before I go?
17:15 Atrox RabidGravy: Ok nice, then it is working as expected. Thank you for the answer.
17:15 mst nine: I'm not sure what you're imagining here.
17:16 mst nine: I was talking about having a repoformat file in the root of the repository itself
17:16 nine mst: ooooh
17:16 * lnrdo installed latest Rakudo with Panda and Task::Star. It only worked after deleting .rakudobrew folder and starting again from scratch.
17:16 nine mst: yeah, of course. That does have a bit of a startup performance penalty though, since we have to read a file for every default repo
17:16 lnrdo But it worked after all.
17:17 patrickz .tell ugexe: Do the precomp pain points for zef have RTs? For purposes of easier naging at respective devs during the christmas pause...
17:17 yoleaux patrickz: What kind of a name is "ugexe:"?!
17:17 patrickz .tell ugexe Do the precomp pain points for zef have RTs? For purposes of easier naging at respective devs during the christmas pause...
17:17 yoleaux patrickz: I'll pass your message to ugexe.
17:17 lizmat nine: wouldn't that file need to be read on the first -use- or -require- though?
17:17 dalek rakudo/nom: f5b437a | paultcochrane++ | tools/build/
17:17 dalek rakudo/nom: Remove .precomp dirs in realclean target
17:17 dalek rakudo/nom:
17:17 dalek rakudo/nom: These directories are created as part of a `make test` run and should be
17:17 dalek rakudo/nom: removed when cleaning up.
17:17 dalek rakudo/nom: review:
17:17 dalek rakudo/nom: 482075d | niner++ | tools/build/
17:17 dalek rakudo/nom: Merge pull request #660 from paultcochrane/pr/rm-precomp-dirs-in-realclean
17:17 dalek rakudo/nom:
17:17 dalek rakudo/nom: Remove .precomp dirs in realclean target
17:17 dalek rakudo/nom: review:
17:17 mst nine: right, but then that file can e.g. say "this repo was minted as a v2, you can skip looking for a non-full sha file for anything in here"
17:18 mst so I think by like the second require() that passes through it you'd make the I/O back
17:18 nine mst: true
17:18 nine lizmat: true
17:18 * [Coke] catches up to the part where mojca appears on channel....
17:18 awwaiid nine: Inline::Perl5 and Inline::Python is you on github, ya?
17:18 nine awwaiid: yes
17:19 awwaiid nine: are you working on making Inline::Python also work like use Blah:from<Python>, or is that an exercise for the reader?
17:19 mst nine: sorry. I'm doing impressively badly at understanding the code, I finally get some time off and my sinuses have eaten themselves
17:19 anaeem1_ joined #perl6
17:19 Skarsnik Atrox, don't hesitate to create an issue on perl6/doc on github when something is not clear/wrong on the doc
17:20 awwaiid nine: I'm interested in that and also Inline::Ruby for the same
17:21 rfinner joined #perl6
17:22 [Coke] mojca++ for all her work on getting macports in shape. Saved me a bunch of time. :)
17:22 nine awwaiid: I've put Inline::Python development on hold to have more time for Inline::Perl5 and can figure out what exactly the whole inheritance support should look like, so I don't have to do the whole back and forth with Inline::Python, too.
17:22 [Coke] i-have-no-idea-what-im-doing.jpg
17:22 RabidGravy :)
17:23 nine awwaiid: I'd happily accept paches porting Inline::Perl5 features to Inline::Python, though! It already feels like I neglected it far too long.
17:23 awwaiid nine: ok cool. I'm not sure how much I'll dig into this in reality, but wanted to touch base. thanks!
17:24 dalek Inline-Perl5: b77e376 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
17:24 dalek Inline-Perl5: Replace the last of the ints by int32
17:24 dalek Inline-Perl5:
17:24 dalek Inline-Perl5: Thanks again to Skarsnik++
17:24 dalek Inline-Perl5: review:​ine-Perl5/commit/b77e376691
17:25 vividsnow1 joined #perl6
17:26 RabidGravy on an unrelated  note can one grovel in $*REPO somehow to get all the available comp units? or is it RTFC?
17:26 Skarsnik m: say int.REPR;
17:26 camelia rakudo-moar a352f8: OUTPUT«P6int␤»
17:26 [Coke] still catching up in backlog, but anyone with OSX wants to try out these portfiles for nqp & rakudo, it would be a great help:
17:26 mst btw, I've reconfigured shadowpaste, so should totally work now
17:26 mst argh
17:26 Skarsnik m: say int.REPR; say int32.REPR
17:26 camelia rakudo-moar a352f8: OUTPUT«P6int␤P6int␤»
17:26 mst even
17:26 [Coke]
17:26 nine RabidGravy: the API for that doesn't exist yet.
17:26 [Coke] mojca++
17:26 shadowpaste "mst" at pasted "moo" (1 line) at
17:27 dalek rakudo/nom: 7b462f0 | lizmat++ | src/core/
17:27 dalek rakudo/nom: Add some utility class methods to tai-utc
17:27 dalek rakudo/nom:
17:27 dalek rakudo/nom: - is-leap-second-date($date)
17:27 dalek rakudo/nom: - tai-from-posix(posix,prefer-leap-second?)
17:27 dalek rakudo/nom: - posix-from-tai(tai)
17:27 dalek rakudo/nom: review:
17:27 dalek rakudo/nom: 7c7e462 | lizmat++ | src/core/
17:27 dalek rakudo/nom: Use new tai-utc methods
17:27 dalek rakudo/nom:
17:27 dalek rakudo/nom: This make Instant creation about 8x as fast
17:27 dalek rakudo/nom: review:
17:27 lizmat dinner&
17:27 Skarsnik m: say int.REPR eq P6opaque;
17:27 camelia rakudo-moar a352f8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FRi4KLddao␤Undeclared name:␤    P6opaque used at line 1␤␤»
17:28 Skarsnik m: say int.REPR eq 'P6opaque';
17:28 camelia rakudo-moar a352f8: OUTPUT«False␤»
17:28 cygx joined #perl6
17:28 Skarsnik Oh I can't distinct int and int32 that way, hm
17:28 cygx m: say int.^nativesize; say int32.^nativesize
17:28 camelia rakudo-moar a352f8: OUTPUT«0␤32␤»
17:28 RabidGravy nine, so if one wanted a pluggable thingy one would be out of luck? or is there a hack available?
17:29 Skarsnik interesting cygx
17:29 nine RabidGravy: no hack that I'm aware of :/ Short of just implementing the API that is.
17:29 cygx also
17:29 cygx *​cc/blob/libc/lib/
17:29 Skarsnik m: say DateTime.^nativesize;
17:29 camelia rakudo-moar a352f8: OUTPUT«Method 'nativesize' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/rqQHFzJBxR line 1␤␤»
17:29 RabidGravy Okay, cheers, I may look at it
17:30 cygx Skarsnik: only available for native ints/nums
17:31 Skarsnik I wish NC was using C name and not p6 native stuff directly xD
17:33 nine RabidGravy: that's a use case that really was better supported by the old CompUnit. With the new architecture, you'll have to ask for matching modules, probably get CompUnit::DependencySpecifications back and have the repo search all over just to load them.
17:34 Skarsnik Interesting, how I can find the name of the base class in a role?
17:34 Skarsnik hm, self.^name ?
17:34 flussence .oO( arm26! I still have the 4-book programming manual set for those... )
17:35 gfldex m: my $i = 1; $i.^mro.put;
17:35 camelia rakudo-moar 7c7e46: OUTPUT«Use of uninitialized value of type Int in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at /tmp/Zo6o5_7bNz line 1␤Use of uninitialized value of type Cool in string context␤Any of .^nam…»
17:35 TimToady do you mean the meta class?  roles in general do not have a base class
17:35 gfldex m: my $i = 1; $i.^mro.say;
17:35 camelia rakudo-moar 7c7e46: OUTPUT«((Int) (Cool) (Any) (Mu))␤»
17:36 cygx m: say <42>.^name; say <1+1i>.^name
17:36 camelia rakudo-moar 7c7e46: OUTPUT«IntStr␤Complex␤»
17:36 cygx TimToady: ^^ bug?
17:36 cygx (as in, without spaces, afaik it should be just Int)
17:36 TimToady why wouldn't you just write 42 in that case?
17:37 Skarsnik TimToady, at run time, considering the role get 'affected' to a class
17:37 gfldex Skarsnik: asking a class for a base class is kinda wrong, it's objects that have a base class. And there is monkey typing and mop-magic. So you have to ask at runtime, likely so more then once.
17:37 TimToady we make <> special for rat and complex because otherwise precedence might interfere
17:37 TimToady hard to find operators that would tear apart 42 by precedence :)
17:38 TimToady I admit it's a bit inconsistent
17:38 cygx TimToady: who cares about practical considerations - i'm talking PRINCIPLES, here!!1 ;)
17:40 timotimo - this probably wants a little re-wording to tell a bit more about the 6.c-ing we recently did
17:42 Skarsnik m: my %hash = (b => 2, a => 1); say %hash.pairs.sort(*.key).values.join(",") # I try to have (1,2) here
17:42 camelia rakudo-moar 7c7e46: OUTPUT«a    1,b     2␤»
17:43 pierre-vigier joined #perl6
17:44 flussence golfed bug report now that I'm sufficiently awake: `perl --prefix=/usr [--sysroot=/usr]` works for perl6-m, fails `make test` for nqp-j, and completely barfs when building perl6-j. I'm seeing "javac [...] /usr/usr/" commands in rakudo's output.
17:45 supernovus joined #perl6
17:50 vividsnow1 joined #perl6
17:52 flussence awesome, I don't need the RAKUDO_PREFIX workaround any more. nine++
17:52 mst flussence: /usr/usr/usr/usr/bin
17:53 Skarsnik m: my %hash = (a => 1, b => 2); say ({%hash{$_}}).join(",") #x)
17:53 camelia rakudo-moar 7c7e46: OUTPUT«1,2␤»
17:53 flussence before you ask, no I don't have any stupid symlinks there :)
18:00 colomon joined #perl6
18:02 Skarsnik m: my Str @m; say @m.^type;
18:02 camelia rakudo-moar 7c7e46: OUTPUT«Method 'type' not found for invocant of class 'Perl6::Metamodel::ClassHOW+{<anon>}+{<anon>}'␤  in block <unit> at /tmp/4jD5J6UP7F line 1␤␤»
18:03 Skarsnik m: my Str @m; say @m.^shortname;
18:03 camelia rakudo-moar 7c7e46: OUTPUT«Array[Str]␤»
18:03 virtualsue joined #perl6
18:04 Skarsnik m: class A {has Str @.m; method foo(say @!m.^shortname)}: my $a =; $;
18:04 camelia rakudo-moar 7c7e46: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IYgTjgGNSW␤Invalid typename 'say' in parameter declaration.␤at /tmp/IYgTjgGNSW:1␤------> 3class A {has Str @.m; method foo(say7⏏5 @!m.^shortname)}: my $a =; $␤»
18:04 Skarsnik m: class A {has Str @.m; method foo {say @!m.^shortname}}: my $a =; $;
18:04 camelia rakudo-moar 7c7e46: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pYKPHE4sry␤Confused␤at /tmp/pYKPHE4sry:1␤------> 3r @.m; method foo {say @!m.^shortname}}:7⏏5 my $a =; $;␤    expecting any of:␤        colon pair␤»
18:04 Skarsnik m: class A {has Str @.m; method foo {say @!m.^shortname}}; my $a =; $;
18:04 camelia rakudo-moar 7c7e46: OUTPUT«Array[Str]␤»
18:06 RabidGravy Skarsnik "of"
18:07 iH2O joined #perl6
18:07 Skarsnik hm when I try to print the type of a attribute (that I get with .^attributes) for a Str @m; I get can't find shortname method
18:07 RabidGravy m: my Str @f;  say @f.^of
18:07 camelia rakudo-moar 7c7e46: OUTPUT«Method 'of' not found for invocant of class 'Perl6::Metamodel::ClassHOW+{<anon>}+{<anon>}'␤  in block <unit> at /tmp/w5IqJ4wN8F line 1␤␤»
18:07 RabidGravy m: my Str @f;  say @f.of
18:07 camelia rakudo-moar 7c7e46: OUTPUT«(Str)␤»
18:07 supernovus Hmm, I apparently can't install panda with the newest Rakudo. It spews out a bunch of messages about EVAL being evil, and dies.
18:08 Skarsnik Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CurriedRoleHOW'
18:08 iH2O when is release 1.0 expected?
18:08 Skarsnik iH2O, 2 days ago?
18:08 iH2O ???
18:08 TimToady supernovus: you have an old install that needs to be blown away
18:08 Skarsnik as it's realeased
18:08 mst iH2O: 6.c compiler was released on 25 Dec
18:08 supernovus Hmm, I'll nuke everything and start over.
18:08 mst iH2O: 6.c R* which contains Task::Rakudo, panda etc. will be out soon
18:08 flussence 1.0 was released bout quarter of a century ago...
18:09 autarch I'm guessing there an easy way to programmatically add subs to a package using the metamodel - could someone point me in the right direction?
18:09 iH2O i was looking at page
18:09 Skarsnik autarch, I think you can't
18:09 autarch oh, that's sad
18:09 flussence *sigh* yeah, that page is bad...
18:09 Skarsnik well not outside the package
18:09 nine autarch: I think, you can
18:09 autarch Skarsnik: right, this is inside the package
18:10 TimToady subs don't generally live in packages, they live in lexical scopes
18:10 autarch I'm trying to write a wrapper for File::LibMagic and it has about 30 flags it provides - it'd be nice to just make a list and iterate through thm
18:10 cygx can someone besides moritz add posts to
18:10 autarch I guess maybe it should be adding methods?
18:10 nine autarch:​blob/master/lib/Inline/Perl5.pm6#L823
18:10 nine autarch:​blob/master/lib/Inline/Perl5.pm6#L799
18:11 lucasb joined #perl6
18:11 cygx hm... apparently only announces the R* releases
18:12 Skarsnik m: class A {has Str $.n; has Str @.m}; for A.^attributes -> $attr {say $, $attr.type}; #Is that a bug?
18:12 camelia rakudo-moar 7c7e46: OUTPUT«$!n(Str)␤Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CurriedRoleHOW'␤  in block <unit> at /tmp/tqZw0cHL8M line 1␤␤»
18:16 nine m: class A {has Str $.n; has Str @.m}; for A.^attributes -> $attr {say $, $attr.type.^name};
18:16 camelia rakudo-moar 7c7e46: OUTPUT«$!nStr␤@!mPositional[Str]␤»
18:16 hankache joined #perl6
18:17 hankache Good evening #perl6
18:18 _mg_ joined #perl6
18:18 supernovus TimToady: thanks, nuking everything and rebuilding from scratch did the trick.
18:19 TimToady we've all had to do that at some point in the last few days, eventually we'll run out of people who had rakudo up before christmas :)
18:19 hankache i nuked everything, should i rakudobrew build moar or rakudobrew build moar 2015.12 ?
18:19 TimToady how bleeding edge do you wanna be?
18:19 castj joined #perl6
18:20 TimToady 'course, not a lot has changed yet
18:20 hankache super mega bleeding edge, isn't that what Perl 6 is  ;)
18:20 TimToady m: say 1,2,3 X 4,5,6 Z 7,8,9
18:20 camelia rakudo-moar 7c7e46: OUTPUT«5===SORRY!5=== Error while compiling /tmp/R7X2uhX51C␤Only identical operators may be list associative; since 'X' and 'Z' differ, they are non-associative and you need to clarify with parentheses␤at /tmp/R7X2uhX51C:1␤------> 3say 1,2,3 X 4,5,6 Z…»
18:20 TimToady that error message is upgraded over 2015.12 :)
18:21 TimToady maybe we need to distinguish a c: for chrismas version
18:21 supernovus At some point I should look at rakudobrew to replace my moon script that I've been using for the last 4 years.
18:22 Skarsnik nine, should I fill a RT to have shorname of this kind of stuff? (or have say work on it at least)
18:26 nine Skarsnik: if there is not already a ticket for this, yes, please.
18:26 lucasb class Perl6::Metamodel::CurriedRoleHOW does Perl6::Metamodel::Naming
18:27 lucasb ^^ would this help with the 'shortname' thing?
18:27 Skarsnik No ticket with this error x)
18:28 mcmillhj_ joined #perl6
18:28 davercc left #perl6
18:28 Arrowhead joined #perl6
18:29 Skarsnik There should be something like ! to force operator to check if the left part is defined x)
18:30 davercc joined #perl6
18:31 [Coke] Richard Hainsworth points out we didn't mention the financial sponsors. We should mention Ian Hague and jnthn's core grants. anything else? (Do we need to delve back into parrot?)
18:32 perigrin joined #perl6
18:35 flussence It'd be the right thing to do
18:35 mst [Coke]: at this point I think it'd be more accurate to say 'exhume'
18:38 mst argh argh void context map in rakudbrew sources argh
18:38 * mst adds to list of things to change
18:40 tadzik 3>:o
18:40 yoleaux 27 Dec 2015 09:32Z <AlexDaniel> tadzik: well, if you are not going to fix the issue with POST params then consider giving me push access so that I can do it. Same nickname on github. Basically I will just merge the pull request and apply my 1-character patch, that should make the tests green as well (if not, then I'll try to look into it, but anyway it will fix the issue with POST params…)
18:40 yoleaux 27 Dec 2015 19:59Z <Zoffix> tadzik: can you please merge this, as we have some extreme destruction for some users:
18:40 tadzik wow
18:40 Atrox Guys, how can I remove a empty element from a array? Is there a easy way to filter?
18:40 tadzik @array.=grep(*) might work
18:41 flussence that's an error iirc
18:41 flussence m: my @a = 1, 2, Nil, 4; @a.=grep(*)
18:41 camelia rakudo-moar 7c7e46: ( no output )
18:41 flussence or not
18:41 flussence m: my @a = 1, 2, Nil, 4; say @a.=grep(*)
18:41 camelia rakudo-moar 7c7e46: OUTPUT«[1 2 (Any) 4]␤»
18:41 flussence m: my @a = 1, 2, Nil, 4; say @a.=grep(*.defined)
18:41 camelia rakudo-moar 7c7e46: OUTPUT«[1 2 4]␤»
18:41 flussence m: my @a = 1, 2, Nil, 4; say @a.=grep(*.so)
18:41 camelia rakudo-moar 7c7e46: OUTPUT«[1 2 4]␤»
18:42 flussence ↑ there you go, depending on what you want "empty" to mean
18:42 Atrox Awesome. Thanks.
18:42 cygx grep(?*) should also work
18:42 domidumont joined #perl6
18:42 cygx (as an alternative to *.so)
18:43 SwellJoe joined #perl6
18:44 TimToady m: my @a = 1, 2; @a[3] = 4; say @a[]:v
18:44 camelia rakudo-moar 7c7e46: OUTPUT«(1 2 (Any) 4)␤»
18:44 gfldex m: my @a = 1, 2, 0, 4; say @a.=grep(*.so)
18:44 camelia rakudo-moar 7c7e46: OUTPUT«[1 2 4]␤»
18:44 TimToady I thought :v was supposed to remove non-existing elements by default
18:44 gfldex please don't use *.so
18:45 TimToady it depends on the use case
18:46 TimToady m: my @a = 1, 2; @a[3] = 4; say @a[*]:v
18:46 camelia rakudo-moar 7c7e46: OUTPUT«(1 2 (Any) 4)␤»
18:46 nine Oh how I hate seeing my little mistakes baked into the language by badly written test code...
18:46 TimToady m: my @a = 1, 2; @a[3] = 4; say @a[^4]:v
18:46 camelia rakudo-moar 7c7e46: OUTPUT«(1 2 4)␤»
18:46 TimToady I guess it only does it with explicit subscripts
18:46 tadzik yoleaux: tell AlexDaniel merged now with the required fix, sorry to keep you waiting
18:46 tadzik .tell AlexDaniel merged now with the required fix, sorry to keep you waiting
18:46 yoleaux tadzik: I'll pass your message to AlexDaniel.
18:46 tadzik thank you
18:47 TimToady m: my @a = 1, 2; @a[3] = 4; say @a[^∞]:v
18:47 camelia rakudo-moar 7c7e46: OUTPUT«(1 2)␤»
18:47 TimToady uh, oopsie?
18:47 cygx if I wanted to make what happens on `use v5` pluggable, would it be ok to stuff some Callable into %*PRAGMAS<v5>?
18:48 Ara joined #perl6
18:48 TimToady m: my @a = 1, 2; @a[3] = 4; say @a[^*]:v
18:48 camelia rakudo-moar 7c7e46: OUTPUT«(1 2 4)␤»
18:48 Arrowhead is sub MAIN documented anywhere?
18:48 TimToady I guess that's about the best we can do at the moment for "really non-existing" rather than just undefined
18:48 dfarrell joined #perl6
18:50 flussence Arrowhead:​5to6-nutshell#Getopt%3A%3ALong has examples,​ml#Declaring_a_MAIN_subroutine has details
18:51 gfldex m: my @a; @a[0] = 1; @a[2] = 3; dd @a.keys;
18:51 camelia rakudo-moar 7c7e46: OUTPUT«0..2␤»
18:51 gfldex i do not agree with rakudo on that
18:51 autarch I don't know exactly what this error is telling me - Calling magic_file(File::LibMagic::Cookie, Str) will never work with declared signature (NativeCall::Types::Pointer, Str --> Str)
18:51 Arrowhead flussence: thanks!
18:52 Guest15478 joined #perl6
18:52 nine cygx: use v5; is handled directly by the grammar. I don't see how %*PRAGMAS comes into this?
18:52 autarch no matter what I use for that sub signature I get basically the same error
18:53 hankache m: my @a; @a[0] = 1; @a[2] = 3; say @a[1];
18:53 camelia rakudo-moar 7c7e46: OUTPUT«(Any)␤»
18:53 hankache m: my @a; @a[0] = 1; @a[2] = 3; say @a;
18:53 camelia rakudo-moar 7c7e46: OUTPUT«[1 (Any) 3]␤»
18:53 hankache gfldex ^^
18:53 cygx nine: currently, it doesn't - that's the change I want to make instead of hardcoding loading a module called `Perl5`
18:54 dfarrell hey folks, is there any documentation available on using different versions of the same module in the same program?
18:55 gfldex hankache: i do agree that there is a hole. I do not agree with a Range as a good way to represent something that can have holes.
18:55 nine dfarrell: I think, that's not fully supported yet
18:55 nine dfarrell: lots of infrastructure is already there, but not hooked up together.
18:56 Skarsnik autarch, magic_file does not want a File::LibMagic::Cookie if it's not a REPR Pointer
18:57 bpmedley_ joined #perl6
18:57 autarch Skarsnik: but it _is_ a pointer! my class Cookie is repr('CPointer')
18:57 hankache gfldex i got you, a better representation would be a list omitting the holes (0,2)
18:57 dfarrell nine: ok, thanks. That's what I thought too, until I read this post:​-would-you-want-to-use-perl-6-some-answers/
18:57 autarch and I have two other subs (magic_descriptor and magic_buffer) that work exactly the same way and don't cause warnings
18:57 lucasb so, there is a difference when you create an array with 'my @a; @a[10] = 42' and when you type 'my @a = Nil,Nil,...,42' ?
18:58 Skarsnik autarch, that pretty weird
18:58 Skarsnik I am not sure the --> Str work?
18:59 autarch here's the code -​tarch/d7153a6371f430289c10
18:59 autarch they all return a Str
18:59 mojca joined #perl6
18:59 gfldex lucasb: assignment of Nil to a container will set the container to it's default value. Autovivication of arrays will result in Nil turn to Any (or the arrays containers type).
19:00 hankache m: my @a; @a[2] = 1; my @b; @b = Nil,Nil,2; say @a ~~ @b;
19:00 camelia rakudo-moar 7c7e46: OUTPUT«False␤»
19:00 hankache m: my @a; @a[2] = 1; my @b; @b = Nil,Nil,2; say @a == @b;
19:00 camelia rakudo-moar 7c7e46: OUTPUT«True␤»
19:00 hankache lucasb no difference ^^
19:01 lucasb m: my @a = Any,Any,Any,42; say @a[^4]:v
19:01 camelia rakudo-moar 7c7e46: OUTPUT«((Any) (Any) (Any) 42)␤»
19:01 lucasb m: my @a; @a[3] = 42; say @a[^4]:v
19:01 camelia rakudo-moar 7c7e46: OUTPUT«(42)␤»
19:01 Skarsnik autarch, put magic_file before magic-file?
19:02 autarch Skarsnik: doesn't help
19:02 Skarsnik wait you already do the same thing for the other
19:03 dfarrell Does anyone know of a resource that shows the implementation status of Perl6, e.g. which features are/aren't available?
19:03 Skarsnik autarch, did you try directly with the class name instead of just Pointer?
19:04 flussence dfarrell: (but it's growing moss)
19:04 Skarsnik rakudo main page maybe?
19:04 flussence the things in green are all correct, the others may not be
19:04 llfourn joined #perl6
19:05 dfarrell flussence: thank you! that's useful
19:06 lucasb what I meant is that those 2 arrays look exactly the same, but they behave different with regard to subscripting adverbs :k,:v,etc. maybe it's intended or not, idk.
19:06 SwellJoe joined #perl6
19:07 hankache m: my @a = Nil,Nil,Nil,42; say @a[^4]:v
19:07 camelia rakudo-moar 7c7e46: OUTPUT«((Any) (Any) (Any) 42)␤»
19:07 ChoHag Can a where clause in a Signature reference more than one of the incoming variables?
19:08 hankache lucasb dunno if it's intended or not
19:08 cygx bye o/
19:09 gfldex m: sub f($a, $b where $a == $b) {'OK'}; say f(1,1); say 'alive'; say f(1,2);
19:09 camelia rakudo-moar 7c7e46: OUTPUT«OK␤alive␤Constraint type check failed for parameter '$b'␤  in sub f at /tmp/H20MCIT5yF line 1␤  in block <unit> at /tmp/H20MCIT5yF line 1␤␤»
19:09 gfldex m: sub f($a, $b where $a == $b) {'OK'}; say f(1,1);
19:09 camelia rakudo-moar 7c7e46: OUTPUT«OK␤»
19:09 gfldex ChoHag: yes ^^^
19:09 gfldex are signatures turing-complete?
19:10 autarch Skarsnik: no warning with the class name
19:10 nine gfldex: they must be since they can call arbitrary code
19:12 nash_ joined #perl6
19:14 * gfldex .oO( Perl 6 begins to learn at a geometric rate. It becomes self-aware at 2:14 a.m. Eastern time, August 29th. )
19:14 flussence .oO( it OOMs at 2:15 )
19:14 dalek rakudo/nom: 9053c4e | lizmat++ | src/core/
19:14 dalek rakudo/nom: Use faster leap-date determination
19:14 dalek rakudo/nom: review:
19:15 kivutar joined #perl6
19:17 Atrox Is there a depends for tests/development only (for example Test::META)? Because my module only needs this in the test files.
19:17 Skarsnik I found an interesting bug x) self.^shortname on a role give the role name + }
19:18 flussence Atrox: "test-depends" in META is exactly that
19:18 Atrox flussence: Thanks ._.
19:18 Skarsnik test-depends feel like it's something panda will run
19:19 Atrox Why is this not in the official documentation.... ._.
19:19 Skarsnik I mean if you write 'xt' test and put the dep in test-depends I fear panda will install the deps x)
19:20 flussence Atrox: has everything, sorta
19:20 lizmat hmmm... it appears that tai-utc isn't documented, specced or spectested
19:20 Atrox flussence: I looked at Thanks for the link
19:20 lucasb Skarsnik: can you show the self.^shortname thing? I tried but couldn't reproduce
19:20 * lizmat thinks she's going to make an internal module
19:20 madjestic joined #perl6
19:20 lizmat *it
19:22 Skarsnik actually I can't too for a small test x)
19:22 ChoHag Does returning multiple values from a sub still work the same way it did in perl 5?
19:22 Skarsnik probably not
19:22 lucasb Skarsnik: ah, ok
19:22 lizmat m: sub a() { 1,2,3 }; my ($a,$b,$c) = a; dd $a, $b, $c
19:22 camelia rakudo-moar 7c7e46: OUTPUT«Int $a = 1␤Int $b = 2␤Int $c = 3␤»
19:22 flussence alright, I've ruled out Standard Gentoo Crap and still can't get -jvm to build so I'll leave this here for someone more knowledgeable to look at:
19:22 shadowpaste "flussence" at pasted "perl6-j test/build failures" (54 lines) at
19:22 lizmat Skarsnik ChoHag seems to me it does
19:23 madjestic is anybody running perl6 on gentoo?
19:23 flussence yeah
19:23 Skarsnik it work because you return a list :)
19:24 Skarsnik and ($a, $b, $c) = 'dispatch' the list
19:26 Skarsnik m: role R { method foo{say self.^shortname}; method bar{}}; class A {}; my $a =; $a does R; $
19:26 camelia rakudo-moar 7c7e46: OUTPUT«A+{R}␤»
19:27 gfldex the following talk will start in 4 minutes and may be of interest:​2015/Fahrplan/events/7130.html
19:27 gfldex
19:27 gfldex stream Hall 1
19:27 lucasb Skarsnik: ah, thanks. but isn't it expected?
19:27 CIAvash joined #perl6
19:27 Skarsnik I have say "hello";say self.^shortname; and I get : hello QDBStorable}
19:28 RabidGravy how do I get around:
19:28 RabidGravy m: use NativeCall; class Foo is repr("CStruct") { has Str $.foo; }; => "dgdgd")
19:28 Skarsnik so I am confused x)
19:28 camelia rakudo-moar 7c7e46: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/y89eKM_PQ1 line 1␤␤»
19:28 Skarsnik I am not sure you can new a CStruct?
19:28 lizmat m: use NativeCall; class Foo is repr("CStruct") { has Str $.foo; }; => my $ = "dgdgd")
19:29 camelia rakudo-moar 7c7e46: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/s7FWWBpaxW line 1␤␤»
19:29 Skarsnik m: use NativeCall; class Foo is repr("CStruct") { has Str $.foo is rw; }; => "dgdgd")
19:29 camelia rakudo-moar 7c7e46: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/aK3eX0SMgj line 1␤␤»
19:29 RabidGravy Skarsnik, yeah you can, it's just something about the strings
19:30 Skarsnik I could be because NC will not know how to pass the Str later ?
19:30 RabidGravy now if you do
19:30 Su-Shee 8/win close
19:30 RabidGravy m: use NativeCall; class Foo is repr("CStruct") { has str $.foo; }; say => "dgdgd").perl
19:30 camelia rakudo-moar 7c7e46: OUTPUT« => "dgdgd")␤»
19:31 RabidGravy that's fine, but I'm pretty sure it shags the string up somehow
19:31 Skarsnik str is buggous
19:31 Skarsnik I had segfault with it
19:31 RabidGravy yeah, that's what I'm seeing, it's the only thing left
19:31 masak evenin', #perl6
19:31 yoleaux 11:16Z <lizmat> masak: is there a reason why,12,31,23,5​9,60,0).later(:86400second) and,12,31,23,59,60,0).later(:1day) should give different results ?
19:31 Skarsnik That why I exclude it in NC::TypeDiag x)
19:32 masak lizmat: yes, I think so.
19:32 masak lizmat: so, that's one of them 61-second minutes, right?
19:33 Skarsnik RabidGravy, damn this execption is from Core
19:33 lizmat masak: yup
19:33 Skarsnik Did you get bt in NC at some point?
19:34 masak lizmat: I'm a bit fuzzy on the exact details of the .later algorithm, but when you say .later(:1day), it's supposed to take you to "the same" hh:mm:ss on the next day.
19:34 masak lizmat: which isn't possible in this case. so it truncates.
19:34 masak lizmat: whereas if you say "this exact amount of seconds later", it's pretty clear you don't want the truncation
19:34 Skarsnik lucasb, btw my goals was to get the name of A and not R x)
19:34 lizmat masak: ok
19:36 masak lizmat: or, a much easier way to say it -- that's one of the few days where "1 day" and "86_400 seconds" don't coincide
19:36 arkvolk joined #perl6
19:36 mojca I managed to prepare packages for MoarVM, nqp, rakudo for a package manager; what's next? What else is needed to get closer to rakudo-star?
19:36 arkvolk How I make cperl-mode works with Perl6?
19:37 masak so I think the current semantics is sane -- it's just leap seconds that are really weird
19:38 TimToady .oO(why doesn't time come with a snap-to-grid option?)
19:38 * flussence is getting some Time Cube vibes from this C3 presentation
19:38 woolfy left #perl6
19:41 nine gfldex: err...that talk is not interesting at all. It's just more of the same crap as the last one. The first slide I see supposedly showing "common code that's used a lot" contains a bug on the second line that will make it not work at all.
19:42 RabidGravy mojca, it needs "panda" and all the modules in Task::Star as well afaik
19:43 nine "The whole perl security module is based on the asumption that CGI won't let you create hashes"
19:43 autarch hmm, there's no NativeCall sugar for macros defined in .h files, is there?
19:43 masak wow, 007 has had 22 pull requests so far. people++
19:43 RabidGravy autarch, no.  It's either make a tiny C helper or reimplement
19:43 autarch easy enough to copy I guess
19:43 Skarsnik autarch, declare them as enum?
19:43 [Coke] Anyone have any input on the categorized search branch for docs?
19:43 Skarsnik should be easy to have a slang that transform #define foo 1 in a enum value?
19:44 japhb Aside from 'use nqp;' (or the new version thereof), is NQP currently a true subset of Perl 6?  Meaning, is there any NQP code that would be interpreted semantically differently as Perl 6 code?
19:44 RabidGravy I think people have individually hacked up their own solutions for that, I did some sed thing a while back
19:47 * [Coke] gets an email when is 6.0.0 and explains the 2 different versions to worry about. gets a reply back of thanks for the explanation. When is 6.0.0?
19:47 * [Coke] sighs.
19:47 mort96 Morning
19:47 arkvolk left #perl6
19:47 dalek rakudo/nom: a2c1d86 | lizmat++ | / (7 files):
19:47 dalek rakudo/nom: Move tai-utc into Rakudo::Internals
19:47 dalek rakudo/nom: review:
19:47 autarch Skarsnik: they're not strictly ascending in this case
19:47 yurivish_ joined #perl6
19:47 Skarsnik this guys is dumb, it mix stuff x)
19:47 Skarsnik autarch, you can write PLOP => 42, NYO => 1
19:47 nine Are all CCC talks that bad?
19:47 flussence the 3DS one last night was kinda fascinating :)
19:48 mst joined #perl6
19:48 Skarsnik "You don't know" you can always test with ref what you get..
19:49 RabidGravy anyone bored and want to figure out why the hell is segfaulting?
19:49 perigrin nine: no that guy is particularly bad
19:49 jervo joined #perl6
19:49 RabidGravy I've exhausted nearly every possibility
19:49 autarch How do I call a method when the method name is in a scalar?
19:49 autarch m: my class Foo { method bar { 42 } }; my $m = q{bar}; say$m
19:49 camelia rakudo-moar 9053c4: OUTPUT«Cannot find method 'CALL-ME'␤  in block <unit> at /tmp/loyAXr2vVB line 1␤␤»
19:49 autarch I'd expect that to work but clearly not
19:50 Skarsnik I did that
19:50 Skarsnik let me find it
19:50 RabidGravy m: my class Foo { method bar { 42 } }; my $m = q{bar}; say$m()
19:50 camelia rakudo-moar 9053c4: OUTPUT«Cannot find method 'CALL-ME'␤  in block <unit> at /tmp/fIcp3sTHAx line 1␤␤»
19:50 RabidGravy uh?
19:50 * [Coke] tries again.
19:51 autarch I would really expect that to work - if this is harder in p6 than p5 it seems like a step backwards
19:51 [Coke] mojca: I don't think a rakudo-star makes sense as a mac port.
19:51 Skarsnik $h."$foo"
19:51 RabidGravy m: my class Foo { method bar { 42 } }; my $m = 'bar'; say$m()
19:51 camelia rakudo-moar a2c1d8: OUTPUT«Cannot find method 'CALL-ME'␤  in block <unit> at /tmp/SVTX8JVzCb line 1␤␤»
19:51 * autarch is probably missing something obvious
19:51 autarch aha
19:51 RabidGravy nope that's weird
19:51 mst [Coke]: how not?
19:51 Skarsnik​t/blob/master/lib/HTTP/Cookies.pm6#L37
19:51 autarch m: my class Foo { method bar { 42 } }; my $m = q{bar}; say"$m"()
19:51 camelia rakudo-moar a2c1d8: OUTPUT«42␤»
19:51 autarch good enough
19:51 woolfy joined #perl6
19:51 lucasb I already asked in the backlog, but will ask again if anyone knows why nqp syntax is so permissive/forgiving?
19:52 [Coke] mojca: But, if we head down that path, I imagine you'd need a port for each of the various modules that were included into star; and then a rakudo-star port that depended on rakudo & the module ports.
19:52 lucasb nqp-m: foo + bar; a ~ b; x,y,z; my $x :=; say('alive')
19:52 camelia nqp-moarvm: OUTPUT«alive␤»
19:52 RabidGravy oh yes, it used to have an error message about the quotes
19:52 RabidGravy which is a step backward
19:52 [Coke] mst: is there a batteries included perl5 macport? (or other portage system por?)
19:53 autarch yay, I made it segfault!
19:53 Skarsnik aside from saying "look CGI perl is buggy" what this talk about?
19:53 mst [Coke]: perhaps then a rakudo port, plus a panda port, and then they get the rest via 'panda install Task::Rakudo' or so?
19:53 * [Coke] will just merge the categorized search back to master and push it. :P
19:54 [Coke] mst: certainly a panda port would be nice, sure.
19:54 flussence Skarsnik: "look Bugzilla is a huge ball of mud", I guess
19:54 mst [Coke]: I'm not sure. I'm not trying to disagree with you here, so much as figure out the reasoning so I can decide -if- I agree :)
19:54 [Coke] mojca++ # port mania!
19:54 mst but, I mean, we ship R* as a .msi
19:54 cbk_ joined #perl6
19:54 mst what should be the equivalent instructions to OS X users?
19:54 woolfy Hi all.  I'm in a discussion that is too much over my head.  How well is Perl 6 supporting (has implemented) IEEE 754? (I did try to find this myself, and found this on Wikipedia: ) (but trying to find the specifics in Perl 6 code is over my head.
19:55 woolfy (discussion is elsewhere, not here)(d'oh)
19:55 [Coke] mst: I was never a fan of having a bajillion p5 ports (one per module); I suppose if it's automatable...
19:55 perigrin mst: buy a windows laptop and install hte msi?
19:55 * perigrin hides.
19:55 [Coke] mst: use the non msi version; works fine.
19:55 mst perigrin: well if we're trying to be *sensible* I think the answer for both windows and OS X should be "here's a dollar, get yourself a debuntu VM already"
19:55 woolfy I've read Ovid's helpful blog:​tle-thing-to-love-about-perl-6-and-cobol.html
19:55 [Coke] you don't need macports to install R*
19:55 nine Now he's happily demonstrating a security issue in his own code where he uses $cgi->param to "get at the uploaded file's handle" contrary to all documentation
19:56 [Coke] woolfy: I have no idea on the specifics.
19:56 [Coke] m: say NaN==NaN
19:56 camelia rakudo-moar a2c1d8: OUTPUT«False␤»
19:56 [Coke] So, at little, anyway
19:56 [Coke] *a
19:56 perigrin mst: the equivlant to an MSI for OSX though is a full installer that probably installs to /usr/local rather than any of hte ports systems
19:57 autarch any idea why this code segfault -
19:57 autarch just run "perl6 t/basic.t"
19:57 mst perigrin: perhaps
19:57 woolfy [Coke] thanks, maybe I should stick with mentioning Ovid's post.
19:57 mst what I'm mostly saying is "we seem to be trying to make rakudo easier to get for macports users"
19:57 mst given that's the goal, we should at least have -a- way to get to an R* atop a macports rakudo
19:58 nine Ok, which NativeCall data type should I use if I need a 32 bit int on a 32 bit system, but a 64 bit int on a 64 bit system? Because that's what perl 5's IV is.
19:58 [Coke] So, I think my plan makes some sense; it's just a PITA to create N ports.
19:58 Skarsnik That a good question nine
19:58 [Coke] [meta] we might need to starting using threads to indicate what we're talking about. getting noisy in here. :)
19:59 lucasb or split another channel
19:59 awwaiid m: say "newline\ntest"
19:59 camelia rakudo-moar a2c1d8: OUTPUT«newline␤test␤»
19:59 Skarsnik nine, is that long?
19:59 perigrin [Coke]: to answer your earlier question ... as far as I can tell most of the ports systems on OSX (the two or three I've used at least) tend to be hands off once they've gotten you bootstraped into the language's build system.
20:00 nine Skarsnik: don't think so. I'm already using long and it's wrong for orbus's system as it seems
20:00 mst right, which is why I was thinking "we should make sure there's a defined way to get to a full R* using panda (or whatever), and make sure there's a port for panda (or whatever)"
20:00 perigrin ^^^
20:00 mst [Coke]: the threading was fine until somebody randomly stuck [meta] in front of a line in a weirdly un-irc-ish way and then my mental parser crashed :D
20:00 perigrin [Coke]: Added bonus to mst's plan is that it works for homebrew users too :)
20:01 RabidGravy autarch, I'd start with int32 rather than int
20:01 Skarsnik nine, our native long     is Int is ctype("long")     is repr("P6int") { };
20:02 Skarsnik wait
20:02 Skarsnik that's dumb
20:02 cygx joined #perl6
20:02 cygx nine: my native cintptr is Int is nativesize(nqp::nativecallsizeof(Pointer) * 8) is repr<P6int> {}
20:03 autarch RabidGravy: that gives me this -​tarch/cefa8b1ddb1606dba306
20:03 Skarsnik size_t maybe?
20:03 RabidGravy eh?
20:04 RabidGravy autarch, let me clone your code
20:04 RabidGravy 'ang on
20:04 autarch RabidGravy: no permission needed ;)
20:04 [Coke] ... good point. get to panda, then run task::star. points.
20:05 llfourn joined #perl6
20:05 Skarsnik nine, can you link me perl5 header/doc ?
20:05 Atrox Hi, does anyone have time to take a look at: Would love to get feedback on the code itself.. I don't know if this is the idiomatic way of writing perl ._.
20:06 Skarsnik haikunate(:tokenHex(True)) you don't need the True here ^^
20:06 Skarsnik :tokenHex
20:07 Skarsnik But this look fine
20:07 Atrox ah nice.
20:07 autarch Atrox: I don't know about Perl 6 but in 5 we use "snake_case", not "camelCase" - in 6 I mostly see "snake_case" or "what-is-this-case"
20:08 autarch and by "we" I mean Perl 5 people who didn't first spend years writing Java ;)
20:08 Atrox autarch: yeah, I thought about the same... but I didn't find any style guide or linter at all for perl 6 :/
20:08 masak autarch: kebab-case, it seems to be called
20:09 Skarsnik kebab case is getting more common
20:09 mspo I just saw the term snake_cast for the first time today
20:09 mspo case
20:09 autarch I just realized it should be flying-snake-case!
20:09 autarch that's so much better than kebab
20:10 flussence .oO( it's 2015, we have hoversnakes now )
20:10 autarch ooh, hover-snake-case is good too
20:10 * masak .oO( ~~~flying~spaghetti~monster~case~~~ )
20:10 lizmat .oO( my hover-snake-case is full of eels )
20:10 dha masak++
20:10 Skarsnik hipster'case
20:10 dha lizmat++
20:11 konobi
20:11 * masak .oO( basket🏀case )
20:12 masak oh, and today's autopun spotting:​ner/status/677456039705501696
20:13 mojca RabidGravy: thank you; [Coke]: yes, I also imagine one port/package per module, but I wanted to get the idea about what else was missing
20:13 h3kker joined #perl6
20:13 orbus reverse case - all identifiers should be desrever for added clarity
20:14 [Coke] mojca: just getting panda working and then using panda to install modules is also fine. (and lets us minimize the amount of work, and have similar instructions for homebrew)
20:14 [Coke] you'll need at least that much anyway.
20:15 nine Skarsnik: the P5 type is detected and generated by the script
20:15 mojca [Coke]: from what I've seen homebrew installs just rakudo-star
20:15 Skarsnik nine, in perl5 lib?
20:16 mojca [Coke]: let me know once you test the rakudo port
20:17 nine Skarsnik:
20:17 pdcawley joined #perl6
20:18 Skarsnik look like you will need to do the same check?
20:20 timotimo lol the perl jam 2 dude showed an exploit with with code copied from its docs
20:21 Skarsnik m: role R { method foo{say self.^name}; method bar{}}; class A {}; my $a =; $a does R; $
20:21 camelia rakudo-moar a2c1d8: OUTPUT«A+{R}␤»
20:21 nine timotimo: no, if it were copied from the docs it would not have been exploitable
20:21 Skarsnik hm, How I can get only A ?
20:21 nine timotimo: he exchanged upload and param
20:21 timotimo nine: does it use << >> in the docs?
20:21 gfldex timotimo: that talk is fine advertisement for Perl 6
20:21 nine timotimo: oh, maybe you mean a different "exploit"
20:21 timotimo Juerd: i heard you gave him a question
20:22 timotimo nine: where an uploaded file turned into a string instead of FD and he used it with < > and put | at the end of one of the params
20:22 nine timotimo: that's the one I mean. It should have been my $fh = $cgi->upload('file'); not $cgi->param('file')
20:22 Juerd timotimo: Yes, I did. The 'signal angel' did mangle the question a bit. But it's okay.
20:22 timotimo oh, he only used upload in the if statement, right?
20:23 gfldex the importent bit is that the string is ARGV, and will fill ARGV with the user input for you
20:23 nine timotimo: nowhere in CGI's docs does it ever tell you that param returns a file handle
20:23 Juerd nine: It used to.
20:23 nine timotimo: yes, it's completely his own screwup
20:23 timotimo Juerd: i was a signal angel in the past, it is quite hard to get that stuff right
20:23 Juerd nine: A long, long time ago.
20:23 Juerd timotimo: I phrase literal questions :)
20:23 leedo timotimo: wasn't even removed from perl 5 core?
20:23 Juerd leedo: It was
20:23 Juerd timotimo: Are you here?
20:24 flussence leedo: precisely *because* people keep screwing it up like this :)
20:24 nine And the crap about "the whole perl security module is based on <his very own bullshit> asumption!"
20:24 leedo that is weird, the abstract on that talk was all about "exploiting perl 5 core" or some such stupidity
20:24 timotimo Juerd: i am not
20:24 timotimo nine: can you give me a direct link to that part of the docss
20:24 Skarsnik well having <> doing special stuff with ARGV is weird xD
20:24 Juerd Skarsnik: Yes, I agree that <ARGV> doing 2-arg open is a security issue.
20:24 leont leedo: he's a lying bully, I didn't believe that for a moment
20:25 frobisher joined #perl6
20:25 nine timotimo:​#PROCESSING-A-FILE-UPLOAD-FIELD
20:25 leedo leont: yeah, sounds like it
20:25 Juerd leont: Well, the point about <ARGV> and 2-arg open is valid.
20:25 timotimo​#PROCESSING-A-FILE-UPLOAD-FIELD - this doesn't have it
20:25 Juerd leont: It's a documented feature but an intensely dangerous one.
20:25 timotimo Juerd: doesn't <<ARGV>> not give you that problem?
20:25 gfldex leont: he got a working exploit and that means he is right
20:26 nine gfldex: an exploit in his own code
20:26 nine I can write exploitable code easily and blame it on some language
20:26 gfldex gfldex: i don't think he wrote bugzilla
20:26 leont I hate the feature as much as anyone else (except tchrist, who seemed to love it), but I wouldn't call that "exploiting perl 5 core"
20:26 Skarsnik what the use case to have <ARGV> to something?
20:26 timotimo nine: that doesn't have <$foo> in it at all
20:27 Juerd timotimo: IIRC something like that was introduced, yes.
20:27 gfldex nine: and his 2nd bit of code came from CGI.pod
20:27 timotimo and what idiot threatened this dude's life?
20:27 Juerd timotimo: I don't believe that anyone did. The dude has not refrained from lying about other stuff and I think this too is imagined, not real.
20:27 flussence (and how hard was he baiting them to get that kinda reaction?)
20:28 timotimo flussence: well, last year's talk
20:29 dha Oh, is someone lying about stuff again?
20:29 gfldex flussence: if you take the troll bait, you are the troll
20:29 timotimo let's not just call him a liar just yet
20:29 timotimo until we find where he copy-pasted that piece of code from
20:29 Skarsnik hm what the eqv of my ($var1, $var2) = $str =~ /(\d);(\d)/ ?
20:30 flussence timotimo: well that was a github screenshot, so could be a million different places
20:30 gfldex and he got a point. It's incredible hard to write secure perl 5 code. What doens't make him less of an asshole ofc. There is however no reason not to learn from an assholes good points.
20:30 Juerd gfldex: He had 1 good point and a dozen instances of utter bullshit
20:30 nine gfldex: no, it's not hard at all if you just read the docs
20:31 Juerd gfldex: I disagree that it is hard to write secure Perl 5 code. It is hard to write really secure code in any language, Perl 5 being *easier* to write secure code in, than the average of all languages.
20:31 leont Yes, what Juerd says
20:31 nine gfldex: the whole DBI docs tell you to use placeholders. Not a single example strays from this. Some Bugzilla coder didn't get the message and suddenly it's "Perl's security module" that's wrong
20:31 timotimo Juerd: except if you're not careful in p5 about what's scalar, list, array or hash the functions you use will suddenly behave extremely differently
20:32 cygx joined #perl6
20:32 leont timotimo: there aren't that many functions that have that issue, really
20:32 timotimo maybe
20:32 timotimo i don't know anything about p5, actually
20:32 mst and we've been discouraging people from writing more for over a decade now
20:32 cygx examples/file_upload.cgi from CGI-4.25.tar.gz
20:32 timotimo cygx: thanks for spotting that!
20:33 mst gfldex: the file upload documentation mistake is extremely unfortunate, and definitely needs fixing
20:33 timotimo cygx: where can i access that on the 'net?
20:33 cygx timotimo: CPAN?
20:33 leont Juerd: Also, our knowledge of how to write secure code is improving. Some issues were gravely underestimated in all code 15 years ago
20:33 timotimo i am on cpan
20:33 mst OTOH hasn't been a recommended way to write code for some time
20:33 timotimo i have a download button or a "source" button for the pod only
20:33 timotimo mst: quite the opposite, no?
20:33 cygx​rs/id/L/LE/LEEJO/CGI-4.25.tar.gz
20:33 mst timotimo: - then click to the dist, which will list all files, and the examples are clickable
20:33 Juerd leont: Agreed
20:33 timotimo mst: hasn't the reaction to CGI been "NO! STOP! GO AWAY! NO!" for a long tmie?
20:34 mst timotimo: yes.
20:34 mst timotimo: and then he rages about Catalyst and Mojolicious having different APIs ... which we did specifically because's were pretty terrible :)
20:34 timotimo i can't find the examples/ thing yet
20:34 mst timotimo: yeah, so if you click the CGI-4.25 link at the top of the page
20:34 mst timotimo: that takes you to
20:34 mst timotimo: which lists the examples
20:34 * flussence has one Anecdote From Old $Dayjob involving that'd probably give people here a heart attack if I went into details
20:34 RabidGravy autarch, fixed it for you
20:35 timotimo ah
20:35 virtualsue so is this fallout from whatsisname at ccc?
20:35 timotimo that was hard to find
20:35 autarch RabidGravy: how'd you do it?
20:35 timotimo thanks
20:35 timotimo now i see it
20:35 timotimo and yeah, it's bad
20:36 RabidGravy I'll PR it but basically magic_setflags needed to be a sub *and* you were using open() instead of magic_open()
20:36 * Skarsnik spend 4 hours generating 2 sql querry, is happy
20:37 timotimo nice.'s readme actually tells potential users that there's better stuff available and what it is
20:37 timotimo gotta run grocery shopping now!
20:37 autarch RabidGravy: ah, I see - maybe NativeCall needs some more defensive code so it doesn't segfault on that sort of error
20:38 RabidGravy​perl6-File-LibMagic/pull/1
20:38 autarch RabidGravy: thanks!
20:39 dha Yeah, but who reads the realm?
20:39 RabidGravy autarch++ for making a magic
20:39 dha dammit, the readme
20:39 * flussence was trying to figure out if that was a jab at NTLM-over-HTTP for a minute
20:39 masak copying the entire contents of a well-known much-used module (and then modifying it in non-upstreamable ways) rather than just taking on a module dependency? discuss.
20:40 flussence Chromium tarballs. :)
20:40 masak moritz: by the way, ain't got no LICENSE :P
20:41 masak (I might actually have the patience to turn my modification into a pull request, too. that'd be nice, now that I think about it.)
20:41 wingfold joined #perl6
20:41 brrt joined #perl6
20:41 gfldex timotimo: sadly the argument ain't no part of CORE anymore isn
20:41 gugod I'm a bit confused by this: [Int.max, Int.min]
20:41 gfldex timotimo: (sorry), really helpful see​chon=contents&amp;;m​ode=path&amp;suite=stable&amp;arch=any
20:41 gugod m: [Int.max, Int.min]
20:41 camelia rakudo-moar a2c1d8: ( no output )
20:41 gugod m: say [Int.max, Int.min].perl
20:41 camelia rakudo-moar a2c1d8: OUTPUT«[-Inf, Inf]␤»
20:42 gugod until I realize that there really are no min/max methods
20:43 gugod is there a something similar to B::Deparse in perl6 land ?
20:43 nine gugod: perl6 --target=ast
20:44 flussence there's perl6 --t.. that :)
20:44 gugod nice
20:44 dalek ecosystem: 324779b | Atrox++ | META.list:
20:44 dalek ecosystem: add Haikunator
20:44 dalek ecosystem: review:​cosystem/commit/324779b5ed
20:44 dalek ecosystem: cf3cb35 | RabidGravy++ | META.list:
20:44 dalek ecosystem: Merge pull request #105 from Atrox/patch-1
20:44 dalek ecosystem:
20:44 dalek ecosystem: Add Haikunator
20:44 dalek ecosystem: review:​cosystem/commit/cf3cb35c01
20:44 masak how can I check whether there was a trailing separator in `<item>+ %% <sep>` ? (without reparsing)
20:44 flussence (one day in the distant future, we might even have a DOM-tree-style API...)
20:45 masak flussence: working on it :)
20:45 ChoHag Does EVAL $string do anything other than what eval $string does in perl 5?
20:45 webstrand joined #perl6
20:45 flussence masak: um, would `<item>+ %% <sep> <trailing-sep=.sep>?` work or am I misunderstanding %%?
20:46 autarch ok, so it doesn't segfault, but it doesn't actually work - how do I go about debugging NativeCall-using code? Like if I want to see what's happening on the C side?
20:47 lizmat ChoHag: it parses perl 6 by default ?
20:47 nine autarch: gdb?
20:47 autarch nine: ugh, right
20:47 * autarch dusts off his minimal gdb skills ...
20:47 nine that's all you need :)
20:47 dalek rakudo/nom: 64a61a3 | lizmat++ | src/core/Rakudo/
20:47 dalek rakudo/nom: Simplify $*TZ initialization
20:47 dalek rakudo/nom: review:
20:47 masak flussence: ooh, that's a nicer solution than the one I ended up with. :)
20:47 perlpilot masak: you could also probably count the items and the separators
20:47 gfldex ChoHag: it will not inject anything into the surrounding scope
20:47 masak flussence: but then it'd need a `%`, not `%%`
20:47 cygx masak: $<sep> == $<item>
20:48 webstrand What's the use of .precomp files? I'm trying to package panda for my distro, and when I give panda's bootstrap a prefix, it sticks a bunch of .precomp files in there. What should I do about them? I can't include them in the package because the names sometimes conflict with other modules.
20:48 masak perlpilot: yes, but that'd require me to catch all the separators, and I only really care about the trailing one
20:48 awwaiid ChoHag: it makes a new lexical scope, parses/compiles. unlike perl5 it does not catch exceptions.
20:49 lizmat awwaiid: good point  :-)
20:49 lizmat I had completely forgotten about that
20:49 ChoHag Right.
20:49 flussence webstrand: you can safely rm -rf .precomp/, it usually happens because test files contain a "use lib" line
20:50 orbus perl6 basically compiles a module the first time it's run and stores the intermediate result right?
20:50 ChoHag So next step, Why does function-which-returns-an-object ~~ Type::Name (inside an EVAL because I'm debugging and Type::Name isn't loaded at that point) return false even though the object returned from the function does indeed have Type::Name mixed in to it?
20:50 leont ChoHag: EVAL is currently rather buggy. It doesn't work well in modules, see #126839
20:50 orbus I think python does something simmilar
20:50 flussence mono does the same thing too
20:50 ChoHag And if the smartmatch isn't, how can I force that specific test?
20:50 orbus been a while since I looked at python
20:50 webstrand flussence: Thanks. Is there an env-var I can set to generate them elsewhere?
20:51 leont ChoHag: probably because your function needs to know about your Type::Name
20:51 ChoHag Ah!
20:51 ChoHag Because the function returns more than just the object.
20:52 flussence webstrand: not for .precomp specifically. I had a hack that moves them all to ~/.cache/perl6/ but people decided it wasn't enough of a problem to change it
20:52 autarch uh, how do I start perl6 under gdb? since my "perl6" is a perl6 wrapper that calls a shell wrapper that ... ?
20:52 leont perl6-m-gdb
20:52 hoelzro autarch: I believe rakudo ships perl6-gdb-m
20:53 autarch hoelzro: yes it does - that works
20:53 orbus I'm sure this has probably been discussed to death, but what was the thinking behind having a Match object coerce to a string with funny corner brackets around it?
20:53 orbus like if $x is a Match object
20:53 orbus and I do say $x
20:53 orbus I get 「x」
20:54 orbus but if I say $x.Str
20:54 orbus I get x
20:54 flussence orbus: you asked for a human-readable string (by using say instead of put), so it calls .gist instead of .Str
20:54 leont That's because it's the .gist, not the .Str
20:54 hoelzro orbus: that's .Str vs .gist
20:54 orbus hrm
20:54 orbus and .gist is supposed to be more a representation of the object as a whole?
20:55 hoelzro it's a friendlier representation
20:56 ChoHag Friendlier if you have a suitable font.
20:56 orbus heh
20:56 orbus I'm just starting to explore the new regex engine
20:56 ChoHag Perl 6 likes to show me boxes.
20:56 orbus maybe it should be the poop emoji
20:56 RabidGravy autarch, btw the magic.h has a lot of const char * in the arguments, these should have explicitly-manage($str) called on them before passing them to the NC sub
20:56 geraud joined #perl6
20:56 flussence .u 「
20:56 autarch RabidGravy: ah, ok, maybe that's the problem
20:57 flussence have cjk fonts, problem solved
20:57 orbus (everyone's favorite unicode character)
20:57 autarch nope, that's not it - though it may be another problem
20:58 autarch RabidGravy: actually, do I have to call explicitly-manage? libmagic won't hold on to anything that gets passed in after the function returns
20:59 halto joined #perl6
20:59 RabidGravy dunno to be honest
21:00 autarch if moar frees the string after magic_file is called that's fine
21:01 [Coke] mojca: testing nqp@2015.12...
21:02 autarch