»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:03 Guest65773 left
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:05
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:06
00:10 vendethiel left 00:15 addison joined 00:16 vendethiel joined
[Coke] sevvie: I have too much shit to keep track of already. 00:22
sevvie [Coke]: aye, understood. Thanks for letting me know!
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 firstdayonthejob left
[Coke] tools, I mean. 00:24
jdv79 its tiring and demotivating to go out and poll 10 things
idk
froze up again:( /home/jdv/.perl6/2015.12-230-g2e17820/precomp/.lock 00:30
who knows about this stuff?
well, first up would be nice to be able to read filenames that mean something instead of tracing procs 00:31
is anyone working on readable filenames in the cur stuff?
00:39 vendethiel left 00:40 virtualsue left 00:42 geekosaur left 00:44 geekosaur joined 00:47 Cabanossi left 00:55 Vitrifur joined, patrickz left 01:00 Actualeyes joined 01:04 kurahaupo joined 01:07 yeahnoob joined 01:08 Vitrifur left 01:09 kurahaupo left 01:12 wamba left
azawawi atom.io/packages/atom-perl6-editor-tools # run Perl 6 tests in atom :) 01:24
dalek osystem: 9ce68a6 | (Shoichi Kaji)++ | META.list:
rename username
01:27
osystem: 37d9d2f | (Shoichi Kaji)++ | META.list:
META.info -> META6.json
osystem: d8de336 | (Aleks-Daniel Jakimenko-Aleksejev)++ | META.list:
Merge pull request #142 from skaji/rename

Fix urls of some modules (github username was changed)
01:29 khw joined 01:36 azawawi left 01:38 dolmen left 01:46 nightfrog is now known as culb 01:48 yqt left 01:50 captain-adequate left 01:55 addison left
ugexe jdv79: the workaround is to do -IfakeDir as the first include when launching the proc 02:07
so that it precomps into 'fakeDir', so when the proc tries to read the default .precomp directory its not locked (fakeDir will be) 02:09
02:10 maybekoo5 joined, addison_ joined
ugexe zef uses `-Ilib/.precomp` to hide it under `lib/.precomp/.precomp` 02:11
p6doc fails to declare its dependencies on Panda::Installer, Panda::Builder, Shell::Command, File::Find, and JSON::Fast 02:12
02:18 vendethiel joined 02:32 abaugher left 02:33 abaugher joined, Cabanossi joined 02:36 molaf_ joined 02:38 xpen joined, vendethiel left 02:40 molaf left 02:41 johan left, johan joined 02:45 kid51 joined 02:46 johan left 02:47 araujo_ joined 02:48 xpen left 02:49 araujo_ left, araujo_ joined, johan_ joined 02:50 araujo left, addison_ left 02:51 araujo_ left, araujo_ joined 02:53 araujo_ left 02:54 araujo_ joined 02:56 protium joined, johan joined, johan_ left 03:03 vendethiel joined
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.
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:08 psy_ left
Hotkeys yeah 03:11
AlexDaniel++ 03:12
03:16 Actualeyes left 03:18 Herby_ joined
Herby_ Evening, everyone! 03:18
\o
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 03:19 Welton left
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
Hotkeys Perl 5/6ths? 03:21
AlexDaniel Hotkeys: :) 5 or 6
Hotkeys just joking :p
Is there any chance we could get √ as an op for sqrt? 03:22
seems to fall in line with the other magical unicode stuff
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
AlexDaniel Hotkeys: gist.github.com/AlexDaniel/c89bd2786f9b63f31e4c
Hotkeys AlexDaniel++
AlexDaniel Hotkeys: this is just a small list that I've assembled over the times. There are no pull requests or anything 03:23
Hotkeys: so feel free to pick the one that you like and implement it
Hotkeys what does #| do
AlexDaniel Hotkeys: it's javadoc-like kinda thingies
Ben_Goldberg m: sub prefix<√> ($N) { return sqrt($N) }; say √ 121;
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?
Ben_Goldberg m: sub prefix<√> ($N) { return sqrt($N) }; say √(121);
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␤»
perlawhirl for @list → $item {}
AlexDaniel perlawhirl: oh right, forgot about it
I'll add it
03:24 mkj joined
Hotkeys I like the idea of subscripts allowed in vars 03:24
Ben_Goldberg m: sub prefix:<√> ($N) { return sqrt($N) }; say √(121); 03:25
camelia rakudo-moar 172a92: OUTPUT«11␤»
03:25 protium left
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
Hotkeys I know Ben_Goldberg
I'm just doing some codegolf right now
so that would hurt my byte count
:p
Ben_Goldberg Ahh, I see.
AlexDaniel perlawhirl: not that any other example on this page is easier to explain: gist.github.com/AlexDaniel/1e2d1c50963d37c5d43a 03:26
03:26 vendethiel left
perlawhirl i know 03:27
tho the head/tail ones are fairly understandable if you know about perl's $_
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 :)
perlawhirl Herby_: i've looked about, can't find any
03:28 Vitrifur joined
perlawhirl certainly not on the fosdem website... and i didn't find any on youtubes 03:28
Herby_ perlawhirl: ok thanks
perlawhirl i guess we'll just have to be patient
AlexDaniel perlawhirl: also 「@e - $_」 is rather tricky
perlawhirl: oh right, and the whole thing is a list comprehension… 03:30
perlawhirl you can get a lot more explicit about things 03:31
m: for 1..^@a.elems -> $i { say @a.head($i), @a.tail(@a.elems - $i); }
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
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␤»
perlawhirl m: my @a = 'a'..'c'; for 1..^@a.elems -> $i { say @a.head($i), @a.tail(@a.elems - $i); }
camelia rakudo-moar 172a92: OUTPUT«(a)(b c)␤(a b)(c)␤»
perlawhirl using .elems removes a lot of ambiguity
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); }
camelia rakudo-moar 172a92: OUTPUT«(a)(b c)␤(a b)(c)␤»
AlexDaniel perlawhirl: though you are not getting a list or seq back anymore :)
by the way 03:33
perlawhirl well for that you need to do things more like a list comp, ie postfix for loop
AlexDaniel how to “return” something without “return” keyword?
perlawhirl ie, for (@a[^$_, $_..*] for 1..^@a) -> (@first, @last) { ... }
AlexDaniel perlawhirl: just enclose it in ( ) and that should work
03:34 noganex_ left
perlawhirl AlexDaniel: just like perl5... the last expression evaluated should return implicitly 03:34
03:34 Ben_Goldberg left
AlexDaniel perlawhirl: yes, of course. But what if I want to be explicit? 03:34
perlawhirl you mean like golang's pre-defined return thingy? 03:35
kinda like that?
AlexDaniel I don't know that much about golang
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 { #`􏿽xE2􏿽x8C􏿽xA9return􏿽xE2􏿽x8C􏿽xAA @a.head($i), @a.tail(@a.elems - $i); })
camelia rakudo-moar 172a92: OUTPUT«(((a) (b c)) ((a b) (c)))␤»
perlawhirl head implodes
AlexDaniel perlawhirl: ok look
m: my @a = ‘a’..‘c’; say (for 1..^@a.elems -> $i { return @a.head($i), @a.tail(@a.elems - $i); })
camelia rakudo-moar 172a92: OUTPUT«Attempt to return outside of any Routine␤ in block <unit> at /tmp/0oI2IPwELU line 1␤␤»
Hotkeys m: my &f = {sqrt [+] ($_²for @^a Z-@^b)}; say f([1,2],[3,4]) 03:37
camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
Hotkeys ayy
03:37 protium joined
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
:p
perlawhirl wait... so, what happens if you just remove return 03:39
m: my @a = ‘a’..‘c’; say (for 1..^@a.elems -> $i { @a.head($i), @a.tail(@a.elems - $i); })
camelia rakudo-moar 172a92: OUTPUT«(((a) (b c)) ((a b) (c)))␤»
Hotkeys ++ 03:40
why be explicit?
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:42
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
AlexDaniel Hotkeys: you can't use return 03:44
Hotkeys oh I see
i missed the example 03:45
03:45 kid51 left
Hotkeys idk 03:46
AlexDaniel m: for ^5 { .say; leave }
camelia rakudo-moar 172a92: OUTPUT«0␤leave not yet implemented. Sorry. ␤ in block <unit> at /tmp/eRY146_xrJ line 1␤␤»
Hotkeys I tend to use implicit return most places even if it makes me a bad person
perlawhirl i still use it sometimes, usually when it's obvious, ie, the last operation in the sub is an assignment 03:47
but like i said, reading Perl Best Practices changed a lot of my habits, and i think for the better 03:48
03:48 bowtie_ left
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.
AlexDaniel Usually I don't place a semicolon in this case. This makes it more explicit (ha!)
03:49 bowtie joined, neilb left 03:50 bowtie is now known as Guest98990
AlexDaniel ok, so it seems like 「leave」 is the answer to my question 03:50
From S06: &?ROUTINE.leave(1,2,3); # Return from current sub. Same as: return 1,2,3
03:51 neilb joined
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
m: say (.² for ^5)
camelia rakudo-moar 172a92: OUTPUT«(0 1 4 9 16)␤»
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
Hotkeys m: my &f = {sqrt [+] (.²for @^a Z-@^b)}; say f([1,2],[3,4])
camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
Hotkeys sweet
AlexDaniel++
AlexDaniel m: my &f = {sqrt [+] (@^a Z-@^b)»²}; say f([1,2],[3,4]) 03:55
camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
AlexDaniel Hotkeys: ↑ shorter
Hotkeys sonofa
I always don't use hyper
because everyone's like 03:56
"Don't use hyper"
perlawhirl my &f={sqrt [+] (@^a Z-@^b)»²};say f([1,2],[3,4])
m: my &f={sqrt [+] (@^a Z-@^b)»²};say f([1,2],[3,4])
camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
Hotkeys I don't need to golf the whole thing
perlawhirl strippin' whitespace
Hotkeys just the block
perlawhirl hah i know
Hotkeys :p
03:56 mkj left
perlawhirl i just wanted to win something :( 03:56
AlexDaniel Hotkeys: don't use hyper? Why?
Hotkeys I don't even remember 03:57
AlexDaniel I have a few bug reports about .hyper but not about »
Hotkeys I used to use it for that kind of thing
AlexDaniel » should work (or so it seems…)
Hotkeys and was discouraged for some reason
AlexDaniel Hotkeys: let me guess
Hotkeys do you mind if I steal the hyper bit for my codegolf response :p 03:58
AlexDaniel m: ^10»²».say
camelia rakudo-moar 172a92: OUTPUT«WARNINGS for /tmp/uqkKYU16h6:␤Useless use of "^" in expression "^10»²».say" in sink context (line 1)␤100␤»
AlexDaniel Hotkeys: this?
now it warns you correctly! How cool is that!
Hotkeys oh
fancy
AlexDaniel Hotkeys: that's the reason why it could've been discouraged in some particular case 03:59
Hotkeys probably
AlexDaniel » returns the data in order, but it may processes it in parallel
so you shold not ».say stuff like this
Hotkeys ah
AlexDaniel but now it gives you a warning so ther's no problem 04:00
Hotkeys seems reasonable
perlawhirl what is 'sink context'? can someone give me the idiots summary
AlexDaniel m: my &f = {sqrt [+] (@^a Z-@^b)»²}; say f([1,2],[3,4])
camelia rakudo-moar 172a92: OUTPUT«2.82842712474619␤»
AlexDaniel m: my &f = {sqrt [+](@^a Z-@^b)»²}; say f([1,2],[3,4])
camelia rakudo-moar 172a92: OUTPUT«1␤»
AlexDaniel perlawhirl: you're returning a value but it goes nowhere 04:01
m: 5
camelia rakudo-moar 172a92: OUTPUT«WARNINGS for /tmp/ar7sxaTC4U:␤Useless use of constant integer 5 in sink context (line 1)␤»
AlexDaniel m: my $x =5
camelia ( no output )
perlawhirl ok... goes down the sink :)
AlexDaniel perlawhirl: yeah. Most of the time it means that you have a problem 04:02
e.g. ».say example above
perlawhirl i have a problem?! back off, pal, you don't know me!
jk
Hotkeys lol
I hate when code-golf requires a full program
and I have to whip out @*ARGS[x] 04:03
so many characters
is there a shorter way?
04:04 risou is now known as risou_awy
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
geekosaur which also gives you option processing and a usage message
Hotkeys I would if it were shorter
perlawhirl he's golfing... i don't think he needs a usage mesasge :D 04:06
Hotkeys ++
AlexDaniel Hotkeys: you may also use stdin instead of args sometimes
which means that you can just 「slurp」
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…»
geekosaur is not sure that optimizing for code golf should be a language objective
Hotkeys oh
jdv79 35 locked pandas. woohoo. clearly that fix didn't work.
Hotkeys geekosaur: no i know I was just wondering if there was any existing ways
to golf it up
AlexDaniel: neat
perlawhirl fore!
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
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…»
Hotkeys this isn't lorem ipsum in gaelic is it
oh
it's a song 04:09
perlawhirl Hotkeys: if you need to process lines, that should work too
m: say lines
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:10
04:10 bpmedley left, cpage left 04:11 yurivish_ joined
Herby_ newbie question here... what is a good way to append/remove from a json file in perl 6? 04:11
04:11 cpage joined
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:12 clkao left, huggable left, skarn left, lnrdo left, integral left, solarbunny left 04:13 yurivish left, Juerd left, mindos left, integral joined, integral left, integral joined, mindos joined, Juerd joined, yeahnoob left, samb1 left, Hotkeys left 04:14 Hotkeys joined, samb1 joined
Hotkeys what happened there 04:14
Herby_ i asked a question. people bailed
diakopter netsplit; glitch in the matrix
Hotkeys lol
Herby_ :) 04:15
Hotkeys m: say pop
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␤»
Hotkeys darn
04:15 solarbunny joined
geekosaur the kiddies are out in force already. someone was ddos-ing linode a couple hours ago 04:15
pronably hitting freenode too 04:16
04:16 lnrdo joined 04:17 risou_awy is now known as risou
AlexDaniel Herby_: not if you have a root element. Otherwise just append to a file and it should work fine 04:18
04:18 sftp_ joined
Herby_ AlexDaniel: thanks 04:18
04:18 lucs_ joined, breinbaa1 joined 04:19 richi235 left, sftp left, breinbaas left, lucs left, lnx left, Fleurety left, sftp_ is now known as sftp, Hor|zon left, Util_ left, tinita left, ranguard left, jnthn left, sivoais left, arnsholt left, dindinx left, japhb left, arnsholt joined, tinita joined, ranguard joined
AlexDaniel Herby_: you'd have to read the whole file to remove something though 04:19
04:19 lnx joined, jnthn joined, richi235 joined, japhb joined, dindinx joined
perlawhirl whole goddamn platoon's droppin' like flies! 04:19
04:19 skarn joined
AlexDaniel it's raining men! 04:19
04:20 Hor|zon joined, Util joined
AlexDaniel Herby_: if you don't want it simple then perhaps you should also consider using a database system 04:20
e.g. sqlite
04:20 sivoais joined
Herby_ That's what I was looking at as well, but I have very little db experience 04:21
but to be fair, i havent messed with a whole lot of json either :)
04:21 yeahnoob joined
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
Herby_ not complicated. just an OO learning exercise in Perl 6 04:22
create an app where I can create journal entries, tag them, search them
skids 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
AlexDaniel skids: ```perl6 should give you perl6 syntax highlighting in md files 04:24
perlawhirl skids: i don't understand this module, but your readme makes me laught 04:25
skids Was wondering ow to turn that on.
I figured we needed somethng Superbowl themed, as much as I am bored by sports. 04:26
04:29 sivoais left 04:31 sivoais joined 04:32 mkj joined
Hotkeys I don't understand what this module does either 04:33
oh 04:35
I see
there is documentation in the code
skids Yeah the README was a rush job so I could get to bed. 04:36
Herby_ I'm assuming DBIish is the go-to for dealing with sqlite? 04:37
Hotkeys The C<bail> statement places the block following it onto the 04:40
C<LEAVE> queue
The C<trail> statement is the same, but places the closure on the
LEAVE queue
what is the difference here
04:40 sivoais left, bxoekk joined
skids Oh. bail is UNDO. 04:40
04:40 Herby_ left 04:41 sivoais joined, bxoekk left
Hotkeys ah 04:42
04:44 Actualeyes joined
skids fixes. now bed. 04:49
04:50 sivoais left 04:52 maybekoo5 left, sivoais joined 05:00 sivoais left 05:02 sivoais joined 05:04 zengargoyle left 05:06 perlawhirl left 05:08 sivoais left 05:09 molaf_ left 05:18 skids left, AlexDaniel left 05:22 neilb left 05:23 neilb joined, zengargoyle joined
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 :)
masak ely-se++ 05:28
05:29 mohae left, mohae joined
masak is on vacation, and is hoping to have some 007 time in the near future 05:29
05:31 sivoais joined 05:33 davido joined 05:35 Amnez777 left 05:37 davido left 05:40 sivoais left 05:41 sivoais joined 05:43 psy_ joined 05:48 sivoais left, khw left 05:49 Cabanossi left
MadcapJake Here's the basic issue submitter design 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 also 05:51
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 05:52 Cabanossi joined 05:58 Amnez777 joined, Amnez777 left
masak I like the fact that it enforces the "observable triplet" 05:58
05:58 Amnez777 joined, Amnez777 left 05:59 Amnez777 joined, Amnez777 left, Amnez777 joined
masak it seems to me that a lot of the grey help text could be placeholder text in the actual form fields instead 06:00
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:01
Gonna work on some of the internals now, will hold that for round two design updates 06:03
06:03 mkj left 06:12 CurtisOvidPoe joined 06:22 DoverMo joined, sivoais joined
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
DoverMo any +1's ? 06:25
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:28
DoverMo aw 06:29
06:31 mkj joined, sivoais left 06:32 sivoais joined 06:34 sivoais left 06:36 CIAvash joined 06:45 johan left, johan_ joined 06:50 sivoais joined 06:51 Actualeyes left 06:52 DoverMo left 06:54 geraud left, protium left 06:56 mkj left
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:56
news.discovery.com/animals/whales-d...120502.htm 06:58
06:59 sivoais left 07:00 sivoais joined
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:01
also being playful and chirpy 07:02
07:04 protium joined 07:05 broquaint left, domidumont joined 07:07 Actualeyes joined 07:08 domidumont left, dolmen joined 07:09 sivoais left, domidumont joined 07:11 sivoais joined, sjoshi joined 07:19 sivoais left 07:21 sivoais joined 07:23 _Gustaf_ joined 07:26 RabidGravy joined
MadcapJake TEttinger++ that's amazing! 07:26
07:28 protium left, CurtisOvidPoe left 07:29 sivoais left
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:30
07:31 sivoais joined
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:31
07:33 mr-foobar joined 07:34 araujo_ left 07:36 darutoko joined 07:37 araujo_ joined 07:38 mr-foobar left 07:39 mr-foobar joined, sivoais left 07:41 sivoais joined 07:42 nakiro joined
MadcapJake definitely some interesting parallels, and a pink dolphin would definitely be in the same vein as camelia 07:43
07:44 mr-foobar left, firstdayonthejob joined
dalek kudo/nom: 1097fc0 | donaldh++ | tools/lib/NQP/Configure.pm:
Unbust parse_revision in Configure.pm

This is much less wrong at comparing NQP versions than it was.
07:47
kudo/nom: 8de83d9 | donaldh++ | tools/lib/NQP/Configure.pm:
Better to use // operator.
kudo/nom: 0029a1a | niner++ | tools/lib/NQP/Configure.pm:
Merge pull request #703 from donaldh/parse_revision

Unbust parse_revision in Configure.pm
[Tux] test 23.577 07:48
test-t 12.192
csv-parser 49.600
07:49 sivoais left 07:51 CurtisOvidPoe joined, sivoais joined, mr-foobar joined 07:56 mr-foobar left 07:57 mr-foobar joined 07:59 sivoais left 08:00 kurahaupo_ joined 08:01 kurahaupo_ left, kurahaupo_ joined, sivoais joined, kurahaupo_ left 08:03 CurtisOvidPoe left 08:05 mr-foobar left
baest [Tux]: can you paste the link to the graph (again) 08:06
08:06 mr-foobar joined 08:07 sjoshi left 08:08 nakiro left 08:09 sjoshi joined, sivoais left 08:11 sivoais joined, mr-foobar left 08:12 mr-foobar joined
nine tux.nl/Talks/CSV6/speed4.html and tux.nl/Talks/CSV6/speed5.html 08:13
irclog.perlgeek.de/perl6/search/?ni...amp;q=http 08:14
baest nine: thanks!
08:16 mr-foobar left 08:19 sivoais left 08:20 mr-foobar joined 08:21 sivoais joined 08:24 Actualeyes left 08:26 dolmen left, nakiro joined, neilb left 08:29 rindolf joined, sivoais left
RabidGravy BOOM! 08:32
08:32 sivoais joined
timotimo what booms? 08:33
RabidGravy Well just now the drums in Underworld's Born Slippy 08:37
timotimo oh
08:39 firstdayonthejob left 08:41 brrt joined 08:42 nebuchadnezzar left 08:43 sivoais left 08:44 sivoais joined
brrt what do i actually have to do to get the nice postfix array deref syntax of perl5 08:49
use feature qw(postderef); 08:50
hmm cool
not very practical, but nevertheless cool :-)
08:55 sivoais left
RabidGravy I just realised in the last year I wrote ~15K lines of Perl 6 and less than a hundred of Perl 5 08:55
08:56 sivoais joined
moritz cool 08:56
so a factor 150 :-) 08:57
DrForr Uh, wait a minute, isn't that 150 thousand? :) 08:58
moritz m: 15_000 / 100
camelia rakudo-moar 0029a1: OUTPUT«WARNINGS for /tmp/VDKr2FdKAL:␤Useless use of "/" in expression "15_000 / 100" in sink context (line 1)␤»
moritz m: say 15_000 / 100
camelia rakudo-moar 0029a1: OUTPUT«150␤»
DrForr Yes, I do know the actual number, it's just one of those damn memes running around. 08:59
moritz oh
I'm oblivious to this one, I think
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
09:00 nebuchadnezzar joined
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
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.
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
nine Especially after it worked the same way last year
DrForr Oof. Okay, later then. The callback bit really is trivial compared to the serialization code.
09:07 abraxxa left, abraxxa1 joined 09:08 sivoais left
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
nine lizmat: I'd say it should as Stash is a Perl 6 object while atkey expects an nqp::hash 09:09
09:09 sivoais joined
lizmat nine: I'm getting "Lexical with name '&USAGE' does not exist in this frame" on an nqp::atkey 09:09
nine That sounds...odd 09:10
timotimo that sounds like we're failing in the code gen
09:10 virtualsue joined
lizmat well, perhaps... but it's blocking a very nice optimization :-) 09:10
nine src/Perl6/ModuleLoader.nqp has a stash_hash sub
brrt aye, i see 09:11
09:11 mkj joined
timotimo Total number of videos currently available: 64 09:11
la la la ... 09:12
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
nine timotimo: yes, stash_hash uses .FLATTENABLE_HASH which just returns $!storage
timotimo ah
lizmat: as i said, it seems more like something is emitting faulty code 09:14
lizmat timotimo nine : gist.github.com/lizmat/f106496445b055c4437e
timotimo well, Stash has its own AT-KEY, which overrides Map's 09:15
lizmat simplest test case: perl6 --ll-exception 'sub MAIN($foo) { }'
timotimo i'll have a look 09:16
lizmat perhaps callframe.my doesn't return a stash 09:17
nine I really can't see anything wrong with your patch
lizmat nine: me neither :-) 09:18
nine It's also very clear that it should be faster :)
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.
lizmat so it *is* calling the right candidate
timotimo callframe().my returns a Map, it seems 09:20
so ... who is throwing that exception? :)
09:21 sivoais left
lizmat nqp::atkey, afaics 09:21
timotimo it could very well be that the $!storage inside the Map is something special
like, a different REPR from what we usually have in there
09:22 sivoais joined
timotimo and that has a different behaviour regarding missing keys 09:22
09:22 vytas left
lizmat ah, indeed, it has a context as $!storage 09:22
timotimo right 09:23
09:23 wamba joined
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
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?
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
yup, that fixes it 09:25
timotimo could be because it wants to prefer the \key over the Str() $key?
er, huh?
lizmat - my $h := nqp::create(Map);
+ my $h := nqp::create(Stash);
09:25 rindolf left
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)
timotimo yes, yes, that solution does seem sensible 09:26
how much faster is it? :D
lizmat probably in the order again of 25%
but please note, it didn't cost much to begin with 09:27
timotimo mh, right
lizmat so unless you are doing a *lot* of hash/map lookups, you won't notice it much
timotimo jnthn: i pinged you about making at_key not lethal in MVMContext, but that ended up not being necessary in our case
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
that feels wrong
timotimo oh? 09:29
i don't even know if you can just conjure up an MVMContext out of nowhere to put it in there
jnthn YOu can't Just Create a context.
yoleaux 09:08Z <lizmat> jnthn: could it be that nqp::atkey throws an error when called on a Stash, rather than returning null ?
lizmat yeah, which is probably the reason it creates a hash
jnthn Yeah
timotimo yeah, it takes an MVMFrame in its body
jnthn Actually nearly every Stash you'll see has an MVMHash inside of it. 09:30
timotimo also, ohai jnthn :)
jnthn It's PseudoStash that tends to have the MVMContext
morning :)
lizmat jnthn : morning!
octoploid Is there a way to get a persistent REPL history?
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:31
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()...
lizmat jnthn: can you live with this change? gist.github.com/lizmat/6d3da10f0d686a69a04e
09:33 sivoais left
DrForr Ah, per-session? You'd need to preserve the history elsewhere. 09:33
(that's what .bash_history &c are for.)
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
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
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&
jnthn lizmat: So long as we don't end up trying to magically auto-viv things in there
lizmat: That is, that ... .my<something> 42 doesn't magically work somehow 09:36
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:36 mkj left
jnthn otoh we probably don't have any tests for the type there at all yet :P 09:37
09:38 ocbtec joined
jnthn lizmat: The other option may be to set it up as a PseudoStash 09:41
Since that's what MY:: gives
Also
I have a horrible feeling that callframe(n).my doesn't restrict what you see to things marked "is dynamic" 09:42
09:43 araujo_ left 09:44 sivoais left 09:45 _mg_ joined 09:46 sivoais joined
jnthn meeting & 09:47
timotimo it probably doesn't restrict that, yeah 09:49
i don't think there's any code anywhere to do that
09:50 kjs_ joined, maybekoo5 joined 09:56 sivoais left 09:58 sivoais joined 10:02 abraxxa1 is now known as abraxxa 10:03 vytas joined 10:09 sivoais left 10:10 sivoais joined 10:13 CIAvash left 10:21 sivoais left 10:22 sivoais joined, donaldh joined 10:25 zakharyas left 10:27 kurahaupo joined 10:28 Amnez777 left 10:30 ocbtec left 10:32 rindolf joined
dalek kudo/nom: 241e6c0 | donaldh++ | tools/build/NQP_REVISION:
Bump NQP revision to get stat_time on JVM.
10:33
kudo/nom: 4ca1591 | donaldh++ | src/core/Rakudo/Internals.pm:
Use stat_time on JVM.
kudo/nom: f99bdbe | niner++ | / (2 files):
Merge pull request #705 from donaldh/stat_time

Use stat_time on JVM
10:33 Amnez777 joined, Amnez777 left, sivoais left 10:34 Amnez777 joined, Amnez777 left, sivoais joined, Amnez777 joined, Amnez777 left 10:35 Amnez777 joined, Amnez777 left 10:36 Amnez777 joined, Amnez777 left, Amnez777 joined, Amnez777 left 10:38 nchambers left, aindilis` joined 10:39 emdashcomma left, gregf_ left 10:40 a3r0 left, aindilis left, gregf_ joined, ocbtec joined 10:41 emdashcomma joined, a3r0 joined 10:42 nchambers joined, drrho left 10:43 drrho joined 10:45 ocbtec left, sivoais left 10:46 ocbtec joined 10:47 sivoais joined, kurahaupo left, kurahaupo joined, jojotus left 10:49 perlawhirl joined 10:51 vendethiel joined
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:53
not completely sure I got the "sticky bit" part right but hey 10:54
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
i will look at your source to see how you did it :D
10:55 petercommand left 10:58 sivoais left
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
10:59 sivoais joined, broquaint joined
perlawhirl hmm, how do i update modules with panda 10:59
11:00 RabidGravy left 11:02 petercommand joined
perlawhirl RabidGravy... it seems your stringy method doesn't like setuid/setgid 11:02
RabidGravy: execute... not executable 11:04
i meant to tell you about that... it's wrong in your docs
brrt lunch & 11:05
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
i had it complain about 'module already installed' before so i presumed there was an update option 11:07
presumptions rarely work out :D
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.
Of course that requires module authors to actually increase their version numbers. If they don't, please tell them to. 11:09
We really need a change of culture here.
timotimo right, we do
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
11:10 sivoais left
perlawhirl had to ack the files to find out which one was the right one, delete it and try install again 11:10
11:10 TEttinger left
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
nine perlawhirl: please report such issues here. Otherwise we can't fix bugs like that. 11:12
11:13 vendethiel left 11:16 xtreak joined
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:17
11:18 dindinx left, dindinx joined
timotimo xtreak: have you tried using Grammar::Trace or Grammar::Debugger yet? 11:18
DrForr The parser will return Any.
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
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
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.
jnthn || <.panic: "Invalid statement">
And defined a method panic($message) { ... }
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:21 mr-foobar left 11:22 sivoais left
xtreak I get the error like this when I clone NQP and build moar with "perl Configure.pl --gen-moar". Error : pastebin.com/19ey5ras 11:23
timotimo huh, wtf
11:23 sivoais joined
xtreak Thanks jnthn. I short pastebin will help me in playing around with things. 11:24
11:25 kurahaupo left, wamba left, wamba joined
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:27 ocbtec left
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:31
11:32 pmurias joined
timotimo if you already have a moar-nom, why would you even need to build another nqp? 11:32
pmurias hi
jnthn xtreak: That looks like the build output rather than the installed moar 11:33
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 wamba left, ocbtec joined 11:35 sivoais left
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:36
11:37 sivoais joined, kaare_ joined 11:39 virtualsue left 11:42 orbus left, rindolf left
kaare_ hi, who wrote this? p6weekly.wordpress.com/2016/01/25/...waiting-4/ 11:46
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 11:48 sivoais left
perlawhirl timo: ↑ 11:49
kaare_ Judging by the name of the blog, it'd probably be lizmat I should ask.
perlawhirl no it's timotimo 11:50
lizmat but I wrote that
perlawhirl oooh
moritz lizmat and timotimo both have access to that blog, and take turns more or less
11:51 sivoais joined
lizmat kaare_ : which name should I use ? 11:51
just kaare?
kaare_ Could you correct it to Kaare Rasmussen, would I be happy
lizmat updated 11:52
11:52 ocbtec left, vendethiel joined
lizmat sorry for the confusion 11:52
11:53 ocbtec joined
kaare_ Super! lizmat++ 11:53
11:53 Amendil joined 11:55 donaldh left 11:56 donaldh joined
jnthn My final report from Perl 6 Release Goals grant has been posted: news.perlfoundation.org/2016/02/per...l-gra.html 11:57
(donors who made it possible)++
12:00 maybekoo5 left
nine jnthn++ # reminding me to start our monthly donations 12:01
12:02 sivoais left
lizmat jnthn: making it a PseudoStash is a no go 12:03
$ 6l 'sub MAIN($foo) { }'
getlexrel needs a context
12:03 sivoais joined
jnthn But...you had a context? :) 12:03
12:04 orbus joined
jnthn wonders if a Scalar container sneaked in the way somewhere... 12:04
lizmat ah, ok, lemme check 12:05
ah, no, because PseudoStash has more attributes, and they are not getting initialized in CallFrame.new 12:07
jnthn aha 12:08
12:09 espadrine_ joined, espadrine_ is now known as espadrine 12:11 Chandini joined
Chandini hi 12:12
msg camelia
say 3
p6: say 3
camelia rakudo-moar f99bdb: OUTPUT«3␤»
gfldex m: say "hi Chandini!"; 12:13
camelia rakudo-moar f99bdb: OUTPUT«hi Chandini!␤»
Chandini How to start
gfldex you could try perl6intro.com/ 12:14
12:14 sivoais left 12:15 sivoais joined
brrt jnthn++ good read : -) 12:15
donaldh There's a massive chunk of BOOTSTRAP.nqp that is currently moar specific 12:19
12:19 fireartist joined
donaldh Is it needed for JVM? In other words, is it worth me implementing nqp::capturenamedshash on JVM? 12:20
jnthn donaldh: Well, we have a choice. 12:21
donaldh: At the moment the JVM equivalent of that code is written in Java.
But on JVM it's more performance critical than on Moar 12:22
'cus on JVM we don't yet support bind lowering.
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.
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.
And it could potentially be a big runtime speedup
donaldh is not sure what bind lowering is
jnthn Basically, we compile a bunch of signatures into QAST nodes
Rather than interpreting the signature
We can't do it for really complex ones 12:24
But can for all the common ones
It happens in Actions.nqp
12:24 xtreak left 12:26 sivoais left
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
jnthn pmurias: Think so, since it's an nqp:: op 12:27
lunch &
nine donaldh: look for use_vm_binder 12:28
donaldh nine: got it thanks. 12:29
also lunch&
12:30 Skarsnik joined, aindilis` left 12:35 vendethiel left 12:38 kid51 joined, vendethiel joined 12:39 sivoais left, sivoais joined 12:42 skids joined 12:46 kjs_ left 12:48 skids left 12:49 mohae_ joined, brrt` joined 12:50 kid51 left 12:51 sivoais left, Rotwang_ is now known as Rotwang, Rotwang left, Rotwang joined, sivoais joined 12:52 ZeroDogg joined, ZeroDogg left, ZeroDogg joined, kanishka joined 12:53 Chandini left 12:54 brrt left, Zero_Dogg left, mohae left, clkao left, samb1 left, ZeroDogg is now known as Zero_Dogg, clkao joined, samb1 joined 12:59 vendethiel left 13:01 breinbaa1 is now known as breinbaas 13:02 sivoais left, sufrostico joined 13:04 sivoais joined 13:06 pyrimidi_ joined
lizmat .tell jnthn is there a reason why uninitialized attributes are not isnull() ? 13:08
yoleaux lizmat: I'll pass your message to jnthn.
lizmat m: class A { has $!a }; use nqp; say nqp::isnull(nqp::getattr(A.new,A,q/$!a/))
camelia rakudo-moar f99bdb: OUTPUT«0␤»
13:08 pyrimidine left
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() ?
brrt` i hold that assembly language in perl6 is easier than in go: goroutines.com/asm 13:11
jnthn There's an nqp::isattrinit or so
lizmat yeah, but that basically means I cannot use nqp::ifnull
13:11 gregf_ left
jnthn Not on attributes, no 13:11
lizmat :-( too bad
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 ocbtec left 13:13 gregf__ joined 13:15 ocbtec joined 13:16 maybekoo5 joined, sivoais left 13:18 sivoais joined 13:21 bjz left, bjz joined
lizmat jnthn: looking at this boilerplate: 13:23
my Mu $storage := nqp::getattr(self, Map, '$!storage');
$storage := nqp::bindattr(self, Map, '$!storage', nqp::hash())
unless nqp::defined($storage);
13:29 sivoais left 13:30 psy_ left, sivoais joined 13:31 ely-se joined 13:33 Actualeyes joined 13:35 ChoHag left, ChoHag joined
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
jnthn In theory, it'll avoid an allocation per hash 13:36
(note, per hash, not per access)
lizmat an other thing: I just noticed Hash.AT-KEY as a Str sig, instead Str:D
if I change it to Str:D, we lose quite a bit of performance :-(
jnthn Yeah, probably best make it Str:D
Oh?
It should make no difference :S
Very odd 13:37
lizmat 25% slower :-(
jnthn Profiler may tell what's up
'fraid I'm a bit tied up with $dayjob at the moment
lizmat ok 13:38
moritz is there a str variant as well?
13:38 rindolf joined
moritz and if yes, doesn't that make the Str variant redundant? 13:39
lizmat moritz : yes, there's a str
m: sub a(Str $a) { }; for ^1000000 { a("foo") }; say now - INIT now
camelia rakudo-moar f99bdb: OUTPUT«0.2583536␤»
lizmat m: sub a(Str:D $a) { }; for ^1000000 { a("foo") }; say now - INIT now
camelia rakudo-moar f99bdb: OUTPUT«0.48564677␤»
lizmat m: sub a(Str:D $a) { }; for ^1000000 { }; say now - INIT now
camelia rakudo-moar f99bdb: OUTPUT«0.25334126␤»
lizmat m: sub a(Str $a) { }; for ^1000000 { }; say now - INIT now 13:40
camelia rakudo-moar f99bdb: OUTPUT«0.25297848␤»
lizmat so I'd say the Str:D makes quite a significant difference
jnthn Indeed...but why...
jnthn suspects something silly is going on :) 13:41
13:42 sivoais left, kurahaupo joined
moritz maybe it doesn't do the distpatch at compile time with Str:D? 13:42
13:43 sivoais joined
jnthn I'm wondering if we istype the definedness type, rather than picking it apart in signature bind lowering 13:43
lizmat hmmm..looks like the call a a is completely optimized away in the case of the Str 13:45
m: sub a(Str:D $a) { }; for ^1000000 { my $a = a("foo") }; say now - INIT now # better benchmark
camelia rakudo-moar f99bdb: OUTPUT«0.593814␤»
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␤»
lizmat m: sub a(Str $a) { }; for ^1000000 { my $a }; say now - INIT now # better benchmark
camelia rakudo-moar f99bdb: OUTPUT«0.31736595␤»
13:46 woolfy joined, woolfy left, kurahaupo left 13:48 brrt` is now known as brrt, kjs_ joined
jnthn A benchmark that does it as a method may also be good 13:48
As that rules out the static optimizer doing clever things that it can't in the actual problem case
lizmat the sub "a" simply does not appear in the profile in the Str case 13:49
and it appears 100000 times in the Str:D case
so that explains the difference
jnthn lizmat: In that benchmark, yes, but your original case was a method? 13:52
13:52 zakharyas joined
lizmat yes, testing now 13:54
13:54 sivoais left
lizmat as a class method, it doesn't make a difference 13:55
13:55 sivoais joined 13:56 ely-se left
lizmat as an instance method either 13:56
13:58 octoploid left
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␤␤»
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
donaldh They take the same length of time with --optimize=0 14:02
14:02 ely-se joined
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␤»
donaldh m: my $x = 0; sub a(Str $s) { $x++; }; for ^1000000 { a('foo'); }; say now - INIT now;
camelia rakudo-moar f99bdb: OUTPUT«0.63431186␤»
14:04 FROGGS joined
donaldh or when the sub body is non-trivial 14:05
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 sivoais left
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
masak I guess what I'm asking is whether it's a bug.
14:09 sivoais joined 14:10 perlawhirl left
FROGGS o/ 14:12
14:16 skids joined 14:17 sivoais left, RabidGravy joined
lizmat FROGGS o/ 14:18
FROGGS hi lizmat :o)
14:19 sivoais joined 14:20 vendethiel joined 14:25 wamba joined, sivoais left
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
11:26Z <perlawhirl> RabidGravy: i've submitted a pull request... it's my first one ever. evar!
14:37 perl6newbee joined 14:39 sena_kun joined
flussence
.oO( multi dispatch both looks and acts a lot like CSS... )
14:40
14:42 zakharyas left
RabidGravy :-O 14:43
I'd better add some tests for ^
sena_kun Since Nil is not a 'real' value, the most perl6ish way to represent 'Here is nothing' is empty list?
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:44 rindolf left
lizmat sena_kun: Nil indicates the absence of a value where there could/should be one 14:45
14:45 virtualsue joined
dalek rl6-roast-data: 0320526 | coke++ | / (6 files):
today (automated commit)
14:46
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:47
lizmat m: my $a is default(42) = 666; say $a; $a = Nil; say $a 14:48
camelia rakudo-moar f99bdb: OUTPUT«666␤42␤»
lizmat sena_kun: assigning Nil returns the original state
m: my $a = 666; say $a; $a = Nil; say $a # default default state is Any 14:49
camelia rakudo-moar f99bdb: OUTPUT«666␤(Any)␤»
lizmat sena_kun: does that explain it a bit better ?
hoelzro o/ #perl6 14:50
lizmat hoelzro o/
14:50 sjoshi left
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.
hoelzro, hi. 14:51
hoelzro o/ sena_kun
lizmat m: my $a is default(Nil); say $a
camelia rakudo-moar f99bdb: OUTPUT«Nil␤»
lizmat m: my $a is default(Nil); say $a == Nil
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␤»
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␤»
lizmat yeah, that still won't work
sena_kun lizmat, and "Numeric"(or "String" for 'eq') context warning will be still here.
lizmat m: my $a is default(Nil); my $b is default(42) = 666; say $b; $b = $a; say $b
camelia rakudo-moar f99bdb: OUTPUT«666␤42␤»
14:52 franciskittu joined
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)
camelia rakudo-moar f99bdb: OUTPUT«True␤»
lizmat sena_kun: generally, an absence of an initialization is indicated with definedness
moritz hoelzro: ~/.perl6/rakudo-history
sena_kun MadcapJake, it seems your code did the trick, thanks. 14:54
hoelzro moritz: I would be ok with that.
MadcapJake m: my $a is default(Nil); say $a.defined
camelia rakudo-moar f99bdb: OUTPUT«False␤»
moritz hoelzro: maybe with .readline and .linenoise added, if they have different file formats
lizmat m: my $a; say $a.defined
camelia rakudo-moar f99bdb: OUTPUT«False␤»
lizmat m: my $a = 42; say $a.defined
MadcapJake xD
camelia rakudo-moar f99bdb: OUTPUT«True␤»
hoelzro good point
sena_kun lizmat, thanks. 14:55
Okay then, I will use '.defined' to check. Back to coding... 14:56
14:57 ely-se left 15:02 vendethiel left 15:13 kjs_ left
gfldex docs are not building again 15:15
lizmat gist?
gfldex doc.perl6.org/build-log/build-2016-...0+0000.log
Pod::To::BigPage is working fine so the .pod files should be OK 15:16
lizmat hmmm... doesn't ring a bell... :-( 15:17
gfldex i will try a local build in a bit 15:18
MadcapJake hoelzro: what's "LTA" mean? 15:23
hoelzro MadcapJake: Less Than Awesome
15:23 vendethiel joined 15:24 virtualsue left
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:25
15:26 brrt left, ely-se joined
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
15:27 kjs_ joined
MadcapJake sena_kun: are you providing the path to the module directory? 15:28
sena_kun MadcapJake, of course.
MadcapJake have you tried `panda --force install <path>` 15:29
(note, i believe you do have to place --force before the install subcommand)
sena_kun MadcapJake, yeah. My exact command is 'panda --force install perl6-Compress-hpack/'. 15:30
15:31 yeahnoob left
ugexe i'd look at the .panda_workdir directory or whatever to see if its at least copying your changes over 15:32
h 15:33
sena_kun ugexe, I took a look at internal panda's file(like '.rakudobrew/moar-nom/install/share/perl6/site/sources/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 `/`
./perl6-Compress-hpack/
sena_kun s/panda's file/file panda use to point error/
ugexe at least it used to
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.
ugexe the panda files will be in $*CWD.child('.panda_workdir')
sena_kun: it matters because otherwise its treated as a module/distribution name to search for 15:36
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
MadcapJake ugexe: i was thinking that too, but if it tries to run the tests then surely it's getting somewhere, right? 15:39
or is it getting that far sena_kun ?
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.
ugexe sena_kun: thanks
15:41 ely-se left, AlexDaniel joined, Amnez777 joined, Amnez777 left 15:42 Amnez777 joined, Amnez777 left, Amnez777 joined 15:45 vendethiel left, aindilis joined
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
test(that might fail) everything with reinstall will be okay. But not 'install/failed tests' both.
15:45 fireartist left, xpen joined
sena_kun Sorry for so long message written in poor runglish. 15:45
15:45 Amnez777 left, Amnez777 joined 15:47 franciskittu left
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
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: gist.github.com/lizmat/ce236e35e082aa1db05e
mspo nine: propose changing the VCS and see what happens
lizmat jnthn: could use a sanity check there
jnthn: would be nice if we could get that to work, as it looks it's making hash accesses 2x as fast
afk for some time&
pyrimidi_ nine++ # re: keeping focus on the important things 15:51
15:51 pyrimidi_ is now known as pyrimidine
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.
There is a probability that it's me who 'do it wrong' and get a strange result. 15:53
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:54
15:54 kjs_ left
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
15:56 vendethiel joined
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 maybekoo5 left
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:00
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
nine: "Ticket moved to this url"
nine: likely not worth doing unless RT starts causing serious trouble
hoelzro that's my issue (sorry for the pun); is RT *that* troublesome? 16:03
mspo github issues kind of sucks, though 16:05
16:05 ZoffixW joined
MadcapJake sena_kun: if you're using rakudobrew you could always nuke your install 16:05
16:05 khw joined, musiKk joined
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
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.
mspo MadcapJake: I have a whitepaper describing a "good enough" bug tracker that someone in netbsd's phd club finally wrote
MadcapJake: proving that none of them were sufficiently good :)
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?
mspo probably because you're doing dev on github
jnthn Because people like discussing stuff. Doesn't mean it's going to happen. :-)
ZoffixW :)
jnthn It started out with a "how do we make life better for people submitting bugs"
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
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
16:08 mr-foobar joined
pyrimidine MadcapJake++ # for taking the initiative! 16:08
jnthn Indeed.
ZoffixW MadcapJake++
jnthn I'm all for making it clearer how to submit good bug reports
MadcapJake ZoffixW: agreed, the discussion has certainly gotten OT
ZoffixW :)
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
pyrimidine MadcapJake: yep, that's what happens when I come into the conv midstream :P
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:12 xpen left
pyrimidine MadcapJake: well, looking at backlog has become increasing difficult lately (though for good reasons, community-building++) 16:13
MadcapJake: but definitely awesome work on making bug reporting easier!
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
16:14 FROGGS left, xpen joined 16:16 _Gustaf_ left
dalek c: 7498cae | (Robert Newbould)++ | doc/Language/regexes.pod:
s/than must/that must/
16:17
c: 2ba2245 | (Zoffix Znet)++ | doc/Language/regexes.pod:
Merge pull request #379 from c0nspiracy/patch-1

s/than must/that must/
16:18 vendethiel left 16:19 nakiro left 16:24 cdg joined
mspo fwiw roundup was the only bug tracker possibly flexible enough to satisfy almost anyone's requirements 16:29
but customizing it enough takes tons of work, and it's python so slow-as-hell 16:30
16:30 _mg__ joined
mspo github has basically killed all development of open source infrastructure/hosting suites 16:31
jast I don't think so. there's gitlab, for instance, though that's commercially driven, too 16:32
it's just that writing a good bug tracker is not easy
flussence gitlab's also slow-as-hell, but I do like its issue tracker interface more than githubs 16:33
16:34 xpen left, _mg_ left, _mg__ is now known as _mg_
flussence (one nice thing they added recently: buttons to tally single-emoji replies so they don't need to clutter up a discussion) 16:35
16:37 virtualsue joined, FROGGS joined 16:39 Sgeo_ joined 16:40 Sgeo left 16:41 _mg_ left 16:42 _mg_ joined
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:43
ZoffixW Skarsnik, tickets that you created you mean? 16:44
Skarsnik Yes
(and the half translation is annoying too, but whatever)
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
moritz I think "my tickets" is "tickets assigned to me", not "tickets I opened"
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 16:48 Sgeo_ left
Skarsnik I am not in the list x) 16:51
16:51 Sgeo_ joined
ZoffixW ¯\_(ツ)_/¯ 16:52
16:53 Sgeo left 16:55 abraxxa left
Skarsnik (╯°□°)╯︵ ┻━┻ 16:56
Ah I managed with the advanced edit
to enter manually 16:57
mspo RT's best feature is its excellent email support 17:00
17:00 Zero_Dogg left 17:01 Zero_Dogg joined
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
17:02 _mg_ left
Skarsnik where the perl6 'binary' is and the location of moar.dll probably 17:02
moritz I'm looking for, like, actual paths :-) 17:03
17:03 dakkar_ left
moritz something that I can write in instructions without looking stupid 17:03
jnthn moritz: C:\rakudo\bin
Skarsnik depend if the user change the location in the installer?
17:03 vendethiel joined
jnthn moritz: And 17:03
moritz jnthn: that's all, no 'site' dir for panda or so?
jnthn C:\rakudo\share\perl6\site\bin
Skarsnik for me it will me like D:\rakudo\bin if i install it
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
'cus it's not relocatable
Skarsnik You can do like gstreamer, it set a env variable with this location
17:05 dakkar_ joined
moritz making moar+nqp+rakudo relocatable would be a great project 17:05
Skarsnik rt.perl.org/Ticket/Display.html?id=126948 can probably closed ~~ 17:06
17:10 domidumont left
dalek c: c1683e9 | (Wenzel P. P. Peppmeyer)++ | util/update-and-sync:
add debug info
17:11
c: 1c0c506 | (Wenzel P. P. Peppmeyer)++ | doc/Language/regexes.pod:
Merge branch 'master' of github.com/perl6/doc
17:12 sena_kun left 17:18 ab5tract left, ab5tract joined 17:20 chacewells joined
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
the only other option i'm aware of is qq{}
jnthn qq:to/WHATEVER/ 17:22
chacewells jnthn: that's what i thought, but i've gotten errors on that syntax
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
jnthn It may be that it interpolates things you aren't wanting it to 17:24
You can also opt in bit by bit
q:s:to/WHATEVER/ should only interpolate scalars, for example
chacewells what i've been doing is q:to/WHATEVER/.subst('this', 'that')
donaldh github.com/donaldh/swagger-to-yang...ang.pl#L33 is a working example
gfldex chacewells: please provide the error message in question. 17:25
chacewells yeah, qq: definitely works. i wonder what i was doing wrong yesterday 17:26
maybe i missed the curly-braces
thanks guys
donaldh the joy of iterating through many wrong combinations. you miss the right combination :-/ 17:27
gfldex Pod::To::HTML is not the best HTML generator possible, see: <h2 id="" type_str_does_not_support_associative_indexing.""=""> 17:28
jnthn donaldh: Heh, I wrote a Swagger spec just a couple of days ago. Had never heard of YANG. :)
donaldh jnthn: very specific to network managment. 17:29
timotimo gfldex: argh, that's a rather epic fail
chacewells haha amen 17:30
AlexDaniel Skarsnik: I view my tickets like this: rt.perl.org/Public/Search/Simple.h...il.com+any 17:31
17:31 domidumont joined
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”
ZoffixW AlexDaniel, "Possible cross-site request forgery" :) 17:32
AlexDaniel ZoffixW: ↑
ZoffixW Ah!
Cool. AlexDaniel++
AlexDaniel don't ask me how I came up with that link
ZoffixW You sold your kidney to a shady hacker?
AlexDaniel but yeah, by changing the email you can view other tickets in a same fashion
17:33 kjs_ joined
moritz I'm looking for a small concurrency example in Perl 6 for use in an article 17:33
any recommendations?
ideally something with Supply and/or Promise
dalek href="https://perl6.org:">perl6.org: ea7e15e | (Steve Mynott)++ | source/downloads/index.html:
Recommend Rakudo Star rather than Rakudobrew for most users.
AlexDaniel moritz: my recommendation is: don't mention .hyper
moritz AlexDaniel: I hadn't planned to :-) 17:34
AlexDaniel good
timotimo yeah, .hyper isn't too stable right now ;(
.hyper.map sometimes works, .hyper.grep never works 17:35
17:35 cognominal left 17:36 cognominal joined
ZoffixW m: say ^10 .hyper.grep: *.is-prime 17:36
camelia rakudo-moar f99bdb: OUTPUT«()␤»
ZoffixW :S
17:36 pmurias left
moritz isn't grep implemented in terms of map? :-) 17:37
17:37 Amendil left
moritz m: say (^10).hyper.map({ .is-prime() ?? $_ !! Empty }) 17:37
camelia rakudo-moar f99bdb: OUTPUT«HyperSeq.new␤»
AlexDaniel ZoffixW: rt.perl.org/Public/Search/Simple.h...+hyper+any
jnthn moritz: Something with the react/supply/whenever syntax
moritz m: say (^10).hyper.map({ .is-prime() ?? $_ !! Empty }).values
camelia rakudo-moar f99bdb: OUTPUT«(2 3 5 7)␤»
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 :)
AlexDaniel ZoffixW: I don't understand how a search query could possibly be a possible CSRF 17:39
ZoffixW ¯\_(ツ)_/¯
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?
jnthn moritz: yes, RabidGravy++ wrote up some stuff on it I think 17:40
moritz: And also my advent post was about it.
donaldh: I think it's actually in code-gen 17:41
17:41 musiKk left
RabidGravy well, I altered the 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
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 ?
and figure it out from there
jnthn donaldh: Yeah
Skarsnik Wow I just found a "Perl 6 essential" while sorting stuff 17:45
jun 2003 ~~ 17:46
17:46 vendethiel left
moritz is there a list somewhere of equivalence between react/whenever/emit syntax and method calls? 17:46
dalek href="https://perl6.org:">perl6.org: 04f6c2e | (Steve Mynott)++ | source/downloads/index.html:
tweak some whitespace I didn't see in lynx
17:48
ecs: 983eaa7 | (Zoffix Znet)++ | S22-package-format.pod:
Fix example of "perl" META key

  "perl" specifies *minimum* version, but example and its explanation demonstrate it as the *maximum* version.
17:50
href="https://perl6.org:">perl6.org: c01dfba | (Steve Mynott)++ | source/index.html:
Compiler -> Rakudo Star on Homepage
17:51
flussence blogs.perl.org/users/martin/2016/01...nsion.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:56
17:57 vendethiel joined
flussence (and postfix with, I suppose) 17:57
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␤»
flussence oh, yep, those are some comments down below.
17:59 molaf joined 18:00 ZoffixW left
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:00
$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
My main gripe is that it's an operator that potentially interacts with other operators in the expression
flussence m: my $stuff; say $stuff //< 42
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:01 chacewells left
arnsholt So kind of macro-like. Except it actually interacts with operators *above* it in the expression, not below 18:02
So the implementation of this is likely to be at least a little bit hairy
18:03 firstdayonthejob joined
AlexDaniel gfldex: just curious, why not use trans for that? 18:03
gfldex that would be a little bit slower
at least it did when i benchmarked last time 18:04
AlexDaniel m: say ‘hello "world"’.trans(‘"’ => ‘&quot;’)
camelia rakudo-moar f99bdb: OUTPUT«hello &world&␤»
AlexDaniel hmmmmmm
18:04 dakkar_ left
AlexDaniel ok it doesn't even work this way 18:05
although I've always thought that it does…
dalek href="https://perl6.org:">perl6.org: 1db3354 | (Steve Mynott)++ | source/index.html:
Use Star announcement
gfldex m: say ‘hello "world"’.trans([‘"’] => [‘&quot;’])
camelia rakudo-moar f99bdb: OUTPUT«hello &quot;world&quot;␤»
AlexDaniel ah yeah 18:06
gfldex m: say ‘hello "world"’.trans([‘"’, 'e'] => [‘&quot;’, 'E'])
camelia rakudo-moar f99bdb: OUTPUT«hEllo &quot;world&quot;␤»
timotimo m: say 'hello "world"'.trans('"' => '&quot;')
camelia rakudo-moar f99bdb: OUTPUT«hello &world&␤»
timotimo ah, that's why ...
18:07 SCHAAP137 joined
AlexDaniel gfldex: interestingly, I don't think that there is any reason for 「trans」 to be slower 18:07
18:07 donaldh left
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
timotimo m: say 'hello "world"'.trans('"', '&quot;')
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␤␤»
moritz RabidGravy: the IO::Socket::Async echo example seems to be broken (on perl6/doc)
RabidGravy: github.com/perl6/doc/issues/380 18:10
RabidGravy Boo! I already fixed that *twice* 18:11
moritz seems we need better tests :-)
AlexDaniel: fwiw you can push to perl6/ecosystem directly; no need to make pull requests 18:13
AlexDaniel ?
moritz AlexDaniel: oh sorry, you merged one, didn't open one
AlexDaniel :)
RabidGravy moritz, are you absolutely sure? it works fine here 18:14
moritz RabidGravy: oh, seems my rakudo is pre-historic. My bad, sorry
RabidGravy :) 18:15
moritz 2015.07.something 18:16
18:17 virtualsue left, fireartist joined 18:18 vendethiel left, _mg_ joined
RabidGravy moritz, yeah that'll do it, I'm surprised that it even compiled TBH :) 18:19
18:20 ocbtec left, vendethiel joined 18:22 ocbtec joined 18:23 araujo joined 18:28 Actualeyes left
gfldex Pod::To:HTML may have to be updated by hand on the host that is building the docs 18:28
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:35
gfldex they obviously have the wrong priorities 18:37
timotimo ;)
moritz gfldex: I'm building a rakudo 2016.01 on hack right now 18:41
18:43 cosarara joined
jdv79 is hack under mem pressure? its taking an awfully long time to flip between screen sessions 18:43
[Coke] MadcapJake: postimg.org/image/js469h5wl/ - suggestion, add "Rakudo " in front of the compiler versions. 18:44
18:44 cosarara_ left
timotimo moritz: i was wondering why only hack is on the collectd dashboard 18:44
perhaps it'd also be interesting to get info about the VM host, for example 18:45
18:45 lostinfog joined, DoverMo joined 18:50 ely-se joined 18:56 hyuil joined 18:57 hyuil left 19:04 fireartist left
skids github.com/skids/perl6-Control-Bail # bikeshed now open for business. 19:05
perlpilot
.oO( we're using Perl 6 for criminals now? )
19:08
.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.)
timotimo perlpilot: for people who handle lots of money, but make a mistake
geekosaur wonders about: my $foo will undo... 19:10
19:11 fireartist joined
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
jdv79 where does the flip between the non-precomp'd panda and the precomp'd one happen?
19:13 addison joined
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
geekosaur ...otoh if you attach it to the var, the e.g. undo code could leak outside the scope. different use case, I guess
timotimo i don't think the undo property moves through the program 19:14
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.
perlpilot run-time adding of phasers is ... interesting.
feels like the capability should already be there too
(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
skids Well, depends on whether you think the optimizer should unroll the whole mess before execution, I guess. 19:17
jdv79 paste.scsys.co.uk/505098
geekosaur timotimo, it wouldn't with bail, it presumably would with a hypothetical "will bail" trait
timotimo i expect the optimizer will bail out of all static optimizations when it sees curcode be called
jdv79 where does that happen?
geekosaur if its attached to the var, it should stay alive as long as the var does.
er, will undo 19:18
timotimo ah
wait, "will undo" doesn't exist?
geekosaur not so far as I know
timotimo oh
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)␤»
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///
timotimo m: sub test { my $a will undo { say "oh" }; fail }; test
camelia rakudo-moar f99bdb: OUTPUT«oh␤»
timotimo it does exist
skids m: sub a () { my $foo will keep { 42.say }; $foo = 1; return $foo; }; 43.say; a();
camelia rakudo-moar f99bdb: OUTPUT«43␤42␤»
timotimo and even work
geekosaur huh
19:19 DrBlue joined
geekosaur what does that do if I leak the VAR (not value) out of the sub? 19:20
(I think that can be done with sufficient evil)
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␤»
skids Yeah it's the actual variable not the Scalar
geekosaur I meant the undo case
skids m: sub a () { my $foo will leave { 42.say }; $foo = 1; return $foo.VAR; }; 43.say; my $b := a(); 44.say;
camelia rakudo-moar f99bdb: OUTPUT«43␤42␤44␤»
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
or similar for LEAVE etc 19:22
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
skids timotimo: well, will need some sort of per-clone mechanism. 19:30
timotimo oh, of course 19:31
a regular variable, not a state variable
19:32 tochjammer joined 19:34 rindolf joined 19:35 espadrine left 19:36 DrBlue is now known as jmark
skids Well, at least I should understand more about when clones happen, succeed or fail ;_0 19:37
19:37 wamba left 19:39 mohae_ left 19:41 ely-se left 19:42 _mg_ left 19:44 DoverMo left, perl6newbee left 19:45 mohae joined 19:47 yqt joined 19:51 fireartist left 19:54 perlawhirl joined 19:56 fireartist joined
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 perlawhirl left
Hotkeys why does this happen? 19:58
yet
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)␤»
Hotkeys isfine
m: say v6 cmp v7
camelia rakudo-moar f99bdb: OUTPUT«Less␤»
timotimo because < is strictly for numeric comparison
how do you compare versions to regular numbers?
moritz m: say v6 before v7
camelia rakudo-moar f99bdb: OUTPUT«True␤»
Hotkeys lame
timotimo i don't think so
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
camelia rakudo-moar f99bdb: OUTPUT«WARNINGS for /tmp/LFxgPTavVJ:␤Useless use of "lt" in expression "v6 lt v7" in sink context (line 1)␤»
timotimo perl decided to make its operators coercive and have more operators rather than overload existing operators for different types
Hotkeys m: say v6 lt v7 # works
camelia rakudo-moar f99bdb: OUTPUT«True␤»
moritz m: say v12 lt v9
camelia rakudo-moar f99bdb: OUTPUT«True␤»
moritz "works"
geekosaur heh
timotimo yeah, lt coerces to String
moritz for some value of works
20:00 sivoais joined
Hotkeys I wish the repl didn't lull me into a false sense of say-curity 20:01
geekosaur next up, QuickCheck port >.> 20:02
jdv79 wow, some test suites taking forever these days. 20:04
dalek href="https://perl6.org:">perl6.org: d0cc162 | (Steve Mynott)++ | source/downloads/index.html:
don't leave out BSD and add etc.
20:05 virtualsue joined
moritz is curious if the doc build will work again 20:05
I've updated the perl6 there to 2016.01 and installed the required modules
20:05 firstdayonthejob left, perlawhirl joined
timotimo neat. 20:06
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:07 kjs_ left 20:08 lokien_ joined 20:09 sivoais left 20:10 sivoais joined
Skarsnik ooh we have a 2016.01? 20:11
20:11 ZoffixW joined
moritz we do! \o/ 20:12
20:12 Amendil joined
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:12
20:13 pi4 left, pi4 joined 20:14 laz78 joined 20:16 darutoko left 20:18 firstdayonthejob joined 20:19 spider-mario joined, sivoais left, kanishka left 20:20 sivoais joined
stmuk_ drinks a Jack in memory of Lemmy 20:26
20:26 domidumont left
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
dalek href="https://perl6.org:">perl6.org: 6785a45 | (Steve Mynott)++ | source/downloads/index.html:
actually Configure.pl in the example needs root
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:29
20:30 sivoais left
jnthn jdv79: Yes, certainly some of that. :) 20:30
20:31 sivoais joined, addison left
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:31
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
20:34 addison_ joined
stmuk_ TBH anyone who doesn't understand UNIX perms is unlikely to be able to install or run rakudo 20:34
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)
moritz oh, extra instructions on perl6.org
stmuk_ I was using an example of --prefix
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"
For a language who claims to be n00b-friendly 20:36
moritz well
stmuk_ well the solution is binary installs
moritz right
a better .msi (that does the PATH fixup itself)
stmuk_ which of course will use root :)
ZoffixW heh
moritz up-to-date packages for all linux/UNIX flavors 20:37
haha, so easy to say :-)
ZoffixW :)
20:38 dolmen joined
dalek href="https://perl6.org:">perl6.org: 2d7e1ef | (Zoffix Znet)++ | source/downloads/index.html:
Fix tpo
20:38
perlawhirl .tell RabidGravy updated 'ls' script: hastebin.com/usidanuzux.pl 20:39
20:39 diakopte1 joined, emdashcomma_ joined
perlawhirl .seen RabidGravy 20:40
.botsnack
20:40 sivoais left
RabidGravy I'm here! 20:40
nice one on the new ls :) 20:41
20:41 ely-se joined
perlawhirl ok haha 20:41
ZoffixW .u –
geekosaur another victim of netsplits?
RabidGravy just head down in some code I just broke big time 20:42
geekosaur (yoleaux is here but might well be stuck)
stmuk_ does moar statically link? I was wondering about a "fat" x86-64 binary tarball
20:42 sivoais joined
stmuk_ not ideal I know 20:42
20:42 kjs_ joined 20:43 Cabanoss- joined
perlawhirl :q 20:45
20:45 perlawhirl left 20:46 Peter_WR joined
stmuk_ ^X^Q 20:46
20:46 huggable joined 20:47 firstdayonthejob left, virtualsue left, pyrimidine left, emdashcomma left, Cabanossi left, noganex left, ribasushi left, Upasaka_ left, Peter_R left, SmokeMachine____ left, |Tux| left, yoleaux left, diakopter left, Cabanoss- is now known as Cabanossi
ZoffixW weeeeeeeeee 20:47
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
20:48 _mg_ joined, noganex joined, ZoffixW left 20:49 ramon joined, pyrimidine joined, ribasushi joined, SmokeMachine____ joined, virtualsue joined, F1AA9FQP joined, F1AA9BRI joined, Upasaka_ joined, yoleaux joined, hitchcock.freenode.net sets mode: +v yoleaux, virtualsue left, SmokeMachine____ left, SmokeMachine____ joined
stmuk_ I did wonder about adding a "Star Errata" section somewhere 20:49
20:49 ramon is now known as Guest88614 20:50 Upasaka_ left, Upasaka joined
ely-se I read that as "Star Erotica" 20:51
20:51 sivoais left 20:52 sivoais joined 20:53 virtualsue joined, risou is now known as risou_awy
geekosaur that'd be ao3, not perl6 >.> 20:53
20:53 risou_awy is now known as risou, fireartist left 20:57 geraud joined
Skarsnik DrForr, weird, what is the rt? 20:58
20:58 sivoais left 20:59 firstdayonthejob joined
geekosaur 127460 (just hit ,y inbox) 21:00
jdv79 Method 'phasers' not found for invocant of class 'Code'
is that familiar to anyone?
FROGGS not to me 21:01
jdv79 "react whenever $main_supply {" is the line that hits that
hmm
21:01 |Tux| joined
moritz error messages from react blocks report wrong line numbers 21:01
jdv79 o 21:02
RabidGravy react { whenever { } }
moritz that is, they report that of the react, not of the actual error
RabidGravy: does it make a difference?
RabidGravy yep 21:03
MadcapJake .seen gfldex
yoleaux I saw gfldex 18:37Z in #perl6: <gfldex> they obviously have the wrong priorities
RabidGravy m: react whenever Supply.interval(1) -> $v { say $v }
camelia rakudo-moar f99bdb: OUTPUT«0␤Method 'phasers' not found for invocant of class 'Code'␤ in block <unit> at /tmp/3fWB4IM_Ym line 1␤␤»
RabidGravy awful error message though
moritz that error message is extremly LTA
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
or is that supposed to work, and just a bug?
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.
yoleaux MadcapJake: I'll pass your message to gfldex.
jdv79 i'll rebuild
21:07 molaf left
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
moritz sub REACT(&block) 21:09
that's actually a Positional type constraint
21:09 Zero_Dogg left
moritz could be changed to sub REACTE(Block \block) { } 21:09
21:09 Zero_Dogg joined
jdv79 would it be possible to have bearable lag on hack? 21:10
FROGGS: is that you?
waiting seconds for my term to unfreeze is out of control 21:11
21:11 Guest88614 left
FROGGS I'm not logged in 21:11
moritz hack seems pretty responsive to me righ tnow
load average of 1.4
21:12 vodka joined
jdv79 huh, ok 21:12
moritz jdv79: heh, you seem two have two long-running rakudo processes :-)
jdv79 well, my term to my box is fine and my term to hack is super laggy
moritz one JVM, one more
jdv79: might be network
*moar
jdv79: I had the same an hour or so ago 21:13
jdv79 k
21:16 virtualsue left 21:17 _mg_ left
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:21 go|dfish left 21:22 vodka left 21:23 Psyche^ joined 21:28 Psyche^_ left 21:30 buharin joined 21:31 molaf joined 21:32 buharin left, buharin joined
buharin hello :) 21:32
21:33 buharin left, buharin joined
[Coke] buharin: hi 21:33
21:34 bjz left 21:35 kaare_ left 21:37 ajr_ joined
timotimo heyo 21:38
RabidGravy HARR! 21:40
21:42 grondilu left
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:42
21:43 newbie joined, newbie is now known as Guest35482
RabidGravy took, me a second to parse the P5 one 21:44
ajr_ correction to the P5 - there's a left [ in there
21:44 mr-foobar left
ajr_ s/\w<([^ &c 21:45
21:45 yqt left
perlpilot ajr_: < are meta in P6, but not P5 21:46
21:46 addison_ left
ajr_ Literal < needs escaping? 21:46
21:47 mr-foobar joined 21:48 laz78 left 21:49 ely-se left
dalek ar: 2fed8a4 | hoelzro++ | modules/MODULES.txt:
Add LibraryMake and Linenoise to MODULES.txt

Otherwise, they don't get built and installed
21:49
ar: efd255b | (Steve Mynott)++ | modules/MODULES.txt:
Merge pull request #64 from hoelzro/master

Add LibraryMake and Linenoise to MODULES.txt
buharin hey what does it mean that perl6 runs on jam? 21:50
jvm is slow
:<
RabidGravy ajr_, something like: 21:51
m: my $a = "<foo>"; $a ~~ s:g/\<(<-[>]>+)\>/{ $/.uc }/; say $a
camelia rakudo-moar f99bdb: OUTPUT«<FOO>␤»
ajr_ RG, so any literal < should be \< ?
RabidGravy yes
DrForr It means that ... it runs on JVM. It runs on MoarVM as well.
perlpilot ajr_: or '<'
ajr_ > as well? 21:52
perlpilot ajr_: aye
21:52 sufrostico left
perlpilot ajr_: non-alphanumerics are all meta-syntax. 21:52
ajr_ Thanks. Off to try it.
RabidGravy they are part of "character classes"
[Coke] well, the JVM port isn't 100% up to speed with the moarvm port. 21:53
j: say "hi"
camelia rakudo-jvm f99bdb: OUTPUT«hi␤»
[Coke] m: say "hi"
camelia rakudo-moar f99bdb: OUTPUT«hi␤»
ajr_ HTML and friends are going to be fun.
RabidGravy the "<-[>]>" is the character class for "not >"
[Coke] ^^ there; one ran through the jvm backend, one ran through the moar backend.
dalek p: 7e8546d | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
[js] Fix bool to integer conversion.
21:54
nqp: 0a8b7f0 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
nqp: [js] Take in regard types of variables when emitting code.
21:54 dalek left
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: regex101.com/
DrForr Or just a few 'my regex {}' bits if you don't want a full grammar.
[Coke] *here
21:54 dalek joined, ChanServ sets mode: +v dalek, pmurias joined
[Coke] buharin: see that nqp commit? javascript backend coming sometime this year. 21:55
buharin :]
RabidGravy which will be fun
FROGGS ***ALL*** FYI, the windows msi packages are now available for 2016.01 - rakudo.org/downloads/star/ 21:56
buharin it should be done in C++
perlpilot FROGGS++
buharin like Swift
RabidGravy FROGGS++
[Coke] FROGGS++
sortiz FROGGS++
jdv79 thanks
FROGGS :D
[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?
[Coke] pmurias: no clue, but it's great for testing and explaining to my non-regex aware coworkers.
Skarsnik DrForr, Are you sure using int32 for a long is not the issue?
perlpilot ajr_: I'd probably write your regex something like this ...
lizmat FROGGS++
21:57 kurahaupo joined
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␤»
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 :(
if it was I could try to hook up nqp-js up to it 21:59
DrForr Skarsnik: Possibly, I'll test quickly.
Skarsnik m: use NativeCall; say nativesizeof($_) for <int32 long Pointer>
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/sources/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 372␤ in block…» 22:00
Skarsnik duh
FROGGS m: use NativeCall; say nativesizeof(int32|long|Pointer)
camelia rakudo-moar f99bdb: OUTPUT«any(4, 8, 8)␤»
DrForr Nope, still dies with int64 in Perl 6, long in C. 22:01
Skarsnik why mine does not work FROGGS ? x)
DrForr I'll push the entire thing to github here in a moment.
Skarsnik Oh
I know
FROGGS strings?
Skarsnik m: use NativeCall; say nativesizeof(::($_)) for <int32 long Pointer>
camelia rakudo-moar f99bdb: OUTPUT«4␤8␤8␤»
FROGGS m: use NativeCall; say nativesizeof($_) for int32, long, Pointer 22:02
camelia rakudo-moar f99bdb: OUTPUT«4␤8␤8␤»
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 ?
yoleaux lizmat: I'll pass your message to jnthn.
Skarsnik use long DrForr if it's long ^^
22:02 addison joined, kjs_ left
[Coke] pmurias: see #regex channel on this server. 22:02
22:02 skids left
DrForr I thought native types like 'int' weren't allowed... 22:03
Fails still, though.
FROGGS DrForr: int is not allowed, like num isnt
[Coke] I'm in there now. 22:04
FROGGS because our int is usually 64bits wide which is not what C thinks of int
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.
Skarsnik I don't remember what did I do to confond int over int32
[Coke] 17:04 <+OnlineCop> It's got Perl6, PCRE2, and multiple other flavors in the pipeline.
22:06 pmqs_ joined 22:07 perlawhirl joined, ely-se joined
perlawhirl just joined on to say... 22:07
FROGGS++ 22:08
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
22:10 mscha joined, buharin left
mscha p6: i² 22:10
camelia ( no output )
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.
Skarsnik I don't run my perl6 vm now, sorry. I was just pointing something that could make it not size the union correctly
mscha p6: say i² 22:11
camelia rakudo-moar f99bdb: OUTPUT«-1+1.22464679914735e-16i␤»
DrForr Right, understood. In any case it's up on GitHub. 22:12
My bet is the nesting of a CUnion in a CStruct... 22:13
Skarsnik did you try comparing the size of the struct/cunion?
between C and perl6 22:14
DrForr I'll try that tomorrow...
mscha say e**(π*i) + 1;
p6: say e**(π*i) + 1;
camelia rakudo-moar f99bdb: OUTPUT«0+1.22464679914735e-16i␤»
Juerd !calc e**(tau * i) 22:15
Er.
Mixing channels now :)
m: say e**(tau * i)
camelia rakudo-moar f99bdb: OUTPUT«1-2.44929359829471e-16i␤»
mscha p6: say e**(100000000000000001*π*i) + 1; 22:17
camelia rakudo-moar f99bdb: OUTPUT«0.469955266004289-0.847969681040198i␤»
mscha p6: say e**(1000000000001*π*i) + 1;
camelia rakudo-moar f99bdb: OUTPUT«3.40092933814873e-08+0.000260803730219934i␤»
mscha p6: say e**(100000001*π*i) + 1;
camelia rakudo-moar f99bdb: OUTPUT«1.11022302462516e-16+1.12647929283531e-08i␤»
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␤»
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 left, tochjammer joined, ocbtec left
timotimo don't we have an approximation stuff in comparisons now? 22:21
22:22 autark joined
mscha p6: say 1e-1 + 2e-1 - 3e-1; 22:23
camelia rakudo-moar f99bdb: OUTPUT«0␤»
timotimo seems like i'm mistaken?
lizmat timotimo: you mean =~= ? 22:24
aka ≅
timotimo oh 22:25
that could be
FROGGS gnight #perl6
22:25 FROGGS left, molaf left 22:27 perlawhirl left, perlawhirl joined 22:31 mcmillhj joined 22:32 Gothmog_ left
Hotkeys golf is fun codegolf.stackexchange.com/a/71139/46687 22:33
22:33 perlawhirl left
Hotkeys I don't think that can be made any shorter 22:33
22:34 vike left
mscha p6: my Num @n = (1e-1, 2e-1, -3e-1); say [+] @n; # finally! 22:35
camelia rakudo-moar f99bdb: OUTPUT«0␤»
mscha p6: # or not...
camelia ( no output )
22:36 ZoffixWin joined, ZoffixWin left, ZoffixWin joined
mscha my @Num @n = <0.1 0.2 -0.3>».Num; say [+] @n; # finally, for real this time 22:37
p6: my @Num @n = <0.1 0.2 -0.3>».Num; say [+] @n; # finally, for real this time
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␤ …»
Hotkeys lol 22:38
AlexDaniel /@Num/Num/ ?
mscha p6: my @Num @n = (0.1, 0.2, -0.3)».Num; say [+] @n; # finally, for real this time
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␤ …»
mscha p6: my Num @n = <0.1 0.2 -0.3>».Num; say [+] @n; # finally, for real this time
camelia rakudo-moar f99bdb: OUTPUT«5.55111512312578e-17␤»
Hotkeys oh nooooo
AlexDaniel mscha: what are you trying to do?
mscha I'm trying to get floating point math to fail, as any proper programming language does. ;) 22:39
AlexDaniel ah, pffft
mscha 1e-1 + 2e-1 - 3e-1 is supposed to fail as well. But I guess it's optimized away. 22:40
AlexDaniel a bit relevant: 0.30000000000000004.com/ 22:41
notice how some other languages do it right
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: www.meetup.com/Toronto-Perl-Mongers...228600742/
Hotkeys oh man 22:42
there's a TO meetup?
might have to go
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
'm not in TO
but I'm close enough
AlexDaniel mscha: e.g. look at “r” thing in ruby
ZoffixWin Hotkeys, where?
AlexDaniel mscha: it looks right
Hotkeys hamilton
ZoffixWin is in Brampton 22:44
22:44 jmark left
Hotkeys neat 22:44
22:45 vike joined
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␤»
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;
camelia rakudo-moar f99bdb: OUTPUT«42␤3.00337181␤»
22:47 go|dfish joined
ZoffixWin Am I correct in understanding that "autothreaded junctions" means the calculation like the last one above happens in multiple threads? 22:47
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
but atm it will never do that
ZoffixWin Thanks :)
AlexDaniel even when it is implemented it is not guaranteed to do it this way, I think
lizmat patches welcome, of course :-)
AlexDaniel: indeed, it's only a hint to the compiler 22:49
22:49 raiph joined
lizmat a compiler may choose not to implement that, just like .>>method 22:49
22:51 tochjammer left
RabidGravy in Tinky, I've implemented similar by kicking the bunch off in their own start, doing .allof and checking the results 22:52
22:53 perlawhirl joined
RabidGravy (that is do all the any number of validator function and methods say True) 22:53
22:53 TEttinger joined 22:54 vendethiel left 22:56 wamba joined
ajr_ Can a matched string (e.g. $0) on the RHS of a substitution be uppercased? If so, how? 23:05
ZoffixWin m: my $foo = 'foobar'; $foo ~~ s/(foo)bar/{$0.uc}ber/; say $foo 23:06
camelia rakudo-moar f99bdb: OUTPUT«FOOber␤»
23:07 ely-se left
ZoffixWin { ... } executes perl code and stuffs the result into the string and .uc is the method to turn stuff into uppercase 23:07
huggable, Str
huggable ZoffixWin, class Str [String of characters]: doc.perl6.org/type/Str
ajr_ Thanks Zoffix, that did the trick.
23:08 HaraldJoerg joined
ajr_ The {...} was the bit I was missing - I'll a look at huggable's suggestion too. 23:09
23:09 vendethiel joined
ZoffixWin ajr_, I think this is a better place to look at for that: docs.perl6.org/language/quoting#Int...tion%3A_qq 23:09
it's interpolation:
lizmat m: my $foo = 'foobar'; $foo ~~ s/(foo)bar/$0.uc()ber/; say $foo 23:10
camelia rakudo-moar f99bdb: OUTPUT«FOOber␤»
ZoffixWin :o
m: say "The time a year later is {DateTime.now.later: :1year}"
camelia rakudo-moar f99bdb: OUTPUT«The time a year later is 2017-02-05T00:10:33.511280+01:00␤»
ajr_ ZoffixWin - are you going to be talking to Toronto PerlMongers this month? 23:12
ZoffixWin ajr_, nope
ajr_ Oh, Zoffix Znet is scheduled - is Zoffix a popular first name? :-)* 23:13
ZoffixWin ajr_, that's for March
ajr_ Well, I'll be able to thank you personally in March, then. 23:15
ZoffixWin ajr_, were you at the Mojolicious talk? 23:17
AlexDaniel m: say “hello {“world {“foo {“bar”}”}”}” # ;)
camelia rakudo-moar f99bdb: OUTPUT«hello world foo bar␤»
ZoffixWin AlexDaniel, show off! 23:18
23:18 rindolf left, addison left
AlexDaniel ZoffixWin: well, I'm not sure what to show off here. It just works as expected :) 23:18
smartquotes are amazing though
m: say “hello “world”!” 23:19
camelia rakudo-moar f99bdb: OUTPUT«hello “world”!␤»
ZoffixWin m: say “hello “world””!”
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␤»
AlexDaniel notice how it didn't stop at the first ”
ZoffixWin m: say “hello “““““world”””””!”
camelia rakudo-moar f99bdb: OUTPUT«hello “““““world”””””!␤»
ajr_ ZW - yes
AlexDaniel yeah
AlexDaniel feels like there's no reason not to use smartquotes if you have those on your keyboard 23:20
ZoffixWin doesn't
AlexDaniel why? :) 23:21
23:21 kurahaupo left
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
ah right
ZoffixWin :D 23:22
AlexDaniel well… yeah
mscha p6: say π² × ½ ÷ Ⅶ; 23:24
camelia rakudo-moar f99bdb: OUTPUT«0.704971742934954␤»
dalek kudo/nom: 8bd7ee6 | lizmat++ | src/core/Hash.pm:
Make %h<a>.push|append about 10% faster

And stop it from leaking values
lizmat gnight, #perl6!
ZoffixWin night 23:25
.u Ⅶ
yoleaux U+2166 ROMAN NUMERAL SEVEN [Nl] (Ⅶ)
ZoffixWin mscha++ that's pretty cool
23:25 eseyman left
AlexDaniel m: say τ² × ½ ÷ Ⅶ 23:26
camelia rakudo-moar f99bdb: OUTPUT«2.81988697173982␤»
AlexDaniel m: say τ² × ⅛ ÷ Ⅶ
camelia rakudo-moar f99bdb: OUTPUT«0.704971742934954␤»
23:27 erdic left, skids joined 23:28 erdic joined
AlexDaniel ZoffixWin: not sure if you backlogged but 23:28
m: say <1 4 8 15>»² 23:29
camelia rakudo-moar f99bdb: OUTPUT«(1 16 64 225)␤»
ZoffixWin crazy
m: say <1 4 8 15>»½
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␤»
AlexDaniel what does it mean xD
well, ½ is not an operator, so…
ZoffixWin *shrug* divide each by 2? :D 23:30
mscha p6: sub prefix:<√>($x) { $x.sqrt; }; say √2;
camelia rakudo-moar f99bdb: OUTPUT«1.4142135623731␤»
23:30 vendethiel left
AlexDaniel m: say <1 4 8 15>».&(*/2) 23:31
camelia rakudo-moar f99bdb: OUTPUT«(0.5 2 4 7.5)␤»
AlexDaniel ZoffixWin: not sure if there's any way to make it shorter
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␤»
ZoffixWin m: say <1 4 8 15>»/»2
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␤»
ZoffixWin m: say <1 4 8 15> »/» 2
camelia rakudo-moar 8bd7ee: OUTPUT«(0.5 2 4 7.5)␤»
Hotkeys what're smart quotes
mscha m: say <1 4 8 15> »×» ½; 23:33
camelia rakudo-moar 8bd7ee: OUTPUT«(0.5 2 4 7.5)␤»
ZoffixWin Hotkeys, “ and ”
AlexDaniel not only
Hotkeys: also ‘’ and 「」
Hotkeys ah
23:33 ZoffixWin left
AlexDaniel mscha: that's really good! 23:33
Hotkeys so essentially left and right quotes
that match to eachother like brackets 23:34
23:34 autark left
AlexDaniel yeah baby!! 23:34
Hotkeys smart indeed
mscha p6: say „Hello, World!”;
camelia rakudo-moar 8bd7ee: OUTPUT«Hello, World!␤»
Hotkeys oh man
Skarsnik lol
Hotkeys it even has german quotes huh
AlexDaniel mscha: oh right, forgot to mention that there is a thousand of ways to write those
23:34 dolmen left
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␤ …»
mscha Can't mix conventions, apparently. 23:36
AlexDaniel yup
m: say ‚hi’
camelia rakudo-moar 8bd7ee: OUTPUT«hi␤»
AlexDaniel by the way 23:38
m: say ½ «×« <1 4 8 15>
camelia rakudo-moar 8bd7ee: OUTPUT«(0.5 2 4 7.5)␤»
23:38 addison_ joined
Hotkeys I discovered you can do this today 23:38
m: say --«[1,2,3] 23:39
camelia rakudo-moar 8bd7ee: OUTPUT«[0 1 2]␤»
Hotkeys While golfing and just trying things
23:39 perlawhirl left
AlexDaniel yeah, well, it is only going to work with [] 23:40
but
23:40 perlawhirl joined
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…»
AlexDaniel m: say .pred« <1 2 3>
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 wamba left
AlexDaniel :/ 23:40
Hotkeys I think it only works for prefixes
AlexDaniel m: say <1 2 3>».pred
camelia rakudo-moar 8bd7ee: OUTPUT«(0 1 2)␤»
AlexDaniel right 23:41
23:42 SCHAAP137 left, pmurias left
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…»
AlexDaniel m: say (1, 1 .. *)[^5]
camelia rakudo-moar 8bd7ee: OUTPUT«(1 1..Inf Nil Nil Nil)␤»
AlexDaniel xD
m: say (1, 1 … *)[^5] 23:44
camelia rakudo-moar 8bd7ee: OUTPUT«(1 1 1 1 1)␤»
AlexDaniel what's the shortest way of creating an infinite list with the same number?
1,1…∞ is 5 characters, that's too long
raiph m: say 1 xx * 23:45
camelia rakudo-moar 8bd7ee: OUTPUT«(...)␤»
Hotkeys ^^^
skids m: (1 xx *)[0..4].perl.say
camelia rakudo-moar 8bd7ee: OUTPUT«(1, 1, 1, 1, 1)␤»
Hotkeys I was too busy trying to find the infinity symbol on my phone 23:46
AlexDaniel nice!
but that's 6… :)
ok 5 if you omit space between xx and *
mscha m: say ∞;
camelia rakudo-moar 8bd7ee: OUTPUT«Inf␤»
AlexDaniel m: say (1 xx ∞)[^5]
camelia rakudo-moar 8bd7ee: OUTPUT«(1 1 1 1 1)␤»
Hotkeys It's less if you count bytes instead of chars I think :p
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␤␤»
Hotkeys Lol
geekosaur waddaya want, it's already shorter than haskell's `repeat 1` :p
Hotkeys m: (1 for Inf)
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)␤»
Hotkeys Ugh 23:48
AlexDaniel m: say (1 for ^∞)[^5]
Hotkeys Rip
skids for is eager.
camelia rakudo-moar 8bd7ee: OUTPUT«(timeout)» 23:49
Hotkeys I thought it would be
Had to try
mscha m: (^Inf).join.say; 23:51
camelia rakudo-moar 8bd7ee: OUTPUT«...␤»
mscha huh?
Hotkeys m: say ((1..*)»⁰)[^5] # just curious
Aw
camelia rakudo-moar 8bd7ee: OUTPUT«(timeout)» 23:52
Hotkeys m: say [\**] 1..* »,» 0
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␤␤»
Hotkeys Darn
I'm silly anyway 23:53
That's a reduction
RabidGravy emulates private multis for all the fun of the fair
Hotkeys Is there a way to zip with repetition
Or rather like
How hyoer extends the list if its on the pointy side
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
skids m: (^∞ Z ^∞)[0..2].perl.say # not eager 23:55
camelia rakudo-moar 8bd7ee: OUTPUT«((0, 0), (1, 1), (2, 2))␤»
23:56 addison_ left
Hotkeys well then 23:57
so many surprises