Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-02-04

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:05 MadcapJake azawawi: ok, i've already started modifying it in the form of a PR for codemirror proper, it definitely has a lot of P5 cruft to pull out
00:06 MadcapJake It's tough to weed it all out when I've no experience with P5, so I might end up just rewriting large portions of it
00:15 addison joined #perl6
00:16 vendethiel joined #perl6
00:22 [Coke] sevvie: I have too much shit to keep track of already.
00:22 sevvie [Coke]: aye, understood. Thanks for letting me know!
00:24 jdv79 it is nice that this chan and pl6anet.org covers most if it for now
00:24 [Coke] (I have 2 different work chats, and 3 different personal chats)
00:24 [Coke] tools, I mean.
00:24 jdv79 its tiring and demotivating to go out and poll 10 things
00:24 jdv79 idk
00:30 jdv79 froze up again:(  /home/jdv/.perl6/2015.12-2​30-g2e17820/precomp/.lock
00:30 jdv79 who knows about this stuff?
00:31 jdv79 well, first up would be nice to be able to read filenames that mean something instead of tracing procs
00:31 jdv79 is anyone working on readable filenames in the cur stuff?
00:44 geekosaur joined #perl6
00:55 Vitrifur joined #perl6
01:00 Actualeyes joined #perl6
01:04 kurahaupo joined #perl6
01:07 yeahnoob joined #perl6
01:08 Vitrifur left #perl6
01:24 azawawi https://atom.io/packages/atom-perl6-editor-tools  # run Perl 6 tests in atom :)
01:27 dalek ecosystem: 9ce68a6 | (Shoichi Kaji)++ | META.list:
01:27 dalek ecosystem: rename username
01:27 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/9ce68a60b5
01:27 dalek ecosystem: 37d9d2f | (Shoichi Kaji)++ | META.list:
01:27 dalek ecosystem: META.info -> META6.json
01:27 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/37d9d2f2f5
01:27 dalek ecosystem: d8de336 | (Aleks-Daniel Jakimenko-Aleksejev)++ | META.list:
01:27 dalek ecosystem: Merge pull request #142 from skaji/rename
01:27 dalek ecosystem:
01:27 dalek ecosystem: Fix urls of some modules (github username was changed)
01:27 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/d8de336cd4
01:29 khw joined #perl6
02:07 ugexe jdv79: the workaround is to do -IfakeDir as the first include when launching the proc
02:09 ugexe so that it precomps into 'fakeDir', so when the proc tries to read the default .precomp directory its not locked (fakeDir will be)
02:10 maybekoo5 joined #perl6
02:10 addison_ joined #perl6
02:11 ugexe zef uses `-Ilib/.precomp` to hide it under `lib/.precomp/.precomp`
02:12 ugexe p6doc fails to declare its dependencies on Panda::Installer, Panda::Builder, Shell::Command, File::Find, and JSON::Fast
02:18 vendethiel joined #perl6
02:33 abaugher joined #perl6
02:33 Cabanossi joined #perl6
02:36 molaf_ joined #perl6
02:38 xpen joined #perl6
02:41 johan joined #perl6
02:45 kid51 joined #perl6
02:47 araujo_ joined #perl6
02:49 araujo_ joined #perl6
02:49 johan_ joined #perl6
02:51 araujo_ joined #perl6
02:54 araujo_ joined #perl6
02:56 protium joined #perl6
02:56 johan joined #perl6
03:03 vendethiel joined #perl6
03:04 AlexDaniel .tell revhippie I've also figured that any example that is using 「@x.keys.map: …」 can be shortened by doing 「(… for ^@x)」
03:04 yoleaux AlexDaniel: I'll pass your message to revhippie.
03:06 AlexDaniel .tell revhippie but yeah, somehow list comprehension is a very underrated feature in Perl 6 :)
03:06 yoleaux AlexDaniel: I'll pass your message to revhippie.
03:11 Hotkeys yeah
03:12 Hotkeys AlexDaniel++
03:18 Herby_ joined #perl6
03:18 Herby_ Evening, everyone!
03:18 Herby_ \o
03:18 AlexDaniel lately I've started noticing that stuff that I write in Perl 6 is mostly unreadable to others because I'm not limiting myself to some subset of Perl 6 (some small piece of code may require a rather advanced introduction to Perl 6 features). but yeah, then suddenly comes someone who did not notice a space character between a dot, and it makes me wonder if I should restrict myself sometimes
03:18 Welton joined #perl6
03:20 AlexDaniel but oh well, even (@a[^$_, $_..*] for 1..^@a) example is not so easy to explain to someone who never used Perl⅚
03:20 perlawhirl AlexDaniel: you may have to wait be a while so we as a community can decide on some good conventions. reading Perl Best Practices was the best thing that happened to my perl code. it stopped me writing clever code for the sake of it
03:21 Hotkeys Perl 5/6ths?
03:21 AlexDaniel Hotkeys: :) 5 or 6
03:21 Hotkeys just joking :p
03:22 Hotkeys Is there any chance we could get √ as an op for sqrt?
03:22 Hotkeys seems to fall in line with the other magical unicode stuff
03:22 perlawhirl It's funny, you know AlexDaniel i am playing around with the same code snippet :D it makes perfect sense when you understand all the parts, but there's a lot going on in that showrt line
03:22 AlexDaniel Hotkeys: https://gist.github.com/Alex​Daniel/c89bd2786f9b63f31e4c
03:22 Hotkeys AlexDaniel++
03:23 AlexDaniel Hotkeys: this is just a small list that I've assembled over the times. There are no pull requests or anything
03:23 AlexDaniel Hotkeys: so feel free to pick the one that you like and implement it
03:23 Hotkeys what does #| do
03:23 AlexDaniel Hotkeys: it's javadoc-like kinda thingies
03:23 Ben_Goldberg m: sub prefix<√> ($N) { return sqrt($N) }; say √ 121;
03:24 camelia rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ADOsGR5dLL␤Missing block␤at /tmp/ADOsGR5dLL:1␤------> 3sub prefix7⏏5<√> ($N) { return sqrt($N) }; say √ 121;␤    expecting any of:␤        new name to be defined␤»
03:24 perlawhirl AlexDaniel: how about → for block assignment?
03:24 Ben_Goldberg m: sub prefix<√> ($N) { return sqrt($N) }; say √(121);
03:24 camelia rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fakW5IvXTZ␤Missing block␤at /tmp/fakW5IvXTZ:1␤------> 3sub prefix7⏏5<√> ($N) { return sqrt($N) }; say √(121)␤    expecting any of:␤        new name to be defined␤»
03:24 perlawhirl for @list → $item {}
03:24 AlexDaniel perlawhirl: oh right, forgot about it
03:24 AlexDaniel I'll add it
03:24 mkj joined #perl6
03:24 Hotkeys I like the idea of subscripts allowed in vars
03:25 Ben_Goldberg m: sub prefix:<√> ($N) { return sqrt($N) }; say √(121);
03:25 camelia rakudo-moar 172a92: OUTPUT«11␤»
03:25 Ben_Goldberg Hotkeys, ^
03:25 AlexDaniel I like the idea of subscripts as array subscripts! That'd be awesome… :) If only we could decide what would be the best thing to do
03:25 Hotkeys I know Ben_Goldberg
03:25 Hotkeys I'm just doing some codegolf right now
03:25 Hotkeys so that would hurt my byte count
03:25 Hotkeys :p
03:25 Ben_Goldberg Ahh, I see.
03:26 AlexDaniel perlawhirl: not that any other example on this page is easier to explain: https://gist.github.com/Alex​Daniel/1e2d1c50963d37c5d43a
03:27 perlawhirl i know
03:27 perlawhirl tho the head/tail ones are fairly understandable if you know about perl's $_
03:28 Herby_ anyone know if any of the perl 6 FOSDEM videos are online yet?
03:28 AlexDaniel perlawhirl: you still have to explain ranges and ^ thing. It's not hard of course, but far from being obvious :)
03:28 perlawhirl Herby_: i've looked about, can't find any
03:28 Vitrifur joined #perl6
03:28 perlawhirl certainly not on the fosdem website... and i didn't find any on youtubes
03:28 Herby_ perlawhirl: ok thanks
03:28 perlawhirl i guess we'll just have to be patient
03:28 AlexDaniel perlawhirl: also 「@e - $_」 is rather tricky
03:30 AlexDaniel perlawhirl: oh right, and the whole thing is a list comprehension…
03:31 perlawhirl you can get a lot more explicit about things
03:31 perlawhirl m: for 1..^@a.elems -> $i { say @a.head($i), @a.tail(@a.elems - $i); }
03:31 camelia rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/of2EsIyExg␤Variable '@a' is not declared␤at /tmp/of2EsIyExg:1␤------> 3for 1..^7⏏5@a.elems -> $i { say @a.head($i), @a.tai␤»
03:31 noganex joined #perl6
03:31 perlawhirl m: my @ = 'a'..'c'; for 1..^@a.elems -> $i { say @a.head($i), @a.tail(@a.elems - $i); }
03:31 camelia rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b4eIIjqywT␤Variable '@a' is not declared␤at /tmp/b4eIIjqywT:1␤------> 3my @ = 'a'..'c'; for 1..^7⏏5@a.elems -> $i { say @a.head($i), @a.tai␤»
03:31 perlawhirl m: my @a = 'a'..'c'; for 1..^@a.elems -> $i { say @a.head($i), @a.tail(@a.elems - $i); }
03:31 camelia rakudo-moar 172a92: OUTPUT«(a)(b c)␤(a b)(c)␤»
03:31 perlawhirl using .elems removes a lot of ambiguity
03:32 perlawhirl in properly formatted code (ie, not one-liners) it reads more englishy
03:32 AlexDaniel m: my @a = 'a'..'c'; for 1..(@a.elems - 1) -> $i { say @a.head($i), @a.tail(@a.elems - $i); }
03:32 camelia rakudo-moar 172a92: OUTPUT«(a)(b c)␤(a b)(c)␤»
03:32 AlexDaniel perlawhirl: though you are not getting a list or seq back anymore :)
03:33 AlexDaniel by the way
03:33 perlawhirl well for that you need to do things more like a list comp, ie postfix for loop
03:33 AlexDaniel how to “return” something without “return” keyword?
03:33 perlawhirl ie, for (@a[^$_, $_..*] for 1..^@a) -> (@first, @last) { ... }
03:33 AlexDaniel perlawhirl: just enclose it in ( ) and that should work
03:34 perlawhirl AlexDaniel: just like perl5... the last expression evaluated should return implicitly
03:34 AlexDaniel perlawhirl: yes, of course. But what if I want to be explicit?
03:35 perlawhirl you mean like golang's pre-defined return thingy?
03:35 perlawhirl kinda like that?
03:35 AlexDaniel I don't know that much about golang
03:36 perlawhirl i'm confused cause you said you want to return explicitly, but you don't want to use 'return' (which is explicit)
03:36 AlexDaniel m: my @a = ‘a’..‘c’; say (for 1..^@a.elems -> $i { #`〈return〉 @a.head($i), @a.tail(@a.elems - $i); })
03:36 camelia rakudo-moar 172a92: OUTPUT«(((a) (b c)) ((a b) (c)))␤»
03:36 * perlawhirl head implodes
03:36 AlexDaniel perlawhirl: ok look
03:36 AlexDaniel m: my @a = ‘a’..‘c’; say (for 1..^@a.elems -> $i { return @a.head($i), @a.tail(@a.elems - $i); })
03:36 camelia rakudo-moar 172a92: OUTPUT«Attempt to return outside of any Routine␤  in block <unit> at /tmp/0oI2IPwELU line 1␤␤»
03:37 Hotkeys m: my &f = {sqrt [+] ($_²for @^a Z-@^b)}; say f([1,2],[3,4])
03:37 camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
03:37 Hotkeys ayy
03:37 protium joined #perl6
03:37 perlawhirl AlexDaniel: ok i see what you're getting at. though i'm not sure how to acheive it
03:37 Hotkeys that's what I wanted the sqrt char for
03:37 Hotkeys :p
03:39 perlawhirl wait... so, what happens if you just remove return
03:39 perlawhirl m: my @a = ‘a’..‘c’; say (for 1..^@a.elems -> $i { @a.head($i), @a.tail(@a.elems - $i); })
03:39 camelia rakudo-moar 172a92: OUTPUT«(((a) (b c)) ((a b) (c)))␤»
03:40 Hotkeys ++
03:40 Hotkeys why be explicit?
03:42 AlexDaniel I have no idea. It is crystal clear to me. But some people love explicit things, so we have to make them happy too
03:43 perlawhirl explicit code rocks when you looking at it 6-12 months later :D
03:43 Hotkeys if you want to explicitly return then use return :p
03:44 AlexDaniel Hotkeys: you can't use return
03:44 Hotkeys oh I see
03:45 Hotkeys i missed the example
03:46 Hotkeys idk
03:46 AlexDaniel m: for ^5 { .say; leave }
03:46 camelia rakudo-moar 172a92: OUTPUT«0␤leave not yet implemented. Sorry. ␤  in block <unit> at /tmp/eRY146_xrJ line 1␤␤»
03:46 Hotkeys I tend to use implicit return most places even if it makes me a bad person
03:47 perlawhirl i still use it sometimes, usually when it's obvious, ie, the last operation in the sub is an assignment
03:48 perlawhirl but like i said, reading Perl Best Practices changed a lot of my habits, and i think for the better
03:48 perlawhirl Maybe it's cause Conway's an Aussie like me *shrug*
03:48 Juerd I use implicit returns only if the last expression is free of side-effects.
03:48 AlexDaniel Usually I don't place a semicolon in this case. This makes it more explicit (ha!)
03:49 bowtie joined #perl6
03:50 AlexDaniel ok, so it seems like 「leave」 is the answer to my question
03:50 AlexDaniel From S06: &?ROUTINE.leave(1,2,3);     # Return from current sub. Same as: return 1,2,3
03:51 neilb joined #perl6
03:52 perlawhirl i'm surprised things like leave and labelled goto's are not implemented yet
03:52 AlexDaniel goto is probably tricky to implement, but 「leave」 is most likely not
03:52 AlexDaniel m: say (.² for ^5)
03:52 camelia rakudo-moar 172a92: OUTPUT«(0 1 4 9 16)␤»
03:53 AlexDaniel .² :D
03:53 perlawhirl yeah that's what i was gonna say... maybe goto is tricky to implement... i'm just not smart enough to know why
03:53 Hotkeys m: my &f = {sqrt [+] (.²for @^a Z-@^b)}; say f([1,2],[3,4])
03:53 camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
03:53 Hotkeys sweet
03:53 Hotkeys AlexDaniel++
03:55 AlexDaniel m: my &f = {sqrt [+] (@^a Z-@^b)»²}; say f([1,2],[3,4])
03:55 camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
03:55 AlexDaniel Hotkeys: ↑ shorter
03:55 Hotkeys sonofa
03:55 Hotkeys I always don't use hyper
03:56 Hotkeys because everyone's like
03:56 Hotkeys "Don't use hyper"
03:56 perlawhirl my &f={sqrt [+] (@^a Z-@^b)»²};say f([1,2],[3,4])
03:56 perlawhirl m: my &f={sqrt [+] (@^a Z-@^b)»²};say f([1,2],[3,4])
03:56 camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
03:56 Hotkeys I don't need to golf the whole thing
03:56 perlawhirl strippin' whitespace
03:56 Hotkeys just the block
03:56 perlawhirl hah i know
03:56 Hotkeys :p
03:56 perlawhirl i just wanted to win something :(
03:56 AlexDaniel Hotkeys: don't use hyper? Why?
03:57 Hotkeys I don't even remember
03:57 AlexDaniel I have a few bug reports about .hyper but not about »
03:57 Hotkeys I used to use it for that kind of thing
03:57 AlexDaniel » should work (or so it seems…)
03:57 Hotkeys and was discouraged for some reason
03:57 AlexDaniel Hotkeys: let me guess
03:58 Hotkeys do you mind if I steal the hyper bit for my codegolf response :p
03:58 AlexDaniel m: ^10»²».say
03:58 camelia rakudo-moar 172a92: OUTPUT«WARNINGS for /tmp/uqkKYU16h6:␤Useless use of "^" in expression "^10»²».say" in sink context (line 1)␤100␤»
03:58 AlexDaniel Hotkeys: this?
03:58 AlexDaniel now it warns you correctly! How cool is that!
03:58 Hotkeys oh
03:58 Hotkeys fancy
03:59 AlexDaniel Hotkeys: that's the reason why it could've been discouraged in some particular case
03:59 Hotkeys probably
03:59 AlexDaniel » returns the data in order, but it may processes it in parallel
03:59 AlexDaniel so you shold not ».say stuff like this
03:59 Hotkeys ah
04:00 AlexDaniel but now it gives you a warning so ther's no problem
04:00 Hotkeys seems reasonable
04:00 perlawhirl what is 'sink context'? can someone give me the idiots summary
04:00 AlexDaniel m: my &f = {sqrt [+] (@^a Z-@^b)»²}; say f([1,2],[3,4])
04:00 camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
04:00 AlexDaniel m: my &f = {sqrt [+](@^a Z-@^b)»²}; say f([1,2],[3,4])
04:00 camelia rakudo-moar 172a92: OUTPUT«1␤»
04:01 AlexDaniel perlawhirl: you're returning a value but it goes nowhere
04:01 AlexDaniel m: 5
04:01 camelia rakudo-moar 172a92: OUTPUT«WARNINGS for /tmp/ar7sxaTC4U:␤Useless use of constant integer 5 in sink context (line 1)␤»
04:01 AlexDaniel m: my $x =5
04:01 camelia rakudo-moar 172a92: ( no output )
04:01 perlawhirl ok... goes down the sink :)
04:02 AlexDaniel perlawhirl: yeah. Most of the time it means that you have a problem
04:02 AlexDaniel e.g. ».say example above
04:02 perlawhirl i have a problem?! back off, pal, you don't know me!
04:02 perlawhirl jk
04:02 Hotkeys lol
04:02 Hotkeys I hate when code-golf requires a full program
04:03 Hotkeys and I have to whip out @*ARGS[x]
04:03 Hotkeys so many characters
04:03 Hotkeys is there a shorter way?
04:05 geekosaur have you considered just using parameters to sub MAIN?
04:05 Hotkeys I've considered it but it hasn't been shorter in any I've done yet
04:05 geekosaur which also gives you option processing and a usage message
04:05 Hotkeys I would if it were shorter
04:06 perlawhirl he's golfing... i don't think he needs a usage mesasge :D
04:06 Hotkeys ++
04:06 AlexDaniel Hotkeys: you may also use stdin instead of args sometimes
04:06 AlexDaniel which means that you can just 「slurp」
04:07 AlexDaniel m: say slurp.comb.rotor(3)
04:07 camelia rakudo-moar 172a92: OUTPUT«((C é a) (d   s) (l á n) (  a g) (  s l) (é i b) (h t e) (  m a) (o r g) (a   C) (h o n) (t a e) (  D h) (ú n  ) (n a  ) (n G a) (l l ␤) (A g u) (s   d) (h á  ) (c h é) (a d  ) (s l á) (n   a) (g   a) (n   E) (i r e) (a g a) (l   a) (r d  ) (i n a…»
04:07 * geekosaur is not sure that optimizing for code golf should be a language objective
04:07 Hotkeys oh
04:07 jdv79 35 locked pandas.  woohoo.  clearly that fix didn't work.
04:07 Hotkeys geekosaur: no i know I was just wondering if there was any existing ways
04:07 Hotkeys to golf it up
04:07 Hotkeys AlexDaniel: neat
04:07 perlawhirl fore!
04:08 AlexDaniel geekosaur: you're right, but sometimes golfing possibilities make it easier to write code that is less verbose :)
04:08 Hotkeys m: say slurp
04:08 camelia rakudo-moar 172a92: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;␤Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí␤I mo dhiaidh bhí gleanntáin ghlas’ G…»
04:08 Hotkeys this isn't lorem ipsum in gaelic is it
04:08 Hotkeys oh
04:09 Hotkeys it's a song
04:09 perlawhirl Hotkeys: if you need to process lines, that should work too
04:10 perlawhirl m: say lines
04:10 camelia rakudo-moar 172a92: OUTPUT«(Céad slán ag sléibhte maorga Chontae Dhún na nGall Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll; Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí I mo dhiaidh bhí gleanntáin ghlas’ Ghaoth…»
04:11 yurivish_ joined #perl6
04:11 Herby_ newbie question here... what is a good way to append/remove from a json file in perl 6?
04:11 cpage joined #perl6
04:12 Herby_ i'd like to store "journal entries" in a json file, and add entries or delete them as needed
04:12 perlawhirl "for (lines) { ... }" is the new "while (<>) { ... }"
04:13 integral joined #perl6
04:13 integral joined #perl6
04:13 mindos joined #perl6
04:13 Juerd joined #perl6
04:14 Hotkeys joined #perl6
04:14 samb1 joined #perl6
04:14 Hotkeys what happened there
04:14 Herby_ i asked a question. people bailed
04:14 diakopter netsplit; glitch in the matrix
04:14 Hotkeys lol
04:15 Herby_ :)
04:15 Hotkeys m: say pop
04:15 camelia rakudo-moar 172a92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jKhnsINKsd␤Calling pop() will never work with proto signature (@)␤at /tmp/jKhnsINKsd:1␤------> 3say 7⏏5pop␤»
04:15 Hotkeys darn
04:15 solarbunny joined #perl6
04:15 geekosaur the kiddies are out in force already. someone was ddos-ing linode a couple hours ago
04:16 geekosaur pronably hitting freenode too
04:16 lnrdo joined #perl6
04:18 AlexDaniel Herby_: not if you have a root element. Otherwise just append to a file and it should work fine
04:18 sftp_ joined #perl6
04:18 Herby_ AlexDaniel: thanks
04:18 lucs_ joined #perl6
04:18 breinbaa1 joined #perl6
04:19 arnsholt joined #perl6
04:19 tinita joined #perl6
04:19 ranguard joined #perl6
04:19 AlexDaniel Herby_: you'd have to read the whole file to remove something though
04:19 lnx joined #perl6
04:19 richi235 joined #perl6
04:19 jnthn joined #perl6
04:19 japhb joined #perl6
04:19 dindinx joined #perl6
04:19 perlawhirl whole goddamn platoon's droppin' like flies!
04:19 skarn joined #perl6
04:19 AlexDaniel it's raining men!
04:20 Hor|zon joined #perl6
04:20 Util joined #perl6
04:20 AlexDaniel Herby_: if you don't want it simple then perhaps you should also consider using a database system
04:20 AlexDaniel e.g. sqlite
04:20 sivoais joined #perl6
04:21 Herby_ That's what I was looking at as well, but I have very little db experience
04:21 Herby_ but to be fair, i havent messed with a whole lot of json either :)
04:21 yeahnoob joined #perl6
04:22 AlexDaniel well, it kinda depends on how complicated you want it to be
04:22 Herby_ i guess there's no time like the present
04:22 Fleurety joined #perl6
04:22 Herby_ not complicated. just an OO learning exercise in Perl 6
04:22 Herby_ create an app where I can create journal entries, tag them, search them
04:22 skids https://github.com/skids/perl6-Control-Bail # Whipped up in one night.  Probably should not drop anything in the ecosystem when I'm this tired.
04:23 clkao joined #perl6
04:24 AlexDaniel skids: ```perl6 should give you perl6 syntax highlighting in md files
04:25 perlawhirl skids: i don't understand this module, but your readme makes me laught
04:25 skids Was wondering ow to turn that on.
04:26 skids I figured we needed somethng Superbowl themed, as much as I am bored by sports.
04:31 sivoais joined #perl6
04:32 mkj joined #perl6
04:33 Hotkeys I don't understand what this module does either
04:35 Hotkeys oh
04:35 Hotkeys I see
04:35 Hotkeys there is documentation in the code
04:36 skids Yeah the README was a rush job so I could get to bed.
04:37 Herby_ I'm assuming DBIish is the go-to for dealing with sqlite?
04:40 Hotkeys The C<bail> statement places the block following it onto the
04:40 Hotkeys C<LEAVE> queue
04:40 Hotkeys The C<trail> statement is the same, but places the closure on the
04:40 Hotkeys LEAVE queue
04:40 Hotkeys what is the difference here
04:40 bxoekk joined #perl6
04:40 skids Oh.  bail is UNDO.
04:41 sivoais joined #perl6
04:41 bxoekk left #perl6
04:42 Hotkeys ah
04:44 Actualeyes joined #perl6
04:49 * skids fixes.  now bed.
04:52 sivoais joined #perl6
05:02 sivoais joined #perl6
05:23 neilb joined #perl6
05:23 zengargoyle joined #perl6
05:27 masak oh hai, #perl6
05:27 yoleaux 2 Feb 2016 18:47Z <ely-se> masak: I got the type checker to work well now, in Haskell :)
05:28 masak ely-se++
05:29 mohae joined #perl6
05:29 * masak is on vacation, and is hoping to have some 007 time in the near future
05:31 sivoais joined #perl6
05:33 davido joined #perl6
05:41 sivoais joined #perl6
05:43 psy_ joined #perl6
05:51 MadcapJake Here's the basic issue submitter design http://postimg.org/image/js469h5wl/ I think the search results will accordion out between subject and the version dropdowns. It will then fold back in if you click any of the textarea boxes. Each entry will have a linked title and a button to "Change to Comment" or something that will prepend the RT# at the beginning of your subject. (Or should it replace the whole subject line?) I could als
05:51 MadcapJake add a "miscellaneous" textarea but I feel that if you're really going to write it your way, then just use an email (thoughts?). All that the sections will do is provide some structure to the resultant email message.
05:51 zakharyas joined #perl6
05:52 Cabanossi joined #perl6
05:58 Amnez777 joined #perl6
05:58 masak I like the fact that it enforces the "observable triplet"
05:58 Amnez777 joined #perl6
05:59 Amnez777 joined #perl6
05:59 Amnez777 joined #perl6
06:00 masak it seems to me that a lot of the grey help text could be placeholder text in the actual form fields instead
06:01 MadcapJake Maybe, I couldn't decide because sometimes I think placeholder text should be an example, but I'd be willing to just plop them all in there.
06:03 MadcapJake Gonna work on some of the internals now, will hold that for round two design updates
06:12 CurtisOvidPoe joined #perl6
06:22 DoverMo joined #perl6
06:22 sivoais joined #perl6
06:24 DoverMo I think a better mascot for perl6 would be the extinct chinese river dolphin, with han zi on it's body to differentiate from non extinct river dolphins
06:24 MadcapJake o_O
06:25 DoverMo any +1's ?
06:28 MadcapJake i think i'm the only one here--and I'm an advocate for perl6 logo variants; but I'm sorry I do not support your idea xP
06:29 DoverMo aw
06:31 mkj joined #perl6
06:32 sivoais joined #perl6
06:36 CIAvash joined #perl6
06:45 johan_ joined #perl6
06:50 sivoais joined #perl6
06:56 TEttinger MadcapJake: honestly the chinese river dolphin is an extremely sad story. I might go for the pink river dolphins that collaborate with fishermen to both catch fish
06:58 TEttinger http://news.discovery.com/animals/whale​s-dolphins/helpful-dolphins-120502.htm
07:00 sivoais joined #perl6
07:01 TEttinger (that river dolphin, the boto, actually has a number of parallels, like the collaboration with an established group that had worked alone but now doesn't have to, a la P5::Inline)
07:02 TEttinger also being playful and chirpy
07:04 protium joined #perl6
07:05 domidumont joined #perl6
07:07 Actualeyes joined #perl6
07:08 dolmen joined #perl6
07:09 domidumont joined #perl6
07:11 sivoais joined #perl6
07:11 sjoshi joined #perl6
07:21 sivoais joined #perl6
07:23 _Gustaf_ joined #perl6
07:26 RabidGravy joined #perl6
07:26 MadcapJake TEttinger++ that's amazing!
07:30 TEttinger other parallels might be that they don't need to see where they're going to navigate, and that of all the animals you look at, dolphins and whales are among the best at understanding linguistic things that people thought were uniquely human (some birds are better with "grammar" but don't understand much "vocabulary")
07:31 sivoais joined #perl6
07:31 TEttinger and you could certainly argue that perl 6 was implemented "in the dark" at first, but it still got where it needed to go
07:33 mr-foobar joined #perl6
07:36 darutoko joined #perl6
07:37 araujo_ joined #perl6
07:39 mr-foobar joined #perl6
07:41 sivoais joined #perl6
07:42 nakiro joined #perl6
07:43 MadcapJake definitely some interesting parallels, and a pink dolphin would definitely be in the same vein as camelia
07:44 firstdayonthejob joined #perl6
07:47 dalek rakudo/nom: 1097fc0 | donaldh++ | tools/lib/NQP/Configure.pm:
07:47 dalek rakudo/nom: Unbust parse_revision in Configure.pm
07:47 dalek rakudo/nom:
07:47 dalek rakudo/nom: This is much less wrong at comparing NQP versions than it was.
07:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1097fc0d39
07:47 dalek rakudo/nom: 8de83d9 | donaldh++ | tools/lib/NQP/Configure.pm:
07:47 dalek rakudo/nom: Better to use // operator.
07:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8de83d93e4
07:47 dalek rakudo/nom: 0029a1a | niner++ | tools/lib/NQP/Configure.pm:
07:47 dalek rakudo/nom: Merge pull request #703 from donaldh/parse_revision
07:47 dalek rakudo/nom:
07:47 dalek rakudo/nom: Unbust parse_revision in Configure.pm
07:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0029a1a3a4
07:48 [Tux] test            23.577
07:48 [Tux] test-t          12.192
07:48 [Tux] csv-parser      49.600
07:51 CurtisOvidPoe joined #perl6
07:51 sivoais joined #perl6
07:51 mr-foobar joined #perl6
07:57 mr-foobar joined #perl6
08:00 kurahaupo_ joined #perl6
08:01 kurahaupo_ joined #perl6
08:01 sivoais joined #perl6
08:06 baest [Tux]: can you paste the link to the graph (again)
08:06 mr-foobar joined #perl6
08:09 sjoshi joined #perl6
08:11 sivoais joined #perl6
08:12 mr-foobar joined #perl6
08:13 nine http://tux.nl/Talks/CSV6/speed4.html and http://tux.nl/Talks/CSV6/speed5.html
08:14 nine http://irclog.perlgeek.de/perl6/s​earch/?nick=%5BTux%5D&amp;q=http
08:14 baest nine: thanks!
08:20 mr-foobar joined #perl6
08:21 sivoais joined #perl6
08:26 nakiro joined #perl6
08:26 neilb left #perl6
08:29 rindolf joined #perl6
08:32 RabidGravy BOOM!
08:32 sivoais joined #perl6
08:33 timotimo what booms?
08:37 RabidGravy Well just now the drums in Underworld's Born Slippy
08:37 timotimo oh
08:41 brrt joined #perl6
08:44 sivoais joined #perl6
08:49 brrt what do i actually have to do to get the nice postfix array deref syntax of perl5
08:50 brrt use feature qw(postderef);
08:50 brrt hmm cool
08:50 brrt not very practical, but nevertheless cool :-)
08:55 RabidGravy I just realised in the last year I wrote ~15K lines of Perl 6 and less than a hundred of Perl 5
08:56 sivoais joined #perl6
08:56 moritz cool
08:57 moritz so a factor 150 :-)
08:58 DrForr Uh, wait a minute, isn't that 150 thousand? :)
08:58 moritz m: 15_000 / 100
08:58 camelia rakudo-moar 0029a1: OUTPUT«WARNINGS for /tmp/VDKr2FdKAL:␤Useless use of "/" in expression "15_000 / 100" in sink context (line 1)␤»
08:58 moritz m: say 15_000 / 100
08:58 camelia rakudo-moar 0029a1: OUTPUT«150␤»
08:59 DrForr Yes, I do know the actual number, it's just one of those damn memes running around.
08:59 moritz oh
08:59 moritz I'm oblivious to this one, I think
09:00 nine brrt: stable features also get activated by requiring the perl version that declared them stable like use v5.20; Sadly, postfix deref is still experimental
09:00 nebuchadnezzar joined #perl6
09:02 DrForr Good. As memes go it's weak, basically someone in all sincerity posted that each American would get something like a million each if they split up the PowerBall lottery. The figure was actually something like $4.50 because whoever wrote the image macro couldn't figure out how to divide.
09:02 DrForr nine: You going to be around this evening? I don't have time during work, but I would like some input on the proper way to return that array w/o resorting to callbacks.
09:04 nine DrForr: I'll probably be around. Don't know if I will be much help though. Turns out being surrounded by thousands of people, drinking beer and sleeping little is a good recipie for catching a really bad cold.
09:04 RabidGravy who knew
09:04 nine Especially after it worked the same way last year
09:04 DrForr Oof. Okay, later then. The callback bit really is trivial compared to the serialization code.
09:07 abraxxa1 joined #perl6
09:08 lizmat .tell jnthn could it be that nqp::atkey throws an error when called on a Stash, rather than returning null ?
09:08 yoleaux lizmat: I'll pass your message to jnthn.
09:08 dakkar_ joined #perl6
09:09 nine lizmat: I'd say it should as Stash is a Perl 6 object while atkey expects an nqp::hash
09:09 sivoais joined #perl6
09:09 lizmat nine: I'm getting "Lexical with name '&USAGE' does not exist in this frame" on an nqp::atkey
09:10 nine That sounds...odd
09:10 timotimo that sounds like we're failing in the code gen
09:10 virtualsue joined #perl6
09:10 lizmat well, perhaps... but it's blocking a very nice optimization :-)
09:10 nine src/Perl6/ModuleLoader.nqp has a stash_hash sub
09:11 brrt aye, i see
09:11 mkj joined #perl6
09:11 timotimo Total number of videos currently available:       64
09:12 timotimo la la la ...
09:13 timotimo lizmat, nine: at least if we're talking about the same Stash i see in the BOOTSTRAP, it's derived from Map and you'd have to atkey its $!storage; see also Stash.pm for its AT-KEY method
09:13 lizmat yes, oddly enough, it doesn't make it to the AT-KEY in Stash
09:13 nine timotimo: yes, stash_hash uses .FLATTENABLE_HASH which just returns $!storage
09:13 timotimo ah
09:14 timotimo lizmat: as i said, it seems more like something is emitting faulty code
09:14 lizmat timotimo nine : https://gist.github.com/li​zmat/f106496445b055c4437e
09:15 timotimo well, Stash has its own AT-KEY, which overrides Map's
09:15 lizmat simplest test case: perl6 --ll-exception 'sub MAIN($foo) { }'
09:16 timotimo i'll have a look
09:17 lizmat perhaps callframe.my doesn't return a stash
09:17 nine I really can't see anything wrong with your patch
09:18 lizmat nine: me neither  :-)
09:18 nine It's also very clear that it should be faster :)
09:19 lizmat yup, callframe.my is not a Stash but a Map
09:19 DrForr Wow. Don't mention Perl 6 on perlmonks, you're apparently only going to get flames.
09:19 lizmat so it *is* calling the right candidate
09:20 timotimo callframe().my returns a Map, it seems
09:20 timotimo so ... who is throwing that exception? :)
09:21 lizmat nqp::atkey, afaics
09:21 timotimo it could very well be that the $!storage inside the Map is something special
09:21 timotimo like, a different REPR from what we usually have in there
09:22 sivoais joined #perl6
09:22 timotimo and that has a different behaviour regarding missing keys
09:22 lizmat ah, indeed, it has a context as $!storage
09:23 timotimo right
09:23 wamba joined #perl6
09:23 timotimo it doesn't seem very nice that in one instance a REPRop will throw and in another will return null
09:23 * lizmat tries something
09:23 octoploid joined #perl6
09:23 lizmat changing the Map to a Stash
09:23 timotimo jnthn: how do you feel about making at_key in MVMContext not be lethal to put it in line with MVMHash?
09:24 timotimo i don't think you're on the right track with that, liz; it's the nqp::atkey that's throwing that exception if a given key doesn't show up in there
09:24 lizmat that's correct, but it should probably be calling Stash's AT-KEY, and not Map's AT-KEY anyway
09:25 lizmat yup, that fixes it
09:25 timotimo could be because it wants to prefer the \key over the Str() $key?
09:25 timotimo er, huh?
09:25 lizmat -        my $h := nqp::create(Map);
09:25 lizmat +        my $h := nqp::create(Stash);
09:25 timotimo hm. well, that'll also still give you the better performance for Map in general, and Hash in particular
09:25 lizmat (in CallFrame.pm)
09:26 timotimo yes, yes, that solution does seem sensible
09:26 timotimo how much faster is it? :D
09:26 lizmat probably in the order again of 25%
09:27 lizmat but please note, it didn't cost much to begin with
09:27 timotimo mh, right
09:27 lizmat so unless you are doing a *lot* of hash/map lookups, you won't notice it much
09:27 timotimo jnthn: i pinged you about making at_key not lethal in MVMContext, but that ended up not being necessary in our case
09:28 lizmat the only thing I wonder about now, is that Stash.AT-KEY creates a hash if it has no $!storage, rather than a context
09:28 lizmat that feels wrong
09:29 timotimo oh?
09:29 timotimo i don't even know if you can just conjure up an MVMContext out of nowhere to put it in there
09:29 jnthn YOu can't Just Create a context.
09:29 yoleaux 09:08Z <lizmat> jnthn: could it be that nqp::atkey throws an error when called on a Stash, rather than returning null ?
09:29 lizmat yeah, which is probably the reason it creates a hash
09:29 jnthn Yeah
09:29 timotimo yeah, it takes an MVMFrame in its body
09:30 jnthn Actually nearly every Stash you'll see has an MVMHash inside of it.
09:30 timotimo also, ohai jnthn :)
09:30 jnthn It's PseudoStash that tends to have the MVMContext
09:30 jnthn morning :)
09:30 lizmat jnthn : morning!
09:30 octoploid Is there a way to get a persistent REPL history?
09:31 timotimo octoploid: rlwrap will definitely allow it. other than that, linenoise and readline should have support for that, but i have no idea how exactly it works
09:32 octoploid well, with both linenoise and readline perl6 starts with an empty session on my machine. I only recalls history in the current running session.
09:32 DrForr Readlike uses add-history()...
09:32 lizmat jnthn: can you live with this change?  https://gist.github.com/li​zmat/6d3da10f0d686a69a04e
09:33 DrForr Ah, per-session? You'd need to preserve the history elsewhere.
09:33 DrForr (that's what .bash_history &c are for.)
09:33 timotimo well, yeah. do we have that? is there any option you can give to our readline module or the linenoise module to make that happen?
09:34 sivoais joined #perl6
09:34 octoploid yeah, if I quit perl6 and start it again I want to use "cursor-up" to recall the last command from the previous session.
09:34 timotimo yeah
09:35 timotimo that's not something "you'd need to" do, it's something these modules ought to offer
09:35 lizmat afk for a few hours&
09:35 jnthn lizmat: So long as we don't end up trying to magically auto-viv things in there
09:36 jnthn lizmat: That is, that ... .my<something> 42 doesn't magically work somehow
09:36 jnthn lizmat: Since we're making it be a subtype, we don't break things in the unlikely event somebody type-constrained a thing storing the result .my to a Map. Note that going back in the other direction would be problematic, however.
09:37 jnthn otoh we probably don't have any tests for the type there at all yet :P
09:38 ocbtec joined #perl6
09:41 jnthn lizmat: The other option may be to set it up as a PseudoStash
09:41 jnthn Since that's what MY:: gives
09:41 jnthn Also
09:42 jnthn I have a horrible feeling that callframe(n).my doesn't restrict what you see to things marked "is dynamic"
09:45 _mg_ joined #perl6
09:46 sivoais joined #perl6
09:47 jnthn meeting &
09:49 timotimo it probably doesn't restrict that, yeah
09:49 timotimo i don't think there's any code anywhere to do that
09:50 kjs_ joined #perl6
09:50 maybekoo5 joined #perl6
09:58 sivoais joined #perl6
10:03 vytas joined #perl6
10:10 sivoais joined #perl6
10:22 sivoais joined #perl6
10:22 donaldh joined #perl6
10:27 kurahaupo joined #perl6
10:32 rindolf joined #perl6
10:33 dalek rakudo/nom: 241e6c0 | donaldh++ | tools/build/NQP_REVISION:
10:33 dalek rakudo/nom: Bump NQP revision to get stat_time on JVM.
10:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/241e6c06a9
10:33 dalek rakudo/nom: 4ca1591 | donaldh++ | src/core/Rakudo/Internals.pm:
10:33 dalek rakudo/nom: Use stat_time on JVM.
10:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4ca159112f
10:33 dalek rakudo/nom: f99bdbe | niner++ | / (2 files):
10:33 dalek rakudo/nom: Merge pull request #705 from donaldh/stat_time
10:33 dalek rakudo/nom:
10:33 dalek rakudo/nom: Use stat_time on JVM
10:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f99bdbe7a6
10:33 Amnez777 joined #perl6
10:34 Amnez777 joined #perl6
10:34 sivoais joined #perl6
10:34 Amnez777 joined #perl6
10:35 Amnez777 joined #perl6
10:36 Amnez777 joined #perl6
10:36 Amnez777 joined #perl6
10:38 aindilis` joined #perl6
10:40 gregf_ joined #perl6
10:40 ocbtec joined #perl6
10:41 emdashcomma joined #perl6
10:41 a3r0 joined #perl6
10:42 nchambers joined #perl6
10:43 drrho joined #perl6
10:46 ocbtec joined #perl6
10:47 sivoais joined #perl6
10:47 kurahaupo joined #perl6
10:49 perlawhirl joined #perl6
10:51 vendethiel joined #perl6
10:53 RabidGravy perlawhirl, I add a .Str to IO::Path::Mode so you can replace the majority of the ls-a-like with "use IO::Path::Mode;  for '.'.IO.dir { say $_.mode.Str, "    ", $_.Str; }"
10:54 RabidGravy not completely sure I got the "sticky bit" part right but hey
10:55 RabidGravy anyway off to the supermarket
10:55 perlawhirl ahh, i readjusted some things using your methods... was playing around with how to do the stringy stuff
10:55 perlawhirl i will look at your source to see how you did it :D
10:59 perlawhirl RabidGraby: for what it's worth, i doublecheck how golang strinifys it's file mode. it does a straightup rwxrwxrwx.. no file type prefix. however, if you have an 4th-bit's set, it just prepends the string, for eg, 'ugtrwxrwxrwx'
10:59 sivoais joined #perl6
10:59 broquaint joined #perl6
10:59 perlawhirl hmm, how do i update modules with panda
11:02 petercommand joined #perl6
11:02 perlawhirl RabidGravy... it seems your stringy method doesn't like setuid/setgid
11:04 perlawhirl RabidGravy: execute... not executable
11:04 perlawhirl i meant to tell you about that... it's wrong in your docs
11:05 * brrt lunch &
11:06 timotimo normally, just "panda install" the module again. may need to --force if it complains about "already installed"
11:06 perlawhirl yep thanks timo, got it... i tried panda update at a guess... but yeah, install worked fine
11:07 perlawhirl i had it complain about 'module already installed' before so i presumed there was an update option
11:07 perlawhirl presumptions rarely work out :D
11:08 timotimo update will just pull in the ecosystem list again
11:08 nine If it's already installed, you don't need to install it...by definition.
11:09 nine Of course that requires module authors to actually increase their version numbers. If they don't, please tell them to.
11:09 nine We really need a change of culture here.
11:09 timotimo right, we do
11:10 perlawhirl I had a module fail to install (File::Zip, specifically... it's since worked) and when i tried to install it complained
11:10 perlawhirl had to ack the files to find out which one was the right one, delete it and try install again
11:11 perlawhirl .tell RabidGravy stringy mode dies on suid/sgid files. your method is wrong, .execute, not .executable. it's also wrong in your docs
11:11 yoleaux perlawhirl: I'll pass your message to RabidGravy.
11:11 sivoais joined #perl6
11:12 nine perlawhirl: please report such issues here. Otherwise we can't fix bugs like that.
11:16 xtreak joined #perl6
11:17 xtreak I am writing a toy language and I am trying to use Perl6 for parsing due to the Grammar. Is there a way to print a message when the regex fails?
11:18 dindinx joined #perl6
11:18 timotimo xtreak: have you tried using Grammar::Trace or Grammar::Debugger yet?
11:18 DrForr The parser will return Any.
11:18 xtreak I am trying to make my language print things. So while parsing the strings to print functions how can I throw an error if there is unescaped symbols in the string
11:18 timotimo our grammars don't give you a nice "at this position, failed to match because of reasons" feature without a bit of extra work
11:19 jnthn xtreak: Typically you put alternations in stragetic places
11:19 DrForr Right, that's all error recovery, which I need to investigate once I've finished rebuilding the ANTLR actions.
11:19 jnthn || <.panic: "Invalid statement">
11:19 jnthn And defined a method panic($message) { ... }
11:20 jnthn Which will typically use .pos and .orig to show some context
11:20 xtreak I tried reading the Grammar.nqp and Actions.nqp . But when I try to compile the nqp I get the error that there is no MOAR when I try --gen-moar there is an error related to too many symbolic links in Git.
11:23 xtreak I get the error like this when I clone NQP and build moar with "perl Configure.pl --gen-moar". Error : http://pastebin.com/19ey5ras
11:23 timotimo huh, wtf
11:23 sivoais joined #perl6
11:24 xtreak Thanks jnthn. I short pastebin will help me in playing around with things.
11:25 wamba joined #perl6
11:26 perlawhirl .tell RabidGravy i've submitted a pull request... it's my first one ever. evar!
11:26 yoleaux perlawhirl: I'll pass your message to RabidGravy.
11:31 xtreak I have moar at ~/.rakudobrew/moar-nom/nqp/MoarVM/moar is there a way I can pass it to the nqp build so that it detects moar
11:32 pmurias joined #perl6
11:32 timotimo if you already have a moar-nom, why would you even need to build another nqp?
11:32 pmurias hi
11:33 jnthn xtreak: That looks like the build output rather than the installed moar
11:33 jnthn xtreak: If you can find where that install directory is then it can be passed to NQP's Configure.pl with --prefix=/path/to/install
11:34 ocbtec joined #perl6
11:36 xtreak I was suggested that studying NQP can be useful to know about how it parses things that I can use for my language. So I thought to change and build it to see the parsing process.
11:37 sivoais joined #perl6
11:37 kaare_ joined #perl6
11:46 kaare_ hi, who wrote this? https://p6weekly.wordpress.com/2016/0​1/25/2016-123-what-are-we-waiting-4/
11:46 kaare_ Perhaps I could get a correction in, the Dr Strangecode, or how to stop worrying and learn to love Perl 6! is not by by Dave Bakr, but by me
11:47 jsimonet joined #perl6
11:49 perlawhirl timo: ↑
11:49 kaare_ Judging by the name of the blog, it'd probably be lizmat I should ask.
11:50 perlawhirl no it's timotimo
11:50 lizmat but I wrote that
11:50 perlawhirl oooh
11:50 moritz lizmat and timotimo both have access to that blog, and take turns more or less
11:51 sivoais joined #perl6
11:51 lizmat kaare_ : which name should I use ?
11:51 lizmat just kaare?
11:51 kaare_ Could you correct it to Kaare Rasmussen, would I be happy
11:52 lizmat updated
11:52 vendethiel joined #perl6
11:52 lizmat sorry for the confusion
11:53 ocbtec joined #perl6
11:53 kaare_ Super! lizmat++
11:53 Amendil joined #perl6
11:56 donaldh joined #perl6
11:57 jnthn My final report from Perl 6 Release Goals grant has been posted: http://news.perlfoundation.org/2016/0​2/perl-6-release-goals-final-gra.html
11:57 jnthn (donors who made it possible)++
12:01 nine jnthn++ # reminding me to start our monthly donations
12:03 lizmat jnthn: making it a PseudoStash is a no go
12:03 lizmat $ 6l 'sub MAIN($foo) { }'
12:03 lizmat getlexrel needs a context
12:03 sivoais joined #perl6
12:03 jnthn But...you had a context? :)
12:04 orbus joined #perl6
12:04 * jnthn wonders if a Scalar container sneaked in the way somewhere...
12:05 lizmat ah, ok, lemme check
12:07 lizmat ah, no, because PseudoStash has more attributes, and they are not getting initialized in CallFrame.new
12:08 jnthn aha
12:09 espadrine_ joined #perl6
12:11 Chandini joined #perl6
12:12 Chandini hi
12:12 Chandini msg camelia
12:12 Chandini say 3
12:12 Chandini p6: say 3
12:12 camelia rakudo-moar f99bdb: OUTPUT«3␤»
12:13 gfldex m: say "hi Chandini!";
12:13 camelia rakudo-moar f99bdb: OUTPUT«hi Chandini!␤»
12:13 Chandini How to start
12:14 gfldex you could try http://perl6intro.com/
12:15 sivoais joined #perl6
12:15 brrt jnthn++ good read : -)
12:19 donaldh There's a massive chunk of BOOTSTRAP.nqp that is currently moar specific
12:19 fireartist joined #perl6
12:20 donaldh Is it needed for JVM? In other words, is it worth me implementing nqp::capturenamedshash on JVM?
12:21 jnthn donaldh: Well, we have a choice.
12:21 jnthn donaldh: At the moment the JVM equivalent of that code is written in Java.
12:22 jnthn But on JVM it's more performance critical than on Moar
12:22 jnthn 'cus on JVM we don't yet support bind lowering.
12:22 jnthn If we got that in place, then we'd (a) get a big speed-up for the common case, and (b) could then take the hit for the less common case and lose a bunch of Java code to keep in sync.
12:23 donaldh gotcha
12:23 jnthn So if you want to spend tuits in that area, getting bind lowering to work out on JVM would probably be more useful in the immediate.
12:23 jnthn And it could potentially be a big runtime speedup
12:23 * donaldh is not sure what bind lowering is
12:23 jnthn Basically, we compile a bunch of signatures into QAST nodes
12:23 jnthn Rather than interpreting the signature
12:24 jnthn We can't do it for really complex ones
12:24 jnthn But can for all the common ones
12:24 jnthn It happens in Actions.nqp
12:24 xtreak left #perl6
12:27 donaldh k, I'll take a look and likely come back with questions.
12:27 pmurias sprintf is part of the HLL instead of the nqp setting?
12:27 sivoais joined #perl6
12:27 jnthn pmurias: Think so, since it's an nqp:: op
12:27 jnthn lunch &
12:28 nine donaldh: look for use_vm_binder
12:29 donaldh nine: got it thanks.
12:29 donaldh also lunch&
12:30 Skarsnik joined #perl6
12:38 kid51 joined #perl6
12:38 vendethiel joined #perl6
12:39 sivoais joined #perl6
12:42 skids joined #perl6
12:49 mohae_ joined #perl6
12:49 brrt` joined #perl6
12:51 Rotwang joined #perl6
12:51 sivoais joined #perl6
12:52 ZeroDogg joined #perl6
12:52 ZeroDogg joined #perl6
12:52 kanishka joined #perl6
12:54 clkao joined #perl6
12:54 samb1 joined #perl6
13:02 sufrostico joined #perl6
13:04 sivoais joined #perl6
13:06 pyrimidi_ joined #perl6
13:08 lizmat .tell jnthn is there a reason why uninitialized attributes are not isnull() ?
13:08 yoleaux lizmat: I'll pass your message to jnthn.
13:08 lizmat m: class A { has $!a }; use nqp; say nqp::isnull(nqp::getattr(A.new,A,q/$!a/))
13:08 camelia rakudo-moar f99bdb: OUTPUT«0␤»
13:10 jnthn lizmat: Yes, we lazily allocate them on first touch
13:10 yoleaux 13:08Z <lizmat> jnthn: is there a reason why uninitialized attributes are not isnull() ?
13:11 brrt` i hold that assembly language in perl6 is easier than in go: https://goroutines.com/asm
13:11 jnthn There's an nqp::isattrinit or so
13:11 lizmat yeah, but that basically means I cannot use nqp::ifnull
13:11 gregf_ left #perl6
13:11 jnthn Not on attributes, no
13:11 lizmat :-(   too bad
13:12 jnthn Though the cost model on attributes is kinda different post-JIT
13:12 lizmat would have been a nice opt on hash accesses
13:12 gregf__ joined #perl6
13:15 ocbtec joined #perl6
13:16 maybekoo5 joined #perl6
13:18 sivoais joined #perl6
13:21 bjz joined #perl6
13:23 lizmat jnthn: looking at this boilerplate:
13:23 lizmat my Mu $storage := nqp::getattr(self, Map, '$!storage');
13:23 lizmat $storage := nqp::bindattr(self, Map, '$!storage', nqp::hash())
13:23 lizmat unless nqp::defined($storage);
13:30 sivoais joined #perl6
13:31 ely-se joined #perl6
13:33 Actualeyes joined #perl6
13:35 ChoHag joined #perl6
13:35 jnthn lizmat: It's possible it could be turned into nqp::attrinited(self, Map, '$!storage') ?? nqp::getattr(...) !! nqp::bindattr(...)
13:35 lizmat ok, lemme try that
13:36 jnthn In theory, it'll avoid an allocation per hash
13:36 jnthn (note, per hash, not per access)
13:36 lizmat an other thing: I just noticed Hash.AT-KEY as a Str sig, instead Str:D
13:36 lizmat if I change it to Str:D, we lose quite a bit of performance :-(
13:36 jnthn Yeah, probably best make it Str:D
13:36 jnthn Oh?
13:36 jnthn It should make no difference :S
13:37 jnthn Very odd
13:37 lizmat 25% slower  :-(
13:37 jnthn Profiler may tell what's up
13:37 jnthn 'fraid I'm a bit tied up with $dayjob at the moment
13:38 lizmat ok
13:38 moritz is there a str variant as well?
13:38 rindolf joined #perl6
13:39 moritz and if yes, doesn't that make the Str variant redundant?
13:39 lizmat moritz : yes, there's a str
13:39 lizmat m: sub a(Str $a) { }; for ^1000000 { a("foo") }; say now - INIT now
13:39 camelia rakudo-moar f99bdb: OUTPUT«0.2583536␤»
13:39 lizmat m: sub a(Str:D $a) { }; for ^1000000 { a("foo") }; say now - INIT now
13:39 camelia rakudo-moar f99bdb: OUTPUT«0.48564677␤»
13:39 lizmat m: sub a(Str:D $a) { }; for ^1000000 {  }; say now - INIT now
13:39 camelia rakudo-moar f99bdb: OUTPUT«0.25334126␤»
13:40 lizmat m: sub a(Str $a) { }; for ^1000000 {  }; say now - INIT now
13:40 camelia rakudo-moar f99bdb: OUTPUT«0.25297848␤»
13:40 lizmat so I'd say the Str:D makes quite a significant difference
13:40 jnthn Indeed...but why...
13:41 * jnthn suspects something silly is going on :)
13:42 kurahaupo joined #perl6
13:42 moritz maybe it doesn't do the distpatch at compile time with Str:D?
13:43 sivoais joined #perl6
13:43 jnthn I'm wondering if we istype the definedness type, rather than picking it apart in signature bind lowering
13:45 lizmat hmmm..looks like the call a a is completely optimized away in the case of the Str
13:45 lizmat m: sub a(Str:D $a) { }; for ^1000000 { my $a = a("foo") }; say now - INIT now   # better benchmark
13:45 camelia rakudo-moar f99bdb: OUTPUT«0.593814␤»
13:46 lizmat m: sub a(Str $a) { }; for ^1000000 { my $a = a("foo") }; say now - INIT now   # better benchmark
13:46 camelia rakudo-moar f99bdb: OUTPUT«0.33312953␤»
13:46 lizmat m: sub a(Str $a) { }; for ^1000000 { my $a }; say now - INIT now   # better benchmark
13:46 camelia rakudo-moar f99bdb: OUTPUT«0.31736595␤»
13:46 woolfy joined #perl6
13:46 woolfy left #perl6
13:48 kjs_ joined #perl6
13:48 jnthn A benchmark that does it as a method may also be good
13:48 jnthn As that rules out the static optimizer doing clever things that it can't in the actual problem case
13:49 lizmat the sub "a" simply does not appear in the profile in the Str case
13:49 lizmat and it appears 100000 times in the Str:D case
13:49 lizmat so that explains the difference
13:52 jnthn lizmat: In that benchmark, yes, but your original case was a method?
13:52 zakharyas joined #perl6
13:54 lizmat yes, testing now
13:55 lizmat as a class method, it doesn't make a difference
13:55 sivoais joined #perl6
13:56 lizmat as an instance method either
13:58 lizmat m: multi a(Str:U) { say "undef" }; multi a(Str $a) { say "str" }; a(Str)   # jnthn, is this correct ?
13:58 camelia rakudo-moar f99bdb: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:(Str:U $)␤:(Str $a)␤  in block <unit> at /tmp/aTJ1QDASfH line 1␤␤»
14:01 jnthn Yeah, we've never factored :D/:U vs. the lack of one into a tighter/narrower distinction.
14:01 * lizmat pulls herself out of this rabbit hole for now
14:02 donaldh They take the same length of time with --optimize=0
14:02 ely-se joined #perl6
14:04 donaldh m: my $x = 0; sub a(Str:D $s) { $x++; }; for ^1000000 { a('foo'); }; say now - INIT now;
14:04 camelia rakudo-moar f99bdb: OUTPUT«0.646731␤»
14:04 donaldh m: my $x = 0; sub a(Str $s) { $x++; }; for ^1000000 { a('foo'); }; say now - INIT now;
14:04 camelia rakudo-moar f99bdb: OUTPUT«0.63431186␤»
14:04 FROGGS joined #perl6
14:05 donaldh or when the sub body is non-trivial
14:06 lizmat ah, ok, good to know: so the optimizer is tricked out of optmizing a trivial body away on Str:D
14:06 donaldh looks that way yes
14:07 masak jnthn: "we've never factored" -- but intuitively that feels like it should be part of it, yes?
14:07 lizmat jnthn : looks like attrinited code is about 2x as fast
14:07 masak I guess what I'm asking is whether it's a bug.
14:09 sivoais joined #perl6
14:12 FROGGS o/
14:16 skids joined #perl6
14:17 RabidGravy joined #perl6
14:18 lizmat FROGGS o/
14:18 FROGGS hi lizmat :o)
14:19 sivoais joined #perl6
14:20 vendethiel joined #perl6
14:25 wamba joined #perl6
14:28 RabidGravy HARR!
14:28 yoleaux 11:11Z <perlawhirl> RabidGravy: stringy mode dies on suid/sgid files. your method is wrong, .execute, not .executable. it's also wrong in your docs
14:28 yoleaux 11:26Z <perlawhirl> RabidGravy: i've submitted a pull request... it's my first one ever. evar!
14:37 perl6newbee joined #perl6
14:39 sena_kun joined #perl6
14:40 flussence .oO( multi dispatch both looks and acts a lot like CSS... )
14:43 RabidGravy :-O
14:43 RabidGravy I'd better add some tests for ^
14:43 sena_kun Since Nil is not a 'real' value, the most perl6ish way to represent 'Here is nothing' is empty list?
14:44 sena_kun m: my $var = Nil; $var eq Nil;
14:44 camelia rakudo-moar f99bdb: OUTPUT«WARNINGS for /tmp/OKHPsBd9Ec:␤Useless use of "eq" in expression "$var eq Nil" in sink context (line 1)␤Use of uninitialized value $var of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in b…»
14:45 lizmat sena_kun: Nil indicates the absence of a value where there could/should be one
14:45 virtualsue joined #perl6
14:46 dalek perl6-roast-data: 0320526 | coke++ | / (6 files):
14:46 dalek perl6-roast-data: today (automated commit)
14:46 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/03205265da
14:47 sena_kun lizmat, docs say so, but how can I compare something to Nil, if Nil just 'erases' variable content after assigment? Or I don't understand how Any/Nil works, which is more probably.
14:48 lizmat m: my $a is default(42) = 666; say $a; $a = Nil; say $a
14:48 camelia rakudo-moar f99bdb: OUTPUT«666␤42␤»
14:48 lizmat sena_kun: assigning Nil returns the original state
14:49 lizmat m: my $a = 666; say $a; $a = Nil; say $a   # default default state is Any
14:49 camelia rakudo-moar f99bdb: OUTPUT«666␤(Any)␤»
14:49 lizmat sena_kun: does that explain it a bit better ?
14:50 hoelzro o/ #perl6
14:50 lizmat hoelzro o/
14:50 hoelzro o/ lizmat
14:50 sena_kun lizmat, yeah, I understand it now. But I wonder what I can use then. Something like "None" or perl6 idiomatic replacement for it.
14:51 sena_kun hoelzro, hi.
14:51 hoelzro o/ sena_kun
14:51 lizmat m: my $a is default(Nil); say $a
14:51 camelia rakudo-moar f99bdb: OUTPUT«Nil␤»
14:51 lizmat m: my $a is default(Nil); say $a == Nil
14:51 camelia rakudo-moar f99bdb: OUTPUT«Use of Nil in numeric context  in block <unit> at /tmp/q125CjKhfB line 1␤Use of Nil in numeric context  in block <unit> at /tmp/q125CjKhfB line 1␤True␤»
14:52 lizmat m: my $a is default(Nil); say $a == Any
14:52 camelia rakudo-moar f99bdb: OUTPUT«Use of Nil in numeric context  in block <unit> at /tmp/05frxoqEvl line 1␤Use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/05frxoqEvl line 1␤True␤»
14:52 lizmat yeah, that still won't work
14:52 sena_kun lizmat, and "Numeric"(or "String" for 'eq') context warning will be still here.
14:52 lizmat m: my $a is default(Nil); my $b is default(42) = 666; say $b; $b = $a; say $b
14:52 camelia rakudo-moar f99bdb: OUTPUT«666␤42␤»
14:52 franciskittu joined #perl6
14:53 hoelzro timotimo: Linenoise and Readline both provide persistent history; I just never got around to hooking it up because I didn't want to decide where the history should live
14:53 MadcapJake m: my $a is default(Nil); say $a.isa(Nil)
14:53 camelia rakudo-moar f99bdb: OUTPUT«True␤»
14:53 lizmat sena_kun: generally, an absence of an initialization is indicated with definedness
14:53 moritz hoelzro: ~/.perl6/rakudo-history
14:54 sena_kun MadcapJake, it seems your code did the trick, thanks.
14:54 hoelzro moritz: I would be ok with that.
14:54 MadcapJake m: my $a is default(Nil); say $a.defined
14:54 camelia rakudo-moar f99bdb: OUTPUT«False␤»
14:54 moritz hoelzro: maybe with .readline and .linenoise added, if they have different file formats
14:54 lizmat m: my $a; say $a.defined
14:54 camelia rakudo-moar f99bdb: OUTPUT«False␤»
14:54 lizmat m: my $a = 42; say $a.defined
14:54 MadcapJake xD
14:54 camelia rakudo-moar f99bdb: OUTPUT«True␤»
14:54 hoelzro good point
14:55 sena_kun lizmat, thanks.
14:56 sena_kun Okay then, I will use '.defined' to check. Back to coding...
15:15 gfldex docs are not building again
15:15 lizmat gist?
15:15 gfldex http://doc.perl6.org/build-log/​build-2016-02-03T22:40+0000.log
15:16 gfldex Pod::To::BigPage is working fine so the .pod files should be OK
15:17 lizmat hmmm... doesn't ring a bell... :-(
15:18 gfldex i will try a local build in a bit
15:23 MadcapJake hoelzro: what's "LTA" mean?
15:23 hoelzro MadcapJake: Less Than Awesome
15:23 vendethiel joined #perl6
15:25 MadcapJake hoelzro: thanks! I was thinking that I could include an "add code" button that would create a field (on this form I'm working on) which--when you submit--would generate a proper code box in the email, this would save from having to attach things, would you think this better?
15:26 brrt left #perl6
15:26 ely-se joined #perl6
15:27 sena_kun Is it a known panda bug that if I fail building of a module once at test phase, then panda will never update source file for building to new(corrected) version, no matter how many times you change module code? If no, it's time to reproduce/open the issue.
15:27 kjs_ joined #perl6
15:28 MadcapJake sena_kun: are you providing the path to the module directory?
15:28 sena_kun MadcapJake, of course.
15:29 MadcapJake have you tried `panda --force install <path>`
15:29 MadcapJake (note, i believe you do have to place --force before the install subcommand)
15:30 sena_kun MadcapJake, yeah. My exact command is 'panda --force install perl6-Compress-hpack/'.
15:32 ugexe i'd look at the .panda_workdir directory or whatever to see if its at least copying your changes over
15:33 ugexe h
15:34 sena_kun ugexe, I took a look at internal panda's file(like '.rakudobrew/moar-nom/install/share/perl6/site/so​urces/6DDF2F33D978C03CD0D0F4CDE2B909299B5DB582') and changes doesn't copied. It's the problem I'm about.
15:34 ugexe oh. your path needs to start with a `.`. or a `/`
15:34 ugexe ./perl6-Compress-hpack/
15:34 sena_kun s/panda's file/file panda use to point error/
15:34 ugexe at least it used to
15:35 ugexe sena_kun: those aren't internal panda files
15:35 sena_kun ugexe, do you think it can matter? Since I many times installed/reinstalled modules without any prefix. Will try next time I catch this bug.
15:35 ugexe the panda files will be in $*CWD.child('.panda_workdir')
15:36 ugexe sena_kun: it matters because otherwise its treated as a module/distribution name to search for
15:37 sena_kun ugexe, aw, okay. I will use prefix then, thank you.
15:37 ugexe again i dunno if its still neccesary. i only know it *used* to be
15:39 MadcapJake ugexe: i was thinking that too, but if it tries to run the tests then surely it's getting somewhere, right?
15:39 MadcapJake or is it getting that far sena_kun ?
15:40 ugexe but for all we know its just fetching the version from github that it finds from a search
15:40 sena_kun ugexe, I'll file an issue with reproducible description if I hit it again anyway. Now my 'report' doesn't look like a proper report.
15:40 ugexe sena_kun: thanks
15:41 AlexDaniel joined #perl6
15:41 Amnez777 joined #perl6
15:42 Amnez777 joined #perl6
15:42 Amnez777 joined #perl6
15:45 aindilis joined #perl6
15:45 sena_kun MadcapJake, (as I see it) code compiles(syntactically), but if in tests there are a calls for some broken functions, this functions will be called, we got a runtime error and I will end with error text and 'No plan found in TAP output'. And after I change source file and try to install it again - then my changes won't be used, only version that didn't compiled. If I compile/install package and then *separately* write down and run some
15:45 sena_kun test(that might fail) everything with reinstall will be okay. But not 'install/failed tests' both.
15:45 xpen joined #perl6
15:45 sena_kun Sorry for so long message written in poor runglish.
15:45 Amnez777 joined #perl6
15:49 nine I so wish important issues would be discussed as thoroughly as the pretty much irrelevant choice of bug reporting system...
15:49 MadcapJake nine: xD
15:50 MadcapJake bikeshedding always happens on the least important topics, it's gotta be some kind of Law of the Internet
15:50 lizmat jnthn: trying the attrinited approach, I get a strange failure with MAIN related code: https://gist.github.com/li​zmat/ce236e35e082aa1db05e
15:50 mspo nine: propose changing the VCS and see what happens
15:50 lizmat jnthn: could use a sanity check there
15:50 lizmat jnthn: would be nice if we could get that to work, as it looks it's making hash accesses 2x as fast
15:50 lizmat afk for some time&
15:51 pyrimidi_ nine++ # re: keeping focus on the important things
15:52 nine mspo: until someone actually offers to do the contless hours of work of moving 1200 open tickets from RT to GH _and_ changing all the references to those tickets in source and roast, I cannot even call this a discussion.
15:52 sena_kun nine, if nobody here(except me) hits this issue, it's not so dangerous as it seems.
15:53 sena_kun There is a probability that it's me who 'do it wrong' and get a strange result.
15:54 nine I actually think the best course of action for moving to GH issues would be to work on fixing about a 1000 open issues so the rest can be moved easily. That way even if it turns out that GH sucks, we'd still have gotten rid of a 1000 issues ;)
15:56 pyrimidine nine: we did a redmine -> github migration recently (for different reasons, to get off legacy hardware).  It was a pain (and only half-arsed worked, still links back to old tickets)
15:56 vendethiel joined #perl6
15:56 pyrimidine nine: that was for ~200 tickets.  Agree, would be more productive to just focus on the RT issues and close them.
15:56 nine sena_kun: safest way to do this is just: cd perl6-Compress-hpack ; panda --force install .
16:00 sena_kun nine, will try it then. I want to take a look at panda code, actually, but haven't so much free time here. It will be easier if I will be able do to this, maybe.
16:01 pmurias nine: we could try to automate the moving of GH issues from RT to GH and in the moved RT tickets just linked to the github one
16:01 pmurias nine: "Ticket moved to this url"
16:01 pmurias nine: likely not worth doing unless RT starts causing serious trouble
16:03 hoelzro that's my issue (sorry for the pun); is RT *that* troublesome?
16:05 mspo github issues kind of sucks, though
16:05 ZoffixW joined #perl6
16:05 MadcapJake sena_kun: if you're using rakudobrew you could always nuke your install
16:05 khw joined #perl6
16:05 musiKk joined #perl6
16:05 ZoffixW Just noticed the discussion on the critical issue was taking place, so I came in to contribute... :)
16:05 mspo NetBSD has been wanting to move bug trackers for ages but has some crazy number of tickets
16:06 MadcapJake mspo: that's my feeling on this, why move to a weaker issue tracker?
16:06 pyrimidine I don't see the point in expending tuits on moving tickets to GH if it's not pressing, particularly if no one is volunteering.  And what mspo++ said.
16:06 mspo MadcapJake: I have a whitepaper describing a "good enough" bug tracker that someone in netbsd's phd club finally wrote
16:06 mspo MadcapJake: proving that none of them were sufficiently good :)
16:07 sena_kun MadcapJake, I did so, since I don't have any other way to get rid of it.
16:07 ZoffixW I've not read too far into the backlog, but... why the hell are we discussing moving tickets to GH?
16:07 mspo probably because you're doing dev on github
16:07 jnthn Because people like discussing stuff. Doesn't mean it's going to happen. :-)
16:07 ZoffixW :)
16:07 jnthn It started out with a "how do we make life better for people submitting bugs"
16:07 ZoffixW I thought the original Issue was (a) our websites and docs don't make it clear how to report bugs; and (b) signing up for RT is not ideal, so that's why MadcapJake is planning to add a web reporting interface
16:08 ZoffixW So when and if that interface is ready, we simply update the docs and websites and the issue is resolved. Nothing needs to be moved anywhere.
16:08 mr-foobar joined #perl6
16:08 pyrimidine MadcapJake++ # for taking the initiative!
16:08 jnthn Indeed.
16:08 ZoffixW MadcapJake++
16:08 jnthn I'm all for making it clearer how to submit good bug reports
16:08 MadcapJake ZoffixW: agreed, the discussion has certainly gotten OT
16:08 ZoffixW :)
16:09 jnthn Anyway, if it helps to have somebody with the authority to shoot down a move away from RT any time in the near future, then consider it done. :-)
16:09 ZoffixW :D
16:09 pyrimidine MadcapJake: yep, that's what happens when I come into the conv midstream :P
16:10 jnthn I glanced at MadcapJake++'s form and it seemed to help people form a bug report with the important bits (what to do to reproduce, what was observed, what was expected)
16:10 MadcapJake pyrimidine: no problem! I was more speaking to the github issue's OTness
16:13 pyrimidine MadcapJake: well, looking at backlog has become increasing difficult lately (though for good reasons, community-building++)
16:13 pyrimidine MadcapJake: but definitely awesome work on making bug reporting easier!
16:14 jnthn lizmat: Will have to apply that and build it when I have time. If I don't get chacne later today, please remind me about it again tomorrow. :)
16:14 xpen joined #perl6
16:17 dalek doc: 7498cae | (Robert Newbould)++ | doc/Language/regexes.pod:
16:17 dalek doc: s/than must/that must/
16:17 dalek doc: review: https://github.com/perl6/doc/commit/7498cae937
16:17 dalek doc: 2ba2245 | (Zoffix Znet)++ | doc/Language/regexes.pod:
16:17 dalek doc: Merge pull request #379 from c0nspiracy/patch-1
16:17 dalek doc:
16:17 dalek doc: s/than must/that must/
16:17 dalek doc: review: https://github.com/perl6/doc/commit/2ba22455b8
16:24 cdg joined #perl6
16:29 mspo fwiw roundup was the only bug tracker possibly flexible enough to satisfy almost anyone's requirements
16:30 mspo but customizing it enough takes tons of work, and it's python so slow-as-hell
16:30 _mg__ joined #perl6
16:31 mspo github has basically killed all development of open source infrastructure/hosting suites
16:32 jast I don't think so. there's gitlab, for instance, though that's commercially driven, too
16:32 jast it's just that writing a good bug tracker is not easy
16:33 flussence gitlab's also slow-as-hell, but I do like its issue tracker interface more than githubs
16:35 flussence (one nice thing they added recently: buttons to tally single-emoji replies so they don't need to clutter up a discussion)
16:37 virtualsue joined #perl6
16:37 FROGGS joined #perl6
16:39 Sgeo_ joined #perl6
16:42 _mg_ joined #perl6
16:43 Skarsnik Hello, How the hell I can display my ticket on the main page of RT? it only offer me top priority tickets and that empty :(
16:44 ZoffixW Skarsnik, tickets that you created you mean?
16:44 Skarsnik Yes
16:44 Skarsnik (and the half translation is annoying too, but whatever)
16:45 Skarsnik I added the My tickets stuff on the config, but it's empty
16:45 ZoffixW At the top, go to Tickets->New Search, then in the "Add Criteria" panel, there's "Requestor's email address" select field in the middle and next to it, just type your RT email address and then click "Add these items and search" button
16:45 moritz I think "my tickets" is "tickets assigned to me", not "tickets I opened"
16:46 Skarsnik Oooh...
16:46 ZoffixW I think in that case, that'd be the "Owner" select field and you just choose the user you want from the second select field next to it.
16:47 Sgeo joined #perl6
16:51 Skarsnik I am not in the list x)
16:51 Sgeo_ joined #perl6
16:52 ZoffixW ¯\_(ツ)_/¯
16:56 Skarsnik (╯°□°)╯︵ ┻━┻
16:56 Skarsnik Ah I managed with the advanced edit
16:57 Skarsnik to enter manually
17:00 mspo RT's best feature is its excellent email support
17:01 Zero_Dogg joined #perl6
17:02 moritz question for the windows users: do you have to enhance PATH after installing the R* MSI? if yes, what exactly do you need to add?
17:02 Skarsnik where the perl6 'binary' is and the location of moar.dll probably
17:03 moritz I'm looking for, like, actual paths :-)
17:03 moritz something that I can write in instructions without looking stupid
17:03 jnthn moritz: C:\rakudo\bin
17:03 Skarsnik depend if the user change the location in the installer?
17:03 vendethiel joined #perl6
17:03 jnthn moritz: And
17:03 moritz jnthn: that's all, no 'site' dir for panda or so?
17:03 jnthn C:\rakudo\share\perl6\site\bin
17:03 Skarsnik for me it will me like D:\rakudo\bin if i install it
17:04 moritz thanks jnthn++
17:04 jnthn True, though I think it's only relocatable by drive letter...you can't pick the path more specifically than that
17:04 jnthn 'cus it's not relocatable
17:04 Skarsnik You can do like gstreamer, it set a env variable with this location
17:05 dakkar_ joined #perl6
17:05 moritz making moar+nqp+rakudo relocatable would be a great project
17:06 Skarsnik https://rt.perl.org/Ticket/Display.html?id=126948 can probably closed ~~
17:11 dalek doc: c1683e9 | (Wenzel P. P. Peppmeyer)++ | util/update-and-sync:
17:11 dalek doc: add debug info
17:11 dalek doc: review: https://github.com/perl6/doc/commit/c1683e9c44
17:11 dalek doc: 1c0c506 | (Wenzel P. P. Peppmeyer)++ | doc/Language/regexes.pod:
17:11 dalek doc: Merge branch 'master' of https://github.com/perl6/doc
17:11 dalek doc: review: https://github.com/perl6/doc/commit/1c0c506239
17:18 ab5tract joined #perl6
17:20 chacewells joined #perl6
17:21 chacewells is there a recommended way to do heredocs with variable interpolation? q:to/WHATEVER/ seems to not have a double-quoting syntax
17:21 chacewells the only other option i'm aware of is qq{}
17:22 jnthn qq:to/WHATEVER/
17:22 chacewells jnthn: that's what i thought, but i've gotten errors on that syntax
17:23 donaldh chacewells: are you using {$var} syntax?
17:23 chacewells tried that too, but let me do a quick sanity check to make sure i'm not just missing something
17:24 jnthn It may be that it interpolates things you aren't wanting it to
17:24 jnthn You can also opt in bit by bit
17:24 jnthn q:s:to/WHATEVER/ should only interpolate scalars, for example
17:24 chacewells what i've been doing is q:to/WHATEVER/.subst('this', 'that')
17:24 donaldh https://github.com/donaldh/swagger-to-y​ang/blob/master/swagger-to-yang.pl#L33 is a working example
17:25 gfldex chacewells: please provide the error message in question.
17:26 chacewells yeah, qq: definitely works. i wonder what i was doing wrong yesterday
17:26 chacewells maybe i missed the curly-braces
17:26 chacewells thanks guys
17:27 donaldh the joy of iterating through many wrong combinations. you miss the right combination :-/
17:28 gfldex Pod::To::HTML is not the best HTML generator possible, see: <h2 id="" type_str_does_not_support_a​ssociative_indexing.""="">
17:28 jnthn donaldh: Heh, I wrote a Swagger spec just a couple of days ago. Had never heard of YANG. :)
17:29 donaldh jnthn: very specific to network managment.
17:29 timotimo gfldex: argh, that's a rather epic fail
17:30 chacewells haha amen
17:31 AlexDaniel Skarsnik: I view my tickets like this: https://rt.perl.org/Public/Search/Simpl​e.html?q=alex.jakimenko%40gmail.com+any
17:31 domidumont joined #perl6
17:31 ZoffixW chacewells, to clarify, $var will work, you don't need to write it as {$var}
17:31 AlexDaniel Skarsnik: it will yell on you about CSRF but just click  “click here to resume your request”
17:32 ZoffixW AlexDaniel, "Possible cross-site request forgery" :)
17:32 AlexDaniel ZoffixW: ↑
17:32 ZoffixW Ah!
17:32 ZoffixW Cool. AlexDaniel++
17:32 AlexDaniel don't ask me how I came up with that link
17:32 ZoffixW You sold your kidney to a shady hacker?
17:32 AlexDaniel but yeah, by changing the email you can view other tickets in a same fashion
17:33 kjs_ joined #perl6
17:33 moritz I'm looking for a small concurrency example in Perl 6 for use in an article
17:33 moritz any recommendations?
17:33 moritz ideally something with Supply and/or Promise
17:33 dalek perl6.org: ea7e15e | (Steve Mynott)++ | source/downloads/index.html:
17:33 dalek perl6.org: Recommend Rakudo Star rather than Rakudobrew for most users.
17:33 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/ea7e15e89a
17:33 AlexDaniel moritz: my recommendation is: don't mention .hyper
17:34 moritz AlexDaniel: I hadn't planned to :-)
17:34 AlexDaniel good
17:34 timotimo yeah, .hyper isn't too stable right now ;(
17:35 timotimo .hyper.map sometimes works, .hyper.grep never works
17:36 cognominal joined #perl6
17:36 ZoffixW m: say ^10 .hyper.grep: *.is-prime
17:36 camelia rakudo-moar f99bdb: OUTPUT«()␤»
17:36 ZoffixW :S
17:37 moritz isn't grep implemented in terms of map? :-)
17:37 moritz m: say (^10).hyper.map({ .is-prime() ?? $_ !! Empty })
17:37 camelia rakudo-moar f99bdb: OUTPUT«HyperSeq.new␤»
17:37 AlexDaniel ZoffixW: https://rt.perl.org/Public/Search/Simple.h​tml?q=alex.jakimenko%40gmail.com+hyper+any
17:37 jnthn moritz: Something with the react/supply/whenever syntax
17:37 moritz m: say (^10).hyper.map({ .is-prime() ?? $_ !! Empty }).values
17:37 camelia rakudo-moar f99bdb: OUTPUT«(2 3 5 7)␤»
17:38 moritz jnthn: is that documented somewhere? I don't think I ever really understood that :/
17:38 ZoffixW AlexDaniel, stop trying to hack me with all those cross forgeries, mate  :)
17:39 AlexDaniel ZoffixW: I don't understand how a search query could possibly be a possible CSRF
17:39 ZoffixW ¯\_(ツ)_/¯
17:39 donaldh jnthn: looking at VM bind lowering, I follow what is happening in Actions.nqp but not what features are lacking on JVM backend. What does moar have that JVM needs?
17:40 jnthn moritz: yes, RabidGravy++ wrote up some stuff on it I think
17:40 jnthn moritz: And also my advent post was about it.
17:41 jnthn donaldh: I think it's actually in code-gen
17:41 RabidGravy well, I altered the    http://doc.perl6.org/language/concurrency to use it in the examples
17:41 jnthn donaldh: Of note, QAST::Var parameters having the subnodes that do the type checks for that parameter
17:42 stmuk_ a watched cron job never runs :/
17:42 donaldh jnthn: I thought that might be the case. So I need to compare as_jast for blocks and moar's compile_node for blocks ?
17:42 donaldh and figure it out from there
17:42 jnthn donaldh: Yeah
17:45 Skarsnik Wow I just found a "Perl 6 essential" while sorting stuff
17:46 Skarsnik jun 2003 ~~
17:46 moritz is there a list somewhere of equivalence between react/whenever/emit syntax and method calls?
17:48 dalek perl6.org: 04f6c2e | (Steve Mynott)++ | source/downloads/index.html:
17:48 dalek perl6.org: tweak some whitespace I didn't see in lynx
17:48 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/04f6c2ee2d
17:50 dalek specs: 983eaa7 | (Zoffix Znet)++ | S22-package-format.pod:
17:50 dalek specs: Fix example of "perl" META key
17:50 dalek specs:
17:50 dalek specs: "perl" specifies *minimum* version, but example and its explanation demonstrate it as the *maximum* version.
17:50 dalek specs: review: https://github.com/perl6/specs/commit/983eaa76ce
17:51 dalek perl6.org: c01dfba | (Steve Mynott)++ | source/index.html:
17:51 dalek perl6.org: Compiler -> Rakudo Star on Homepage
17:51 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/c01dfbabc9
17:56 flussence http://blogs.perl.org/users/martin/2016/01/the-fu​se-operator---a-suggested-language-extension.html -- this looks interesting, a postfix operator for "fail out of the immediately enclosing statement if undef". I guess we'd use andthen/orelse for that sort of thing?
17:57 vendethiel joined #perl6
17:57 flussence (and postfix with, I suppose)
17:58 RabidGravy m: class A { has Str $.a = "A" }; class B is A { has Int $.a = 1 }; say B.new; say B.new.a
17:58 camelia rakudo-moar f99bdb: OUTPUT«B.new(a => 1, a => "A")␤1␤»
17:58 flussence oh, yep, those are some comments down below.
17:59 molaf joined #perl6
18:00 Skarsnik I would want a something like !  that do 'check if left is defined" to avoid if $stuff.defined and $stuff < 42; so you can write if $stuff ?< $stuff
18:01 Skarsnik $stuff ?< 42
18:01 arnsholt flussence: It's an interesting idea, but I'm not entirely sure I like the exact approach suggested in that post
18:01 arnsholt My main gripe is that it's an operator that potentially interacts with other operators in the expression
18:01 flussence m: my $stuff; say $stuff //< 42
18:01 camelia rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mmOOeD_aLK␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at /tmp/mmOOeD_aLK:1␤------> 3my $stuff; say $stuff //< 427⏏5<EOL>␤    expecting any of:␤        quote wo…»
18:02 arnsholt So kind of macro-like. Except it actually interacts with operators *above* it in the expression, not below
18:02 arnsholt So the implementation of this is likely to be at least a little bit hairy
18:03 firstdayonthejob joined #perl6
18:03 AlexDaniel gfldex: just curious, why not use trans for that?
18:03 gfldex that would be a little bit slower
18:04 gfldex at least it did when i benchmarked last time
18:04 AlexDaniel m: say ‘hello "world"’.trans(‘"’ => ‘&quot;’)
18:04 camelia rakudo-moar f99bdb: OUTPUT«hello &world&␤»
18:04 AlexDaniel hmmmmmm
18:05 AlexDaniel ok it doesn't even work this way
18:05 AlexDaniel although I've always thought that it does…
18:05 dalek perl6.org: 1db3354 | (Steve Mynott)++ | source/index.html:
18:05 dalek perl6.org: Use Star announcement
18:05 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/1db335441f
18:05 gfldex m: say ‘hello "world"’.trans([‘"’] => [‘&quot;’])
18:05 camelia rakudo-moar f99bdb: OUTPUT«hello &quot;world&quot;␤»
18:06 AlexDaniel ah yeah
18:06 gfldex m: say ‘hello "world"’.trans([‘"’, 'e'] => [‘&quot;’, 'E'])
18:06 camelia rakudo-moar f99bdb: OUTPUT«hEllo &quot;world&quot;␤»
18:06 timotimo m: say 'hello "world"'.trans('"' => '&quot;')
18:06 camelia rakudo-moar f99bdb: OUTPUT«hello &world&␤»
18:06 timotimo ah, that's why ...
18:07 SCHAAP137 joined #perl6
18:07 AlexDaniel gfldex: interestingly, I don't think that there is any reason for 「trans」 to be slower
18:08 gfldex it calls subst in a loop. That's at least 2 iterators it needs to create.
18:08 AlexDaniel using a regex is definitely more complicated than doing trans, so there's some room for optimization, I guess
18:08 timotimo m: say 'hello "world"'.trans('"', '&quot;')
18:08 camelia rakudo-moar f99bdb: OUTPUT«Only Pair objects are allowed as arguments to Str.trans, got Str␤  in block <unit> at /tmp/kdpBJnktAS line 1␤␤»
18:08 moritz RabidGravy: the IO::Socket::Async echo example seems to be broken (on perl6/doc)
18:10 moritz RabidGravy: https://github.com/perl6/doc/issues/380
18:11 RabidGravy Boo! I already fixed that *twice*
18:11 moritz seems we need better tests :-)
18:13 moritz AlexDaniel: fwiw you can push to perl6/ecosystem directly; no need to make pull requests
18:13 AlexDaniel ?
18:13 moritz AlexDaniel: oh sorry, you merged one, didn't open one
18:13 AlexDaniel :)
18:14 RabidGravy moritz, are you absolutely sure?  it works fine here
18:14 moritz RabidGravy: oh, seems my rakudo is pre-historic. My bad, sorry
18:15 RabidGravy :)
18:16 moritz 2015.07.something
18:17 fireartist joined #perl6
18:18 _mg_ joined #perl6
18:19 RabidGravy moritz, yeah that'll do it, I'm surprised that it even compiled TBH :)
18:20 vendethiel joined #perl6
18:22 ocbtec joined #perl6
18:23 araujo joined #perl6
18:28 gfldex Pod::To:HTML may have to be updated by hand on the host that is building the docs
18:35 timotimo the STATUS.txt of fosdem video uploads reached 68 (up from 64 earlier today), but i don't see perl related videos up yet
18:37 gfldex they obviously have the wrong priorities
18:37 timotimo ;)
18:41 moritz gfldex: I'm building a rakudo 2016.01 on hack right now
18:43 cosarara joined #perl6
18:43 jdv79 is hack under mem pressure?  its taking an awfully long time to flip between screen sessions
18:44 [Coke] MadcapJake: http://postimg.org/image/js469h5wl/ - suggestion, add "Rakudo " in front of the compiler versions.
18:44 timotimo moritz: i was wondering why only hack is on the collectd dashboard
18:45 timotimo perhaps it'd also be interesting to get info about the VM host, for example
18:45 lostinfog joined #perl6
18:45 DoverMo joined #perl6
18:50 ely-se joined #perl6
18:56 hyuil joined #perl6
19:05 skids https://github.com/skids/perl6-Control-Bail # bikeshed now open for business.
19:08 perlpilot .oO( we're using Perl 6 for criminals now? )
19:09 perlpilot .oO( or perhaps fishing with a spinning reel?  )
19:09 geekosaur on the one hand, Haskell's bracket. (On the other, it's capable of leaking resources when monad stacks are involved, and the MonadBaseControl workaround is a bit of a beast.)
19:09 timotimo perlpilot: for people who handle lots of money, but make a mistake
19:10 * geekosaur wonders about: my $foo will undo...
19:11 fireartist joined #perl6
19:12 timotimo geekosaur: i expect that also unconditionally execute the cleanup code regardless of where in the block execution went wrong
19:12 geekosaur mm, point
19:12 jdv79 where does the flip between the non-precomp'd panda and the precomp'd one happen?
19:13 addison joined #perl6
19:13 geekosaur although if you attach it to the var, the var can tell if it has a value or a type object
19:13 timotimo yes, but that's the kind of boilerplate that skids seeks to eliminate with that module
19:13 geekosaur ...otoh if you attach it to the var, the e.g. undo code could leak outside the scope. different use case, I guess
19:14 timotimo i don't think the undo property moves through the program
19:15 timotimo since it not only has to be present in the Var itself, but also be installed as a phaser on the block
19:15 * skids still trying to figure out exactly what it does at the CLI.
19:15 perlpilot run-time adding of phasers is ... interesting.
19:15 perlpilot feels like the capability should already be there too
19:16 perlpilot (which I guess it is if you're willing to talk QAST and nqp)
19:16 timotimo i'm surprised you can call the same block multiple times in a row without the trail/bail actions piling up more and more over time
19:17 skids Well, depends on whether you think the optimizer should unroll the whole mess before execution, I guess.
19:17 jdv79 http://paste.scsys.co.uk/505098
19:17 geekosaur timotimo, it wouldn't with bail, it presumably would with a hypothetical "will bail" trait
19:17 timotimo i expect the optimizer will bail out of all static optimizations when it sees curcode be called
19:17 jdv79 where does that happen?
19:17 geekosaur if its attached to the var, it should stay alive as long as the var does.
19:18 geekosaur er, will undo
19:18 timotimo ah
19:18 timotimo wait, "will undo" doesn't exist?
19:18 geekosaur not so far as I know
19:18 timotimo oh
19:19 timotimo m: do { my $a will undo { say "oh" }; False }
19:19 camelia rakudo-moar f99bdb: OUTPUT«WARNINGS for /tmp/uPiZ4LxKlZ:␤Useless use of constant value False in sink context (line 1)␤»
19:19 geekosaur I was just noodling. then realized that any use case for it would be different... and possibly nonexistent since I'm not even sure how that would work if it is scoped like that///
19:19 timotimo m: sub test { my $a will undo { say "oh" }; fail }; test
19:19 camelia rakudo-moar f99bdb: OUTPUT«oh␤»
19:19 timotimo it does exist
19:19 skids m: sub a () { my $foo will keep { 42.say }; $foo = 1; return $foo; }; 43.say; a();
19:19 camelia rakudo-moar f99bdb: OUTPUT«43␤42␤»
19:19 timotimo and even work
19:19 geekosaur huh
19:19 DrBlue joined #perl6
19:20 geekosaur what does that do if I leak the VAR (not value) out of the sub?
19:20 geekosaur (I think that can be done with sufficient evil)
19:21 skids m: sub a () { my $foo will keep { 42.say }; $foo = 1; return $foo.VAR; }; 43.say; my $b := a(); 44.say;
19:21 camelia rakudo-moar f99bdb: OUTPUT«43␤42␤44␤»
19:21 skids Yeah it's the actual variable not the Scalar
19:21 geekosaur I meant the undo case
19:21 skids m: sub a () { my $foo will leave { 42.say }; $foo = 1; return $foo.VAR; }; 43.say; my $b := a(); 44.say;
19:21 camelia rakudo-moar f99bdb: OUTPUT«43␤42␤44␤»
19:21 geekosaur it can't undo the scope it was created in and it's not clear that it should fire if the scope it ends up in fails
19:22 geekosaur or similar for LEAVE etc
19:29 skids timotimo:  Doh, yes, they do pile up.  Darn.
19:29 timotimo then you need a state variable to go with your code and install the phasers unconditionally at compile-time
19:30 skids timotimo: well, will need some sort of per-clone mechanism.
19:31 timotimo oh, of course
19:31 timotimo a regular variable, not a state variable
19:32 tochjammer joined #perl6
19:34 rindolf joined #perl6
19:37 skids Well, at least I should understand more about when clones happen, succeed or fail ;_0
19:45 mohae joined #perl6
19:46 yqt joined #perl6
19:54 perlawhirl joined #perl6
19:56 fireartist joined #perl6
19:58 Hotkeys m: say v6 < v7
19:58 camelia rakudo-moar f99bdb: OUTPUT«Cannot call Real(Version: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/gQLmAwOfcc line 1␤␤»
19:58 Hotkeys why does this happen?
19:58 Hotkeys yet
19:59 Hotkeys m: v6 cmp v7
19:59 camelia rakudo-moar f99bdb: OUTPUT«WARNINGS for /tmp/AW5Q5Zw3yg:␤Useless use of "cmp" in expression "v6 cmp v7" in sink context (line 1)␤»
19:59 Hotkeys isfine
19:59 Hotkeys m: say v6 cmp v7
19:59 camelia rakudo-moar f99bdb: OUTPUT«Less␤»
19:59 timotimo because < is strictly for numeric comparison
19:59 timotimo how do you compare versions to regular numbers?
19:59 moritz m: say v6 before v7
19:59 camelia rakudo-moar f99bdb: OUTPUT«True␤»
19:59 Hotkeys lame
19:59 timotimo i don't think so
20:00 moritz it's simply a choice to have 'before' the general, DWIM comparison, and < strictly for numbers
20:00 Hotkeys m: v6 lt v7 # works
20:00 camelia rakudo-moar f99bdb: OUTPUT«WARNINGS for /tmp/LFxgPTavVJ:␤Useless use of "lt" in expression "v6 lt v7" in sink context (line 1)␤»
20:00 timotimo perl decided to make its operators coercive and have more operators rather than overload existing operators for different types
20:00 Hotkeys m: say v6 lt v7 # works
20:00 camelia rakudo-moar f99bdb: OUTPUT«True␤»
20:00 moritz m: say v12 lt v9
20:00 camelia rakudo-moar f99bdb: OUTPUT«True␤»
20:00 moritz "works"
20:00 geekosaur heh
20:00 timotimo yeah, lt coerces to String
20:00 moritz for some value of works
20:00 sivoais joined #perl6
20:01 Hotkeys I wish the repl didn't lull me into a false sense of say-curity
20:02 geekosaur next up, QuickCheck port >.>
20:04 jdv79 wow, some test suites taking forever these days.
20:04 dalek perl6.org: d0cc162 | (Steve Mynott)++ | source/downloads/index.html:
20:04 dalek perl6.org: don't leave out BSD and add etc.
20:04 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/d0cc1622c3
20:05 virtualsue joined #perl6
20:05 * moritz is curious if the doc build will work again
20:05 moritz I've updated the perl6 there to 2016.01 and installed the required modules
20:05 perlawhirl joined #perl6
20:06 timotimo neat.
20:06 timotimo when i recently looked at the website, i thought the update had gotten stuck, but it's just that the changes for the recent rakudo star release were a bit ... understated :)
20:08 lokien_ joined #perl6
20:10 sivoais joined #perl6
20:11 Skarsnik ooh we have a 2016.01?
20:11 ZoffixW joined #perl6
20:12 moritz we do! \o/
20:12 Amendil joined #perl6
20:12 ZoffixW jdv79, ranguard and anyone else working on MetaCPAN6 stuff around? I'm writing a blog post about module ecosystem and I wanted to do a call for volunteers to help out. What can I include? If someone wants to help out, where should the look into?
20:13 pi4 joined #perl6
20:14 laz78 joined #perl6
20:18 firstdayonthejob joined #perl6
20:19 spider-mario joined #perl6
20:20 sivoais joined #perl6
20:26 * stmuk_ drinks a Jack in memory of Lemmy
20:27 ZoffixW Lemmy?
20:27 jdv79 ZoffixW: fixing the cur locking issue(s), trying to install dists and filing bug reports on hangs or fails, stopping in #perl6-toolchain and asking, etc...
20:28 ZoffixW k, I'll mention #perl6-toolchain
20:28 dalek perl6.org: 6785a45 | (Steve Mynott)++ | source/downloads/index.html:
20:28 dalek perl6.org: actually Configure.pl in the example needs root
20:28 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/6785a4553d
20:29 jdv79 i'm only just now trying to get back into it.  movement is pretty slow it seems lately.  xmas burnout/recovery maybe.  idk
20:30 jnthn jdv79: Yes, certainly some of that. :)
20:31 sivoais joined #perl6
20:31 ZoffixW It's kinda sucky our instructions need a root. Why not have --prefix be a user dir? Anyone wanting to install system-wide can change the prefix and figure out the need for root by themselves. Is that just to avoid the requirement of adding a new PATH?
20:34 stmuk_ ZoffixW: I suppose it could be ${HOME}/opt but I'd guess most people have root on a linux desktop and would use /opt or /usr/local
20:34 addison_ joined #perl6
20:34 stmuk_ TBH anyone who doesn't understand UNIX perms is unlikely to be able to install or run rakudo
20:35 moritz what are you two talking about? our default prefix is ./install, right?
20:35 stmuk_ (based on me trying to explain the install at a london hackday)
20:35 moritz oh, extra instructions on perl6.org
20:35 stmuk_ I was using an example of --prefix
20:35 ZoffixW This is an extremely terrifying statement "<stmuk_> TBH anyone who doesn't understand UNIX perms is unlikely to be able to install or run rakudo"
20:36 ZoffixW For a language who claims to be n00b-friendly
20:36 moritz well
20:36 stmuk_ well the solution is binary installs
20:36 moritz right
20:36 moritz a better .msi (that does the PATH fixup itself)
20:36 stmuk_ which of course will use root :)
20:36 ZoffixW heh
20:37 moritz up-to-date packages for all linux/UNIX flavors
20:37 moritz haha, so easy to say :-)
20:37 ZoffixW :)
20:38 dolmen joined #perl6
20:38 dalek perl6.org: 2d7e1ef | (Zoffix Znet)++ | source/downloads/index.html:
20:38 dalek perl6.org: Fix tpo
20:38 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/2d7e1efd99
20:39 perlawhirl .tell RabidGravy updated 'ls' script: http://hastebin.com/usidanuzux.pl
20:39 diakopte1 joined #perl6
20:39 emdashcomma_ joined #perl6
20:40 perlawhirl .seen RabidGravy
20:40 perlawhirl .botsnack
20:40 RabidGravy I'm here!
20:41 RabidGravy nice one on the new ls :)
20:41 ely-se joined #perl6
20:41 perlawhirl ok haha
20:41 ZoffixW .u –
20:41 geekosaur another victim of netsplits?
20:41 RabidGravy just head down in some code I just broke big time
20:42 geekosaur (yoleaux is here but might well be stuck)
20:42 stmuk_ does moar statically link? I was wondering about a "fat" x86-64 binary tarball
20:42 sivoais joined #perl6
20:42 stmuk_ not ideal I know
20:42 kjs_ joined #perl6
20:43 Cabanoss- joined #perl6
20:45 perlawhirl :q
20:46 Peter_WR joined #perl6
20:46 stmuk_ ^X^Q
20:46 huggable joined #perl6
20:47 ZoffixW weeeeeeeeee
20:48 DrForr Just filed a NativeCall bug - Apparently assigning 0 to a union of fields within a CStruct causes NativeCall to assign a type object to the CStruct field rather than the union.
20:48 _mg_ joined #perl6
20:48 noganex joined #perl6
20:49 ramon joined #perl6
20:49 pyrimidine joined #perl6
20:49 ribasushi joined #perl6
20:49 SmokeMachine____ joined #perl6
20:49 virtualsue joined #perl6
20:49 7F1AA9FQP joined #perl6
20:49 7F1AA9BRI joined #perl6
20:49 Upasaka_ joined #perl6
20:49 yoleaux joined #perl6
20:49 SmokeMachine____ joined #perl6
20:49 stmuk_ I did wonder about adding a "Star Errata" section somewhere
20:50 Upasaka joined #perl6
20:51 ely-se I read that as "Star Erotica"
20:52 sivoais joined #perl6
20:53 virtualsue joined #perl6
20:53 geekosaur that'd be ao3, not perl6 >.>
20:57 geraud joined #perl6
20:58 Skarsnik DrForr, weird, what is the rt?
20:59 firstdayonthejob joined #perl6
21:00 geekosaur 127460 (just hit ,y inbox)
21:00 jdv79 Method 'phasers' not found for invocant of class 'Code'
21:00 jdv79 is that familiar to anyone?
21:01 FROGGS not to me
21:01 jdv79 "react whenever $main_supply {" is the line that hits that
21:01 jdv79 hmm
21:01 |Tux| joined #perl6
21:01 moritz error messages from react blocks report wrong line numbers
21:02 jdv79 o
21:02 RabidGravy react { whenever { } }
21:02 moritz that is, they report that of the react, not of the actual error
21:02 moritz RabidGravy: does it make a difference?
21:03 RabidGravy yep
21:03 MadcapJake .seen gfldex
21:03 yoleaux I saw gfldex 18:37Z in #perl6: <gfldex> they obviously have the wrong priorities
21:03 RabidGravy m: react whenever Supply.interval(1) -> $v { say $v }
21:03 camelia rakudo-moar f99bdb: OUTPUT«0␤Method 'phasers' not found for invocant of class 'Code'␤  in block <unit> at /tmp/3fWB4IM_Ym line 1␤␤»
21:03 RabidGravy awful error message though
21:03 moritz that error message is extremly LTA
21:04 jdv79 i get that error inconsistently.  races or something?...
21:04 moritz I also don't understand why we don't require curly braces after the react when we need it semantically
21:04 moritz or is that supposed to work, and just a bug?
21:05 jdv79 yeah, blocks up in a futex otherwise.  cool.
21:05 MadcapJake .ask gfldex I keep getting a strange error using HTTP::Server::Simple::PSGI, seemingly randomly it will just crash and spit out «Use of uninitialized value of type Any in string context» when trying to split the url inside net_server.  But the weird part is, it doesn't happen when there is a request sent. I can't make sense of it.
21:05 yoleaux MadcapJake: I'll pass your message to gfldex.
21:05 jdv79 i'll rebuild
21:07 DrForr Yes, 127460.
21:07 RabidGravy yeah, I'd expect "react whenever" to fail less amboguously in the parse, and REACT takes a block argument, so I'm mystified
21:09 moritz sub REACT(&block)
21:09 moritz that's actually a Positional type constraint
21:09 moritz could be changed to sub REACTE(Block \block) { }
21:09 Zero_Dogg joined #perl6
21:10 jdv79 would it be possible to have bearable lag on hack?
21:10 jdv79 FROGGS: is that you?
21:11 jdv79 waiting seconds for my term to unfreeze is out of control
21:11 FROGGS I'm not logged in
21:11 moritz hack seems pretty responsive to me righ tnow
21:11 moritz load average of 1.4
21:12 vodka joined #perl6
21:12 jdv79 huh, ok
21:12 moritz jdv79: heh, you seem two have two long-running rakudo processes :-)
21:12 jdv79 well, my term to my box is fine and my term to hack is super laggy
21:12 moritz one JVM, one more
21:12 moritz jdv79: might be network
21:12 moritz *moar
21:13 moritz jdv79: I had the same an hour or so ago
21:13 jdv79 k
21:20 gfldex MadcapJake: try to run it with --ll-exception to see if that leads somewhere
21:20 yoleaux 21:05Z <MadcapJake> gfldex: I keep getting a strange error using HTTP::Server::Simple::PSGI, seemingly randomly it will just crash and spit out «Use of uninitialized value of type Any in string context» when trying to split the url inside net_server.  But the weird part is, it doesn't happen when there is a request sent. I can't make sense of it.
21:22 vodka left #perl6
21:23 Psyche^ joined #perl6
21:30 buharin joined #perl6
21:31 molaf joined #perl6
21:32 buharin joined #perl6
21:32 buharin hello :)
21:33 buharin joined #perl6
21:33 [Coke] buharin: hi
21:37 ajr_ joined #perl6
21:38 timotimo heyo
21:40 RabidGravy HARR!
21:42 grondilu left #perl6
21:42 ajr_ I'm trying to translate this s/\w<(^>]+)>/\U$1/g P5 regex to P6  s/\w<(<:!>>+)>/uc$0/g What am I doing wrong? Pointers to the documentation welcomed.
21:43 newbie joined #perl6
21:44 RabidGravy took, me a second to parse the P5 one
21:44 ajr_ correction to the P5 - there's a left [ in there
21:45 ajr_ s/\w<([^ &c
21:46 perlpilot ajr_: < are meta in P6, but not P5
21:46 ajr_ Literal < needs escaping?
21:47 mr-foobar joined #perl6
21:49 dalek star: 2fed8a4 | hoelzro++ | modules/MODULES.txt:
21:49 dalek star: Add LibraryMake and Linenoise to MODULES.txt
21:49 dalek star:
21:49 dalek star: Otherwise, they don't get built and installed
21:49 dalek star: review: https://github.com/rakudo/star/commit/2fed8a4207
21:49 dalek star: efd255b | (Steve Mynott)++ | modules/MODULES.txt:
21:49 dalek star: Merge pull request #64 from hoelzro/master
21:49 dalek star:
21:49 dalek star: Add LibraryMake and Linenoise to MODULES.txt
21:49 dalek star: review: https://github.com/rakudo/star/commit/efd255b0bd
21:50 buharin hey what does it mean that perl6 runs on jam?
21:50 buharin jvm is slow
21:50 buharin :<
21:51 RabidGravy ajr_, something like:
21:51 RabidGravy m: my $a = "<foo>"; $a ~~ s:g/\<(<-[>]>+)\>/{ $/.uc }/; say $a
21:51 camelia rakudo-moar f99bdb: OUTPUT«<FOO>␤»
21:51 ajr_ RG, so any literal < should be \< ?
21:51 RabidGravy yes
21:51 DrForr It means that ... it runs on JVM. It runs on MoarVM as well.
21:51 perlpilot ajr_: or  '<'
21:52 ajr_ > as well?
21:52 perlpilot ajr_: aye
21:52 perlpilot ajr_: non-alphanumerics are all meta-syntax.
21:52 ajr_ Thanks. Off to try it.
21:52 RabidGravy they are part of "character classes"
21:53 [Coke] well, the JVM port isn't 100% up to speed with the moarvm port.
21:53 [Coke] j: say "hi"
21:53 camelia rakudo-jvm f99bdb: OUTPUT«hi␤»
21:53 [Coke] m: say "hi"
21:53 camelia rakudo-moar f99bdb: OUTPUT«hi␤»
21:53 ajr_ HTML and friends are going to be fun.
21:53 RabidGravy the "<-[>]>" is the character class for "not >"
21:53 [Coke] ^^ there; one ran through the jvm backend, one ran through the moar backend.
21:54 dalek nqp: 7e8546d | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
21:54 dalek nqp: [js] Fix bool to integer conversion.
21:54 dalek nqp: review: https://github.com/perl6/nqp/commit/7e8546d68d
21:54 dalek nqp: 0a8b7f0 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
21:54 dalek nqp: [js] Take in regard types of variables when emitting code.
21:54 RabidGravy ajr_, this is why you split it up into bits in a grammar so so don't look at a massive dense regex
21:54 [Coke] IWBNI if we got perl6 on her: https://regex101.com/
21:54 DrForr Or just a few 'my regex {}' bits if you don't want a full grammar.
21:54 [Coke] *here
21:54 dalek joined #perl6
21:54 pmurias joined #perl6
21:55 [Coke] buharin: see that nqp commit? javascript backend coming sometime this year.
21:55 buharin :]
21:55 RabidGravy which will be fun
21:56 FROGGS ***ALL*** FYI, the windows msi packages are now available for 2016.01 - http://rakudo.org/downloads/star/
21:56 buharin it should be done in C++
21:56 perlpilot FROGGS++
21:56 buharin like Swift
21:56 RabidGravy FROGGS++
21:56 [Coke] FROGGS++
21:56 sortiz FROGGS++
21:56 jdv79 thanks
21:56 FROGGS :D
21:57 [Coke] I updated the NY.pm perl 6 beginner meetup note letting them know they have an R* they can play with.
21:57 pmurias [Coke]: is that regex101.com thing open source?
21:57 [Coke] pmurias: no clue, but it's great for testing and explaining to my non-regex aware coworkers.
21:57 Skarsnik DrForr, Are you sure using int32 for a long is not the issue?
21:57 perlpilot ajr_: I'd probably write your regex something like this ...
21:57 lizmat FROGGS++
21:57 kurahaupo joined #perl6
21:57 perlpilot m: my $str  = "foo<blah>  alpha<beta>"; $str ~~ s:g[ \w '<' (<-[>]>+) '>'] = $0.uc; say $str;
21:57 camelia rakudo-moar f99bdb: OUTPUT«foBLAH  alphBETA␤»
21:58 perlpilot (that's what your P5 version did, though I'm not sure that's really what you wanted)
21:58 pmurias [Coke]: I can't find a github link anywhere so it looks like it isn't :(
21:59 pmurias if it was I could try to hook up nqp-js up to it
21:59 DrForr Skarsnik: Possibly, I'll test quickly.
21:59 Skarsnik m: use NativeCall; say nativesizeof($_) for <int32 long Pointer>
22:00 camelia rakudo-moar f99bdb: OUTPUT«NativeCall op sizeof expected type with CPointer, CStruct, CArray, P6int or P6num representation, but got a P6opaque␤  in sub nativesizeof at /home/camelia/rakudo-m-inst-1/share/perl6/sou​rces/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 372␤  in block…»
22:00 Skarsnik duh
22:00 FROGGS m: use NativeCall; say nativesizeof(int32|long|Pointer)
22:00 camelia rakudo-moar f99bdb: OUTPUT«any(4, 8, 8)␤»
22:00 DrForr Nope, still dies with int64 in Perl 6, long in C.
22:01 Skarsnik why mine does not work FROGGS ? x)
22:01 DrForr I'll push the entire thing to github here in a moment.
22:01 Skarsnik Oh
22:01 Skarsnik I know
22:01 FROGGS strings?
22:01 Skarsnik m: use NativeCall; say nativesizeof(::($_)) for <int32 long Pointer>
22:01 camelia rakudo-moar f99bdb: OUTPUT«4␤8␤8␤»
22:02 FROGGS m: use NativeCall; say nativesizeof($_) for int32, long, Pointer
22:02 camelia rakudo-moar f99bdb: OUTPUT«4␤8␤8␤»
22:02 lizmat .tell jnthn could it be that nqp::attrinited gives false positives?  it may be buggy, as it only seems to be used in one place in nqp ?
22:02 yoleaux lizmat: I'll pass your message to jnthn.
22:02 Skarsnik use long DrForr if it's long ^^
22:02 addison joined #perl6
22:02 [Coke] pmurias: see #regex channel on this server.
22:03 DrForr I thought native types like 'int' weren't allowed...
22:03 DrForr Fails still, though.
22:03 FROGGS DrForr: int is not allowed, like num isnt
22:04 [Coke] I'm in there now.
22:04 FROGGS because our int is usually 64bits wide which is not what C thinks of int
22:05 Skarsnik long had a proper REPR if I remember well
22:05 [Coke] 17:04 <+OnlineCop> [Coke]: It is not open source, although there is a 2.0 that we're developing now.
22:05 Skarsnik I don't remember what did I do to confond int over int32
22:05 [Coke] 17:04 <+OnlineCop> It's got Perl6, PCRE2, and multiple other flavors in the pipeline.
22:06 pmqs_ joined #perl6
22:07 perlawhirl joined #perl6
22:07 ely-se joined #perl6
22:07 perlawhirl just joined on to say...
22:08 perlawhirl FROGGS++
22:10 DrForr Skarsnik: drforr/perl6-Inline-Scheme-Guile - If you care to play with the actual source. Uncomment any of the tests like #f or 0 - Those both set int_content to 0. And the types are matched on both sides.
22:10 mscha joined #perl6
22:10 mscha p6: i²
22:10 camelia rakudo-moar f99bdb: ( no output )
22:10 DrForr Once the iteration is properl laid out it's my intent to generate both the Inline and C modules from Perl so I can keep both sides in sync.
22:10 Skarsnik I don't run my perl6 vm now, sorry. I was just pointing something that could make it not size the union correctly
22:11 mscha p6: say i²
22:11 camelia rakudo-moar f99bdb: OUTPUT«-1+1.22464679914735e-16i␤»
22:12 DrForr Right, understood. In any case it's up on GitHub.
22:13 DrForr My bet is the nesting of a CUnion in a CStruct...
22:13 Skarsnik did you try comparing the size of the struct/cunion?
22:14 Skarsnik between C and perl6
22:14 DrForr I'll try that tomorrow...
22:14 mscha say e**(π*i) + 1;
22:14 mscha p6: say e**(π*i) + 1;
22:14 camelia rakudo-moar f99bdb: OUTPUT«0+1.22464679914735e-16i␤»
22:15 Juerd !calc e**(tau * i)
22:15 Juerd Er.
22:15 Juerd Mixing channels now :)
22:15 Juerd m: say e**(tau * i)
22:15 camelia rakudo-moar f99bdb: OUTPUT«1-2.44929359829471e-16i␤»
22:17 mscha p6: say e**(100000000000000001*π*i) + 1;
22:17 camelia rakudo-moar f99bdb: OUTPUT«0.469955266004289-0.847969681040198i␤»
22:17 mscha p6: say e**(1000000000001*π*i) + 1;
22:17 camelia rakudo-moar f99bdb: OUTPUT«3.40092933814873e-0​8+0.000260803730219934i␤»
22:17 mscha p6: say e**(100000001*π*i) + 1;
22:17 camelia rakudo-moar f99bdb: OUTPUT«1.11022302462516e-1​6+1.12647929283531e-08i␤»
22:18 mscha p6: say 0.1 + 0.2 == 0.3;    # well, at least it gets this one right :-)
22:18 camelia rakudo-moar f99bdb: OUTPUT«True␤»
22:20 mscha p6: say 1e-1 + 2e-1 == 3e-1;    # huh, isn't it supposed to get this wrong?
22:20 camelia rakudo-moar f99bdb: OUTPUT«True␤»
22:21 tochjammer joined #perl6
22:21 timotimo don't we have an approximation stuff in comparisons now?
22:22 autark joined #perl6
22:23 mscha p6: say 1e-1 + 2e-1 - 3e-1;
22:23 camelia rakudo-moar f99bdb: OUTPUT«0␤»
22:23 timotimo seems like i'm mistaken?
22:24 lizmat timotimo: you mean =~= ?
22:24 lizmat aka ≅
22:25 timotimo oh
22:25 timotimo that could be
22:25 FROGGS gnight #perl6
22:27 perlawhirl left #perl6
22:27 perlawhirl joined #perl6
22:31 mcmillhj joined #perl6
22:33 Hotkeys golf is fun http://codegolf.stackexchange.com/a/71139/46687
22:33 Hotkeys I don't think that can be made any shorter
22:35 mscha p6: my Num @n = (1e-1, 2e-1, -3e-1); say [+] @n;    # finally!
22:35 camelia rakudo-moar f99bdb: OUTPUT«0␤»
22:35 mscha p6: # or not...
22:35 camelia rakudo-moar f99bdb: ( no output )
22:36 ZoffixWin joined #perl6
22:36 ZoffixWin joined #perl6
22:37 mscha my @Num @n = <0.1 0.2 -0.3>».Num; say [+] @n;    # finally, for real this time
22:37 mscha p6: my @Num @n = <0.1 0.2 -0.3>».Num; say [+] @n;    # finally, for real this time
22:37 camelia rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> 3my @Num7⏏5 @n = <0.1 0.2 -0.3>».Num; say [+] @n;  ␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤  …»
22:38 Hotkeys lol
22:38 AlexDaniel /@Num/Num/ ?
22:38 mscha p6: my @Num @n = (0.1, 0.2, -0.3)».Num; say [+] @n;    # finally, for real this time
22:38 camelia rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> 3my @Num7⏏5 @n = (0.1, 0.2, -0.3)».Num; say [+] @n;␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤  …»
22:38 mscha p6: my Num @n = <0.1 0.2 -0.3>».Num; say [+] @n;    # finally, for real this time
22:38 camelia rakudo-moar f99bdb: OUTPUT«5.55111512312578e-17␤»
22:38 Hotkeys oh nooooo
22:38 AlexDaniel mscha: what are you trying to do?
22:39 mscha I'm trying to get floating point math to fail, as any proper programming language does.  ;)
22:39 AlexDaniel ah, pffft
22:40 mscha 1e-1 + 2e-1 - 3e-1 is supposed to fail as well.  But I guess it's optimized away.
22:41 AlexDaniel a bit relevant: http://0.30000000000000004.com/
22:41 AlexDaniel notice how some other languages do it right
22:41 ZoffixWin If anyone who wants to learn the cool bits of Perl 6 is in Toronto on March 30th, come to TO.pm to my Wow, Perl 6! talk: http://www.meetup.com/Toronto-​Perl-Mongers/events/228600742/
22:42 Hotkeys oh man
22:42 Hotkeys there's a TO meetup?
22:42 Hotkeys might have to go
22:43 mscha AlexDaniel: do they get it right, or do they, like PHP, just round the output?  (That's why 0.1 + 0.2 - 0.3 is a better test.)
22:43 Hotkeys I
22:43 Hotkeys 'm not in TO
22:43 Hotkeys but I'm close enough
22:43 AlexDaniel mscha: e.g. look at “r” thing in ruby
22:43 ZoffixWin Hotkeys, where?
22:43 AlexDaniel mscha: it looks right
22:43 Hotkeys hamilton
22:44 * ZoffixWin is in Brampton
22:44 Hotkeys neat
22:45 vike joined #perl6
22:47 ZoffixWin m: sub slow-as-hell { sleep 1; $^a }; say 42 if slow-as-hell(False) or slow-as-hell(False) or slow-as-hell(True); say now - INIT now;
22:47 camelia rakudo-moar f99bdb: OUTPUT«42␤3.0027275␤»
22:47 ZoffixWin m: sub slow-as-hell { sleep 1; $^a }; say 42 if slow-as-hell(False) | slow-as-hell(False) | slow-as-hell(True); say now - INIT now;
22:47 camelia rakudo-moar f99bdb: OUTPUT«42␤3.00337181␤»
22:47 go|dfish joined #perl6
22:47 ZoffixWin Am I correct in understanding that "autothreaded junctions" means the calculation like the last one above happens in multiple threads?
22:48 ZoffixWin Or should... is it just NIY? or just too few operations?
22:48 lizmat ZoffixWin: no, not yet: it's an indication to the compiler that it *may* do that
22:48 lizmat but atm it will never do that
22:48 ZoffixWin Thanks :)
22:48 AlexDaniel even when it is implemented it is not guaranteed to do it this way, I think
22:48 lizmat patches welcome, of course :-)
22:49 lizmat AlexDaniel: indeed, it's only a hint to the compiler
22:49 raiph joined #perl6
22:49 lizmat a compiler may choose not to implement that, just like .>>method
22:52 RabidGravy in Tinky, I've implemented similar by kicking the bunch off in their own start, doing .allof and checking the results
22:53 perlawhirl joined #perl6
22:53 RabidGravy (that is do all the any number of validator function and methods say True)
22:53 TEttinger joined #perl6
22:56 wamba joined #perl6
23:05 ajr_ Can a matched string (e.g. $0) on the RHS of a substitution be uppercased? If so, how?
23:06 ZoffixWin m: my $foo = 'foobar'; $foo ~~ s/(foo)bar/{$0.uc}ber/; say $foo
23:06 camelia rakudo-moar f99bdb: OUTPUT«FOOber␤»
23:07 ZoffixWin { ... } executes perl code and stuffs the result into the string and .uc is the method to turn stuff into uppercase
23:07 ZoffixWin huggable, Str
23:07 huggable ZoffixWin, class Str [String of characters]: http://doc.perl6.org/type/Str
23:07 ajr_ Thanks Zoffix, that did the trick.
23:08 HaraldJoerg joined #perl6
23:09 ajr_ The {...} was the bit I was missing - I'll a look at huggable's suggestion too.
23:09 vendethiel joined #perl6
23:09 ZoffixWin ajr_, I think this is a better place to look at for that: http://docs.perl6.org/languag​e/quoting#Interpolation%3A_qq
23:09 ZoffixWin it's interpolation:
23:10 lizmat m: my $foo = 'foobar'; $foo ~~ s/(foo)bar/$0.uc()ber/; say $foo
23:10 camelia rakudo-moar f99bdb: OUTPUT«FOOber␤»
23:10 ZoffixWin :o
23:10 ZoffixWin m: say "The time a year later is {DateTime.now.later: :1year}"
23:10 camelia rakudo-moar f99bdb: OUTPUT«The time a year later is 2017-02-05T00:10:33.511280+01:00␤»
23:12 ajr_ ZoffixWin - are you going to be talking to Toronto PerlMongers this month?
23:12 ZoffixWin ajr_, nope
23:13 ajr_ Oh, Zoffix Znet is scheduled - is Zoffix a popular first name? :-)*
23:13 ZoffixWin ajr_, that's for March
23:15 ajr_ Well, I'll be able to thank you personally in March, then.
23:17 ZoffixWin ajr_, were you at the Mojolicious talk?
23:17 AlexDaniel m: say “hello {“world {“foo {“bar”}”}”}” # ;)
23:17 camelia rakudo-moar f99bdb: OUTPUT«hello world foo bar␤»
23:18 ZoffixWin AlexDaniel, show off!
23:18 AlexDaniel ZoffixWin: well, I'm not sure what to show off here. It just works as expected :)
23:18 AlexDaniel smartquotes are amazing though
23:19 AlexDaniel m: say “hello “world”!”
23:19 camelia rakudo-moar f99bdb: OUTPUT«hello “world”!␤»
23:19 ZoffixWin m: say “hello “world””!”
23:19 camelia rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1fYOGRtjFH␤Negation metaoperator not followed by valid infix␤at /tmp/1fYOGRtjFH:1␤------> 3say “hello “world””!7⏏5”␤    expecting any of:␤        infix␤        infix stopper␤»
23:19 AlexDaniel notice how it didn't stop at the first ”
23:19 ZoffixWin m: say “hello “““““world”””””!”
23:19 camelia rakudo-moar f99bdb: OUTPUT«hello “““““world”””””!␤»
23:19 ajr_ ZW - yes
23:19 AlexDaniel yeah
23:20 * AlexDaniel feels like there's no reason not to use smartquotes if you have those on your keyboard
23:20 * ZoffixWin doesn't
23:21 AlexDaniel why? :)
23:21 * ZoffixWin doesn't have smartquotes on the keyboard
23:21 AlexDaniel ZoffixWin: if perl6 -e 'say ‘hello’' does not convince you that I'm not sure what will
23:21 AlexDaniel ah right
23:22 ZoffixWin :D
23:22 AlexDaniel well… yeah
23:24 mscha p6: say π² × ½ ÷ Ⅶ;
23:24 camelia rakudo-moar f99bdb: OUTPUT«0.704971742934954␤»
23:24 dalek rakudo/nom: 8bd7ee6 | lizmat++ | src/core/Hash.pm:
23:24 dalek rakudo/nom: Make %h<a>.push|append about 10% faster
23:24 dalek rakudo/nom:
23:24 dalek rakudo/nom: And stop it from leaking values
23:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8bd7ee6241
23:24 lizmat gnight, #perl6!
23:25 ZoffixWin night
23:25 ZoffixWin .u Ⅶ
23:25 yoleaux U+2166 ROMAN NUMERAL SEVEN [Nl] (Ⅶ)
23:25 ZoffixWin mscha++ that's pretty cool
23:26 AlexDaniel m: say τ² × ½ ÷ Ⅶ
23:26 camelia rakudo-moar f99bdb: OUTPUT«2.81988697173982␤»
23:26 AlexDaniel m: say τ² × ⅛ ÷ Ⅶ
23:26 camelia rakudo-moar f99bdb: OUTPUT«0.704971742934954␤»
23:27 skids joined #perl6
23:28 erdic joined #perl6
23:28 AlexDaniel ZoffixWin: not sure if you backlogged but
23:29 AlexDaniel m: say <1 4 8 15>»²
23:29 camelia rakudo-moar f99bdb: OUTPUT«(1 16 64 225)␤»
23:29 ZoffixWin crazy
23:29 ZoffixWin m: say <1 4 8 15>»½
23:29 camelia rakudo-moar f99bdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/otww4N7uwl␤Malformed postfix␤at /tmp/otww4N7uwl:1␤------> 3say <1 4 8 15>»7⏏5½␤    expecting any of:␤        postfix␤»
23:29 AlexDaniel what does it mean xD
23:29 AlexDaniel well, ½ is not an operator, so…
23:30 ZoffixWin *shrug* divide each by 2? :D
23:30 mscha p6: sub prefix:<√>($x) { $x.sqrt; }; say √2;
23:30 camelia rakudo-moar f99bdb: OUTPUT«1.4142135623731␤»
23:31 AlexDaniel m: say <1 4 8 15>».&(*/2)
23:31 camelia rakudo-moar f99bdb: OUTPUT«(0.5 2 4 7.5)␤»
23:31 AlexDaniel ZoffixWin: not sure if there's any way to make it shorter
23:32 mscha m: say <1 4 8 15>»*½;
23:32 camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p9p6fNAw64␤Malformed postfix␤at /tmp/p9p6fNAw64:1␤------> 3say <1 4 8 15>»7⏏5*½;␤    expecting any of:␤        postfix␤»
23:32 ZoffixWin m: say <1 4 8 15>»/»2
23:32 camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ngbWDIQnoX␤Malformed postfix␤at /tmp/ngbWDIQnoX:1␤------> 3say <1 4 8 15>»7⏏5/»2␤    expecting any of:␤        postfix␤»
23:32 ZoffixWin m: say <1 4 8 15> »/» 2
23:32 camelia rakudo-moar 8bd7ee: OUTPUT«(0.5 2 4 7.5)␤»
23:32 Hotkeys what're smart quotes
23:33 mscha m: say <1 4 8 15> »×» ½;
23:33 camelia rakudo-moar 8bd7ee: OUTPUT«(0.5 2 4 7.5)␤»
23:33 ZoffixWin Hotkeys, “ and ”
23:33 AlexDaniel not only
23:33 AlexDaniel Hotkeys: also ‘’ and 「」
23:33 Hotkeys ah
23:33 AlexDaniel mscha: that's really good!
23:33 Hotkeys so essentially left and right quotes
23:34 Hotkeys that match to eachother like brackets
23:34 AlexDaniel yeah baby!!
23:34 Hotkeys smart indeed
23:34 mscha p6: say „Hello, World!”;
23:34 camelia rakudo-moar 8bd7ee: OUTPUT«Hello, World!␤»
23:34 Hotkeys oh man
23:34 Skarsnik lol
23:34 Hotkeys it even has german quotes huh
23:34 AlexDaniel mscha: oh right, forgot to mention that there is a thousand of ways to write those
23:35 mscha p6: say „Hello, “World”!”;
23:35 camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> 3say „Hello, “7⏏5World”!”;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤  …»
23:36 mscha Can't mix conventions, apparently.
23:36 AlexDaniel yup
23:36 AlexDaniel m: say ‚hi’
23:36 camelia rakudo-moar 8bd7ee: OUTPUT«hi␤»
23:38 AlexDaniel by the way
23:38 AlexDaniel m: say ½ «×« <1 4 8 15>
23:38 camelia rakudo-moar 8bd7ee: OUTPUT«(0.5 2 4 7.5)␤»
23:38 addison_ joined #perl6
23:38 Hotkeys I discovered you can do this today
23:39 Hotkeys m: say --«[1,2,3]
23:39 camelia rakudo-moar 8bd7ee: OUTPUT«[0 1 2]␤»
23:39 Hotkeys While  golfing and just trying things
23:40 AlexDaniel yeah, well, it is only going to work with []
23:40 AlexDaniel but
23:40 perlawhirl joined #perl6
23:40 AlexDaniel m: say .pred«<1 2 3>
23:40 camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IXeyWUWywH␤Unable to parse quote-words subscript; couldn't find right double-angle quote␤at /tmp/IXeyWUWywH:1␤------> 3say .pred«<1 2 3>7⏏5<EOL>␤    expecting any of:␤        method arguments…»
23:40 AlexDaniel m: say .pred« <1 2 3>
23:40 camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mccWJt8OTT␤Unable to parse quote-words subscript; couldn't find right double-angle quote␤at /tmp/mccWJt8OTT:1␤------> 3say .pred« <1 2 3>7⏏5<EOL>␤    expecting any of:␤        method arguments…»
23:40 AlexDaniel :/
23:40 Hotkeys I think it only works for prefixes
23:40 AlexDaniel m: say <1 2 3>».pred
23:40 camelia rakudo-moar 8bd7ee: OUTPUT«(0 1 2)␤»
23:41 AlexDaniel right
23:43 Hotkeys m: say derp.«<1 2 3> # just kidding
23:43 camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MpIYg2dawH␤Unable to parse quote-words subscript; couldn't find right double-angle quote␤at /tmp/MpIYg2dawH:1␤------> 3say derp.«<1 2 3> # just kidding7⏏5<EOL>␤    expecting any of:␤        arg…»
23:43 AlexDaniel m: say (1, 1 .. *)[^5]
23:43 camelia rakudo-moar 8bd7ee: OUTPUT«(1 1..Inf Nil Nil Nil)␤»
23:43 AlexDaniel xD
23:44 AlexDaniel m: say (1, 1 … *)[^5]
23:44 camelia rakudo-moar 8bd7ee: OUTPUT«(1 1 1 1 1)␤»
23:44 AlexDaniel what's the shortest way of creating an infinite list with the same number?
23:44 AlexDaniel 1,1…∞ is 5 characters, that's too long
23:45 raiph m: say 1 xx *
23:45 camelia rakudo-moar 8bd7ee: OUTPUT«(...)␤»
23:45 Hotkeys ^^^
23:45 skids m: (1 xx *)[0..4].perl.say
23:45 camelia rakudo-moar 8bd7ee: OUTPUT«(1, 1, 1, 1, 1)␤»
23:46 Hotkeys I was too busy trying to find the infinity symbol on my phone
23:46 AlexDaniel nice!
23:46 AlexDaniel but that's 6… :)
23:46 AlexDaniel ok 5 if you omit space between xx and *
23:46 mscha m: say ∞;
23:46 camelia rakudo-moar 8bd7ee: OUTPUT«Inf␤»
23:46 AlexDaniel m: say (1 xx ∞)[^5]
23:46 camelia rakudo-moar 8bd7ee: OUTPUT«(1 1 1 1 1)␤»
23:46 Hotkeys It's less if you count bytes instead of chars I think :p
23:47 mscha m: say (^∞).reverse;
23:47 camelia rakudo-moar 8bd7ee: OUTPUT«Cannot reverse a lazy list␤  in block <unit> at /tmp/TMzmnxkPEa line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/TMzmnxkPEa line 1␤␤»
23:47 Hotkeys Lol
23:47 geekosaur waddaya want, it's already shorter than haskell's `repeat 1` :p
23:47 Hotkeys m: (1 for Inf)
23:47 camelia rakudo-moar 8bd7ee: OUTPUT«WARNINGS for /tmp/I0JnsFTNlP:␤Useless use of constant integer 1 in sink context (use Nil instead to suppress this warning) (line 1)␤»
23:48 Hotkeys Ugh
23:48 AlexDaniel m: say (1 for ^∞)[^5]
23:48 Hotkeys Rip
23:48 skids for is eager.
23:49 camelia rakudo-moar 8bd7ee: OUTPUT«(timeout)»
23:49 Hotkeys I thought it would be
23:49 Hotkeys Had to try
23:51 mscha m: (^Inf).join.say;
23:51 camelia rakudo-moar 8bd7ee: OUTPUT«...␤»
23:51 mscha huh?
23:51 Hotkeys m: say ((1..*)»⁰)[^5] # just curious
23:51 Hotkeys Aw
23:52 camelia rakudo-moar 8bd7ee: OUTPUT«(timeout)»
23:52 Hotkeys m: say [\**] 1..* »,» 0
23:52 camelia rakudo-moar 8bd7ee: OUTPUT«List on left side of hyperop of infix:<,> is known to be infinite␤  in block <unit> at /tmp/wQyFLjSMSC line 1␤␤»
23:52 Hotkeys Darn
23:53 Hotkeys I'm silly anyway
23:53 Hotkeys That's a reduction
23:53 * RabidGravy emulates private multis for all the fun of the fair
23:53 Hotkeys Is there a way to zip with repetition
23:53 Hotkeys Or rather like
23:53 Hotkeys How hyoer extends the list if its on the pointy side
23:54 raiph mscha: Were you expecting a timeout? Perl 6 has some pragmatic (not algebraic) knowledge about things being infinite and uses that to try to be helpful
23:54 Hotkeys I'm sure zip is eager too but just checkinf
23:55 skids m: (^∞ Z ^∞)[0..2].perl.say # not eager
23:55 camelia rakudo-moar 8bd7ee: OUTPUT«((0, 0), (1, 1), (2, 2))␤»
23:57 Hotkeys well then
23:57 Hotkeys so many surprises

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

Perl 6 | Reference Documentation | Rakudo