»ö« 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:05 Actualeyes left 00:20 furelypunctional left 00:21 zacts left 00:25 kyclark joined, vike left 00:26 P6fr left 00:34 sufrostico joined, vike joined 00:38 canopus_ is now known as canopus 00:39 sufrostico left, sufrostico joined 00:40 kyclark left 00:47 avenj left 00:50 zacts joined
zacts hi 00:50
the syntax for perl6 class definitions is nice
I really like this
gfldex m: say "ohai zacts!"
camelia rakudo-moar 59d808: OUTPUT«ohai zacts!␤»
zacts (coming from Ruby)
and I like what other features perl6 has to offer, that aren't directly offered by Ruby 00:51
Perl6 that is
(capital "P")
the syntax is clean for this, yet really flexible 00:52
00:54 cyphase left 00:58 cyphase joined 01:04 addison left, sufrostico left 01:11 Herby_ joined
Herby_ Evening, everyone! 01:11
o/
01:14 labster left 01:19 Actualeyes joined 01:22 addison joined 01:26 labster joined
AlexDaniel zacts: by the way, have you seen docs.perl6.org/language/rb-nutshell ? 01:30
zacts AlexDaniel: that's what I'm referencing yeah 01:31
it's nice
I love this
AlexDaniel m: say‘hello’ 01:33
camelia rakudo-moar 713ad5: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3say7⏏5‘hello’␤Bogus postfix␤at <tmp>:1␤------> 3say7⏏5‘hello’␤ expecting any of:␤ infix␤ infix stopper␤ statement…»
gfldex m: my \term:<say‘hello’> = { say 'hello' }(); say‘hello’ 01:34
camelia rakudo-moar 713ad5: OUTPUT«hello␤»
gfldex term:<> is my new favourit toy 01:35
AlexDaniel m: my \term:<say ‘hello’> = { say 'bye' }(); say ‘hello’
camelia rakudo-moar 713ad5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Too many symbols provided for categorical of type term; needs only 1␤at <tmp>:1␤------> 3my \term:<say ‘hello’>7⏏5 = { say 'bye' }(); say ‘hello’␤»
01:36 rindolf left
mspo ruby sigils always threw me 01:36
AlexDaniel gfldex: the only problem is that makes the startup time slower
01:36 bob777 joined
AlexDaniel longer… 01:36
or whatever the right word is
benchable: HEAD my \term:<say‘hello’> = { say 'hello' }(); say‘hello’ 01:37
benchable AlexDaniel: |«HEAD»:0.6852
AlexDaniel benchable: HEAD my \term:<say‘hello’> = { say ‘hello’ }; say‘hello’() 01:39
benchable AlexDaniel: |«HEAD»:0.6726
AlexDaniel benchable: HEAD my \sayhello = { say ‘hello’ }; (sayhello)()
benchable AlexDaniel: |«HEAD»:0.0959
AlexDaniel 0.0959? Really? 01:40
benchable: HEAD say ‘hello world’
benchable AlexDaniel: |«HEAD»:0.0912
AlexDaniel okay…
benchable: 2015.10 say ‘hello world’
benchable AlexDaniel: |«2015.10»:0.0886
AlexDaniel benchable: 2015.12 say ‘hello world’
benchable AlexDaniel: |«2015.12»:0.0875 01:41
gfldex $ time perl6 -e 'say "oi!"'
oi!
real 0m0.158s
and that's a slowbox
AlexDaniel gfldex: not that slow, ≈0.210 on my laptop
gfldex $ time perl -e 'print "oi!"' 01:42
oi!
real 0m0.006s
quite slow actually :)
AlexDaniel gfldex: what about ruby? :) 01:44
gfldex $ time ruby -e 'puts "oi!"' 01:45
oi!
real 0m0.442s
mspo pretty slow
01:45 molaf left
AlexDaniel whoah… woah… I don't think that it is right, run it again? 01:45
geekosaur could still be ruby16 or something
gfldex e$ time ruby -e 'puts "oi!"'
oi!
real 0m0.051s
indeed, HD was involved 01:46
AlexDaniel OK, now that's right
geekosaur oh. caching
mspo yes caching
geekosaur and/or HD spinup
gfldex tha same HD takes this chatlog of this channel, so no spin up
AlexDaniel so if we are talking about the startup time, then we are only 3 times slower than ruby. That's not too bad 01:47
01:49 cpage_ left
gfldex from docs: e$ time ruby -e 'puts "oi!"' 01:50
oi!
real 0m0.051s
missclick, i will try again
from docs: # Perl 6, declare a method with an explicit block param\nsub f(&g) {\ng(2)\n\
01:50 cpage_ joined
gfldex i believe that is wrong, as we don't provide the explicit block param 01:51
should be `sub f(&g:($)){ g(2) }`
01:52 BenGoldberg joined
gfldex m: sub f(&g:($)){ g(2) }; f({ 2*$^a }); 01:52
camelia ( no output )
gfldex m: sub f(&g:($)){ g(2) }; say f({ 2*$^a });
camelia rakudo-moar 713ad5: OUTPUT«4␤»
gfldex m: sub f(&g:($)){ g(2) }; say f({ $^b*$^a });
camelia rakudo-moar 713ad5: OUTPUT«Constraint type check failed for parameter '&g'␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex that leaves the question if I should changed the wording to say it's implicit or change the example to be explicit 01:53
AlexDaniel what is a block param? 01:54
gfldex m: my $b = { &?BLOCK.signature.perl.say }; $b(); 01:55
camelia rakudo-moar 713ad5: OUTPUT«:(;; $_? is raw)␤»
gfldex every block got one positional argument
so param is wrong as well, should be argument 01:56
01:57 molaf joined
BenGoldberg m: block foo { 42 }; 01:58
camelia rakudo-moar 713ad5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routines:␤ block used at line 1␤ foo used at line 1␤␤»
BenGoldberg m: Block foo { 42 };
camelia rakudo-moar 713ad5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3Block7⏏5 foo { 42 };␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modifier␤ statement …»
BenGoldberg m: Block &foo = { 42 }; 01:59
camelia rakudo-moar 713ad5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix = instead␤at <tmp>:1␤------> 3Block &foo =7⏏5 { 42 };␤»
BenGoldberg m: my Block &foo = { 42 };
camelia rakudo-moar 713ad5: OUTPUT«Type check failed in assignment to &foo; expected Callable[Block] but got Block (-> ;; $_? is raw { #`...)␤ in block <unit> at <tmp> line 1␤␤»
02:00 BenGoldberg left 02:02 cpage_ left
gfldex m: my Block \foo = { 42 }; 02:06
camelia ( no output )
dalek c: e989f5d | (Wenzel P. P. Peppmeyer)++ | doc/Language/rb-nutshell.pod6:
fix explicit argument mixup
02:07
02:08 AndyBotwin joined
AlexDaniel gfldex: “a argument” 02:10
02:19 kid51 joined 02:21 TEttinger left
dalek c: 43c7a4d | (Wenzel P. P. Peppmeyer)++ | doc/Language/rb-nutshell.pod6:
fix typo
02:24
02:25 avenj joined, avenj left, avenj joined 02:26 Vitrifur joined 02:28 rfk joined, rfk left
mspo so how does one generate a fat moarvm file that contains perl6.moarvm + my program? 02:29
or, even better, a single file that has moar and the lot all bundled up 02:30
02:32 avenj left, avenj joined
Herby_ why does @array.push(x) work, but %hash.push(x => y) not? 02:32
I have to use %hash.push: (x => y)? 02:33
geekosaur m: my %h; %h.push((x => 'y')) 02:34
camelia ( no output )
gfldex x => y creates a Pair, (x => y) creates a is of Pairs
Herby_ m: my %h; %h.push((x=>'y')); say %h; 02:35
camelia rakudo-moar 713ad5: OUTPUT«{x => y}␤»
Herby_ hmm
Ok, thanks
gfldex m: my %h; %h.push((x => 1)); dd %h;
camelia rakudo-moar 713ad5: OUTPUT«Hash %h = {:x(1)}␤»
gfldex m: my %h; %h.push(x => 1); # that means to call Hash.push with a named parameter 02:36
camelia ( no output )
AlexDaniel actually, it looks like x => y is treated like a named param
yea
geekosaur that was pretty much what I expected, thus the parens 02:37
Herby_ gotcha
AlexDaniel I've always wondered why unused named params throw no warning or error
02:38 noganex_ joined
gfldex m: dd Hash.^can('push') 02:38
camelia rakudo-moar 713ad5: OUTPUT«(method push (Hash $: + is raw, *%_) { #`(Method|49447136) ... }, Method+{<anon|56857008>}.new)␤»
gfldex pleanse note the *%_ at the end
you need those to forward named parameters down the inheritance chain 02:39
02:39 jack_rabbit left, aries_liuxueyang left 02:40 jack_rabbit joined 02:41 noganex left, huggable left 02:42 aries_liuxueyang joined 02:53 holyghost left 02:58 Herby_ left 02:59 cyphase left 03:03 cyphase joined 03:13 kid51 left 03:21 addison left, jack_rabbit left 03:23 jack_rabbit joined, zacts left 03:25 AlexDaniel left 03:33 Actualeyes left 03:37 kaare_ joined 03:51 zakharyas joined 04:07 dj_goku left 04:11 labster left 04:14 dj_goku joined 04:20 perlawhirl joined, labster joined
perlawhirl hi perlers... who's awake 04:21
04:25 ddelony left, cog_ left 04:34 avenj left 04:35 canopus left 04:41 canopus joined 04:47 CoconutC1ab is now known as CoconutCrab 04:54 Cabanossi left 04:57 Cabanossi joined 04:58 Vitrifur left 04:59 Actualeyes joined 05:04 skids left 05:11 jack_rabbit left 05:15 jack_rabbit joined 05:17 zacts joined 05:20 jack_rabbit left 05:44 gregf_ left, sno left 05:50 sno joined 05:53 sno left 05:54 sno joined 05:56 gregf_ joined 05:57 ovibos left 06:07 sno left 06:09 jack_rabbit joined 06:11 CIAvash joined 06:14 domidumont joined 06:19 zacts left 06:20 domidumont left 06:25 TEttinger joined, jack_rabbit left 06:32 avenj joined, avenj left, avenj joined, firstdayonthejob joined 06:40 domidumont joined 06:41 domidumont left 06:42 domidumont joined 06:44 jack_rabbit joined 06:46 firstdayonthejob left 06:58 jack_rabbit left 07:02 abraxxa joined 07:03 furelypunctional joined 07:07 wamba joined, ovibos joined 07:11 abraxxa left, abraxxa joined 07:13 darutoko joined 07:21 sno joined 07:22 labster left 07:23 pdcawley left 07:28 zakharyas left 07:32 jonas1 joined 07:33 perlawhirl left 07:34 brrt joined 07:41 dakkar joined 08:00 labster joined, erez joined
erez Hey all, which of the current web-frameworks would you recommend for actually running a website? 08:01
I tried Web::App, but can't even get the examples on the README to run 08:02
brrt hi erez
DrForr On Perl 6? Whatever actually works.
erez hey brrt
DrForr: That's what I was going for :P 08:03
brrt i don't think there are already very mature perl6 web frameworks currently, like you would expect from perl5, ruby and python
so my question would be: what do you expect?
psch huh, the Prancer author doesn't advocate it? :) 08:04
brrt and what kind of website do you want to run
erez brrt: I actually am thinking about learning p6, and the best way to learn anything is to use it, and what I do is web-development, so there we are :) 08:07
DrForr I'm hoping to have some time to rewrite a few bits before putting it live, or at least fleshing out an actual wiki. Maybe before YAPC. 08:08
psch oh, right, it's not in the ecosystem yet 08:09
DrForr Yet. 08:10
brrt i see erez 08:11
well, that is a valid goal
i'm wondering how i can help you without disappointing you 08:12
fwiw, i haven't done any perl6 web development myself
erez It's less of a dissappointment and more of a where do I set the starting line.
DrForr Well, Dancer2 passes tests when running under Inline::Perl5, though I haevn't gone beyond that. 08:13
*haven't
erez Right, and I saw Zoffix used Mojolicious in a similar manner 08:15
08:15 Actualeyes left
DrForr Yeah. My idea would be to start filling in Perl6 versions of the plugins. 08:16
brrt another place you can start, would be with Crust 08:18
but that is at the low level of the stack
erez I've no problem going down levels 08:19
As it is a learning experience, not something I need to deliver anytime.
So I might just end up hacking my own web-framework. And move to the more fleshed-out stuff once I got more familiar with p6. 08:20
Right now I'm not really comfortable even to debug one of the existing projects.
brrt hmmm 08:21
08:21 iH2O joined
brrt if you want to get really down to it, you can also just configure perl6 to run in CGI mode 08:21
it will be slow and low-level
iH2O isnt low-level usually faster 08:22
brrt but there are no undebuggable bits
no, that is... no
iH2O :)
brrt :-)
low level is usually more work
DrForr There's also a rewrite of P6SGI supposedly in the works; if you really want to get low-level without too much pain.
brrt that is for sure
erez That's one of the options. I'll look into Crust though
DrForr I've managed to get decent throughput with Crust, you do have to up the maximum number of threads the VM can handle though. 08:23
erez Great. Thanks guys, I think I'll go with Crust, and see what I can hack out of it 08:28
DrForr erez: github.com/drforr/perl6-App-prancer may be inspiration as well :) 08:29
erez heh 08:30
brrt good luck :-) and don't hesitate to ask 08:32
08:35 pdcawley joined
erez brrt: no worries 08:38
and thanks again
08:42 zakharyas joined 08:44 parabolize joined
brrt you are welcome :-) 08:46
08:51 cosimo left 08:54 brrt left
iH2O brrr its cold here too much air conditioning bye folks 08:58
08:58 iH2O left 09:14 zakharyas left 09:15 pdcawley left 09:27 cosimo joined 09:31 jonas1 left 09:33 avenj left 09:50 pdcawley joined 09:54 jonas1 joined 10:00 sdoda joined 10:06 kurahaupo joined 10:20 RabidGravy joined
stmuk_ pl6anet.org/drop/rakudo-star-2016.07-RC1.dmg 10:21
10:21 stmuk_ is now known as stmuk
RabidGravy boom 10:22
10:24 ambs joined
timotimo boom, gravy 10:28
10:29 kurahaupo left, RabidGravy left 10:38 kurahaupo joined 10:39 sena_kun joined 10:47 kurahaupo left 10:48 CIAvash left 10:54 Senji joined 10:55 kurahaupo joined 10:59 iH2O joined, bbkr_ left 11:01 TreyHarr1 joined 11:05 TEttinger left
Woodi yay, regexes killed StackExchange for 34 minutes :) stackstatus.net/post/147710624694/o...ly-20-2016 11:06
Woodi uses 2 spaces after emoticons ;) 11:07
timotimo $str .= chop while $str.ends-with(" ") :P 11:08
Woodi would be nice to check for spaces from end of the line to the front :) look for \n and chop \s-es :) 11:12
11:12 labster left 11:15 rindolf joined, iH2O left
Woodi R* ? yay! 11:19
11:20 kurahaupo left 11:21 Guest66 joined
jast perl5 even has operators to avoid that kind of issue, e.g. ++ 11:24
(regex) 11:25
11:30 avenj joined, avenj left, avenj joined
Woodi perl5++ :) 11:34
DrForr perl(5++) 11:35
moritz perl(++5)
diegok :-) 11:36
Psy-Q anything like mod_perl for perl6? 11:37
DrForr No need, we've got Crust, a PSGI-alike.
Psy-Q "is there anything like..." i mean. man, i've heard too much slavic-grammar english these days :)
DrForr: oooh! thanks
Guest66 how create a pdf with P6 ? 11:40
(hello ^^)
11:40 Guest66 is now known as P6fr
DrForr There's a PDF module on modules.perl6.org. 11:41
P6fr panda PDF install PDF::Grammar :(
* panda install PDF 11:42
psch probably because it's a dependency?
P6fr hum
thx 11:45
11:51 araujo_ left, brrt joined 11:52 Guest69909 joined 11:53 Guest69909 left 11:54 kid51 joined 11:56 Guest69909 joined 11:57 Guest69909 left 11:58 Guest69909 joined 11:59 Guest69909 left 12:00 Guest69909 joined 12:01 Guest69909 left 12:02 Guest69909 joined 12:04 Guest69909 left, Guest69909 joined 12:05 Guest69909 left 12:06 Guest69909 joined, P6fr left
timotimo its not for creating pdfs 12:14
12:17 TreyHarr1 left 12:26 furelypunctional left 12:41 TreyHarr1 joined
___ There's always metacpan.org/pod/Mojo::PDF ! :D 12:48
moritz IME, basically all methods to programmatically generating PDFs suck 12:50
___ Pretty much
12:50 lambd0x joined
moritz if you have a template and very limited stuff to fill out, you've got a chance 12:50
otherwise it's often better to generate latex or markdown or whatever, and use pdflatex or pandoc or whatever to do the layouting 12:51
jast at work we use a component to render HTML/CSS to PDF. it's pretty horrible. ;)
moritz jast: based on phantomjs?
jast nope
it's a dedicated rendering engine
that's what's horrible about it 12:52
___ There's something that chrome uses, I forget the name
jast pdfjs
moritz not based on gecko or webkit or so?
jast no, written from scratch AFAIK
moritz ah, gotcha
jast third party
___ wkhtmltopdf
jast with all its own bugs
it even has JS support, but not good enough for recent jQuery to work
moritz heh, when on googles for pdfjs, all the results are for PDF.js, moziallas show-pdf-in-the-browser-with-js thingy 12:53
___ Even has a crappy Mojolicious plugin for it: metacpan.org/pod/Mojolicious::Plug...DFRenderer
jast PDF.js is what I meant :)
12:53 sdoda left
moritz but isn't that the other way round? 12:54
views in PDF in HTML
lambd0x Hi folks. I'm beginning to learn how to work with uint/buf type. My doubt is how can I get a proper content for a uint variable? SO far I've been able to get Blob[uint] which it complains
jast yeah, good point. wasn't thinking clearly.
moritz I thought you meant rendering HTML/CSS to generate a PDF
m: say Blob[uint8].new(42, 23) 12:55
camelia rakudo-moar 8dff9d: OUTPUT«Blob[uint8]:0x<2a 17>␤»
moritz lambd0x: ^^
psch m: my $buf = "foo".encode("ascii"); say $buf.WHAT; my uint $bar = $buf[0]; say $bar
camelia rakudo-moar 8dff9d: OUTPUT«(Blob[uint8])␤102␤»
lambd0x hm... 12:58
here's rakudo error report: This representation (VMArray) cannot unbox to a native int (for type Blob[uint8]) 12:59
psch m: my $buf = "foo".encode("ascii"); say $buf.WHAT; my uint $bar = $buf; say $bar
camelia rakudo-moar 8dff9d: OUTPUT«(Blob[uint8])␤This representation (VMArray) cannot unbox to a native int (for type Blob[uint8])␤ in block <unit> at <tmp> line 1␤␤»
13:00 mcmillhj joined
lambd0x I basically want to know why would be of any benefit to convert a series of integers(that might represent a message) to a single integer 13:02
13:02 sufrostico joined
lambd0x because RC4 $password argument requests to be uint8... 13:03
this is a Perl6 module that I'm testing.
___ lambd0x: "to a single integer" why do you think it's a single integer? 13:04
psch uh, RC4 takes either a Blob or an Array?
lambd0x 0x21..
psch: for password for what I undestood it requires a uint8 so Buf I guess 13:05
*understood. 13:06
psch an uint8 is not a Buf
lambd0x difference is ~~~~~~~~
psch one is a Scalar, the other is a natively typed Array
___ lambd0x: I don't see where RC4 wants $passphrase as a single uint8. It's looping over it, and returns an array of uint8s, so I'm assuming you need to pass it a thing filled with uint8s
m: "foo".encode("ascii").WHAT.say 13:07
camelia rakudo-moar 8dff9d: OUTPUT«(Blob[uint8])␤»
___ So "foo".encode("ascii") will work as $passphrase
13:07 sufrostico left
___ (as one example; I'm not saying you have to encode everything to ascii) 13:07
brrt say "bar".encode("utf-8") 13:08
13:08 sufrostico joined
brrt m: say "bar".encode("utf-8") 13:09
camelia rakudo-moar 8dff9d: OUTPUT«utf8:0x<62 61 72>␤»
___ m: say "bar".encode
camelia rakudo-moar 8dff9d: OUTPUT«utf8:0x<62 61 72>␤»
lambd0x thanks everybody, got it now :) 13:10
13:10 pdcawley left 13:11 RabidGravy joined 13:16 LeCamarade joined, LeCamarade left, sufrostico left 13:18 sufrostico joined 13:21 dvinciguerra_ joined
brrt just read the stack overflow outage postmortem 13:22
the tl;dr is
.NET has a crappy regex engine
13:22 mcmillhj left 13:23 mcmillhj joined
dalek c: eb76d89 | (Zoffix Znet)++ | doc/Language/traps.pod6:
Document the trap with strings and ranges
13:26
13:36 TreyHarr1 left, sufrostico left
dalek c: 92406ed | (Zoffix Znet)++ | doc/Language/traps.pod6:
Toss the 52-base analogy since it's not accurate

perl -E 'say join ", ", "aZ" .. "bB"' aZ, bA, bB
13:38
13:43 Guest69909 left 13:45 TreyHarr1 joined 13:48 Senji left 13:50 kid51 left 13:54 cog_ joined 13:58 skids joined, brrt left 14:00 danaj joined 14:07 cdg joined 14:10 Sgeo left 14:18 TreyHarr1 left 14:20 lambd0x left 14:22 TreyHarr1 joined 14:25 user9 left 14:32 ptolemarch joined 14:33 lambd0x joined, user9 joined 14:47 TreyHarr1 left 14:52 TreyHarr1 joined 14:54 _4d47 joined 14:57 ___ is now known as unmatched} 15:06 khw joined 15:12 domidumont left
TimToady m: for ^3 { ^10 .map: *.say; }; say 42; 15:17
camelia rakudo-moar b51908: OUTPUT«42␤»
TimToady I would class this trap as a simple sink-propagation bug
m: for ^3 { sink ^10 .map: *.say; }; say 42;
camelia rakudo-moar b51908: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤42␤»
15:18 petercommand left
TimToady m: for ^3 { ^10 .map: *.say; Nil }; say 42; 15:18
camelia rakudo-moar b51908: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤42␤»
TimToady m: for ^3 { 43 }; say 42;
camelia rakudo-moar b51908: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 43 in sink context (line 1)␤42␤»
TimToady it knows it sank, but somehow the map doesn't get it
15:19 avenj left
dalek c: 25ca6e8 | (Christopher Bottoms)++ | doc/Language/glossary.pod6:
minor typo edit
15:22
c: 95eeaa2 | (Zoffix Znet)++ | doc/Language/glossary.pod6:
Merge pull request #730 from molecules/patch-3

minor typo edit
unmatched} .tell moritz another frequent contributor. I see "Perl 6 member" on them, but they say they can't commit to docs: github.com/perl6/doc/pull/730 15:23
yoleaux unmatched}: I'll pass your message to moritz.
unmatched} m: ^10 .map: *.say; 15:25
camelia rakudo-moar b51908: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
dalek c: d2cc0ca | (Zoffix Znet)++ | doc/Language/traps.pod6:
Sunk map is buggy, not lazy
unmatched} And found and reopened the RT ticket on that topic: rt.perl.org/Ticket/Display.html?id=127879 15:28
15:29 noganex joined 15:30 sno left
dalek c: 5722f79 | (Christopher Bottoms)++ | doc/Language/regexes.pod6:
syntax correction

Correction replaced second smartmatch with double asterisk. Now the statement is true as advertised.
15:31
c: 4eafbfe | (Zoffix Znet)++ | doc/Language/regexes.pod6:
Merge pull request #731 from molecules/patch-3

syntax correction
perlpilot unmatched}: huh ... I didn't see molecules in the member list, so I added him
15:32 noganex_ left
unmatched} weird 15:32
erez \quit 15:38
15:38 erez left
zostay m: my $rx = rx{ 1 }; my $x2 = rx{ $rx }; 15:39
camelia ( no output )
zostay m: my $rx = rx{ 1 }; my $rx2 = rx{ $rx }; say '1' ~~ $rx2 15:41
camelia rakudo-moar 86843a: OUTPUT«True␤»
15:44 avenj joined, avenj left, avenj joined 15:45 abraxxa left 15:51 lizmat joined 15:54 acrussell joined 15:55 iH2O joined 15:58 Actualeyes joined
harmil Speaking of sink, I'm not convinced that the warning for useless use of iterables in sink context should be a thing. e.g.: 15:59
m: sink ^1000
camelia rakudo-moar 86843a: OUTPUT«WARNINGS for <tmp>:␤Useless use of "^" in expression "^1000" in sink context (line 1)␤»
harmil I'm explicitly asking for the expansion of the sequence to be performed and ignored. That's not something that should get a warning, is it? 16:00
jnthn I don't think it's a warning for iterables in general
It's for a useless use of the (known pure) range constructor
m: sink 1, 1, *+* ... 8 16:01
camelia ( no output )
jnthn Note no warning there
harmil m: my @foo = 1,1,*+*...8; sink @foo 16:02
camelia rakudo-moar 86843a: OUTPUT«WARNINGS for <tmp>:␤Useless use of @foo in sink context (line 1)␤»
16:02 cdg left
jnthn The assignment to the array is already eager in that case 16:03
16:05 iH2O left
harmil jnthn: that's not why we get the warning. I won't do the version with 8 replaced by * as it never terminates, but it also gives the warning. 16:05
unmatched} m: sink 1, 1, *+* ... * 16:06
camelia rakudo-moar 86843a: OUTPUT«Memory allocation failed; could not allocate 1146880 bytes␤»
jnthn m: my @foo = 1,1,*+*...8; sink @foo;
camelia rakudo-moar 86843a: OUTPUT«WARNINGS for <tmp>:␤Useless use of @foo in sink context (line 1)␤»
jnthn But that terminates.
harmil It just feels to me as if "sink" means "just do it" and getting a warning that "it" isn't useful just doesn't sit well with me. YMMV. 16:07
jnthn It's not telling you it isn't useful, it's telling you there's nothing to do and you wrote dead code. 16:08
Which the vast majority of the time implies a confused programmer. 16:09
16:09 Actualeyes left
harmil Except it doesn't know that. @a might be anything, and iterating over it might be extremely useful (e.g. it might do a full read from a DB, and I might be timing that) 16:09
unmatched} m: quietly sink ^1000
camelia ( no output )
jnthn m: my @a = lazy gather { say 'we actually run' }; sink @a 16:10
camelia rakudo-moar 86843a: OUTPUT«WARNINGS for <tmp>:␤Useless use of @a in sink context (line 1)␤we actually run␤»
harmil Nice example.
unmatched} m: my @a = lazy gather { say 'we actually run' }; quietly sink @a
camelia rakudo-moar 86843a: OUTPUT«WARNINGS for <tmp>:␤Useless use of @a in sink context (line 1)␤we actually run␤»
jnthn Yeah, that one is more interesting, but now I want to know why the ... one up above didn't hang
unmatched} m: my @a = lazy gather { say 'we actually run' }; sink quietly @a
camelia rakudo-moar 86843a: OUTPUT«WARNINGS for <tmp>:␤Useless use of @a in sink context (line 1)␤we actually run␤»
jnthn oh wait, 'cus I wrote it wrong 16:11
unmatched} Interesting.
jnthn m: my @foo = 1,1,*+*...*; sink @foo;
camelia rakudo-moar 86843a: OUTPUT«(signal SEGV)WARNINGS for <tmp>:␤Useless use of @foo in sink context (line 1)␤»
jnthn Yeah, I'd agree on a variable it's rather dubious.
harmil You get the segv award!
jnthn On sink ^1000 I think it's spot on 16:12
harmil Yeah, at best ^n is just a weird sort of timing test, and I could reasonably expect to have to quiet that manually.
jnthn But yeah, feel free to file it against the @foo case. That does look a bit bogus
harmil And I might expect that the optimizer would not be my friend there
What's the best way to file these days? I always forget. Directly RT or is there a form? 16:13
unmatched} hug[TAB][TAB] damned bot
jnthn Yeah, I think you can file it directly in RT these days, though email may be the easiest way (address in the REAMDE for Rakudo, or at least it should be)
16:14 unmatched} is now known as ZoffixWin, ZoffixWin left, ZoffixWin joined 16:15 huggable joined, ZoffixWin is now known as unmatched}
unmatched} huggable: rakudobug 16:15
huggable unmatched}, To report a bug, email detailed description and any test cases to [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs
unmatched} Mission accomplished :)
16:16 petercommand joined 16:18 dakkar left 16:19 AlexDaniel joined
harmil Done. Even gave it a snappy title. 16:20
jdv79 unmatched}: has any ocd-ish person commented on your nick?
it bothers me slightly
harmil it's better than matched} 16:21
unmatched} jdv79: you're the first on :)
*one
jdv79 oh its you. harmil don't give him ideas!
unmatched} :) 16:22
[matched} is a fun one. Because of IRC protocol's treatment of [ and { :) 16:23
harmil hey. speaking of such things, I was writing some code last night that had to enumerate the pairs of matching brace-like characters from Unicode and I thought there was some way to do that easily in Perl 6, but I can't find it. The Unicode classes Ps/Pe are great for finding them, but not for identifying which go with which.... 16:24
jdv79 something like that should be in the setting, right?
its probably a large map of chars literally so should be easy to spot. maybe. 16:25
unmatched} m: "[".ord.&[+](1).chr.say
camelia rakudo-moar 86843a: OUTPUT«\␤»
unmatched} shrugs 16:26
harmil jdv79: what do you mean by "setting"? 16:28
jnthn m: say chr :16(uniprop('[', 'Bidi_Mirroring_Glyph'))
camelia rakudo-moar 86843a: OUTPUT«]␤»
unmatched} :o
harmil Thanks!
unmatched} m: say chr :16(uniprop('R', 'Bidi_Mirroring_Glyph')) 16:29
camelia rakudo-moar 86843a: OUTPUT«This call only converts base-16 strings to numbers; value 0 is of type Int, so cannot be converted!␤(If you really wanted to convert 0 to a base-16 string, use 0.base(16) instead.)␤ in block <unit> at <tmp> line 1␤␤»
16:30 itaipu joined 16:31 lizmat_ joined 16:32 lizmat left
harmil m: for ^0xffff -> $i { my $c = try { $i.chr }; next if !$c.defined; next unless $c ~~ /<:Ps>/; my $end = :16(uniprop($c, "Bidi_Mirroring_Glyph")); next unless $end.defined; say "$c ~ {$end.chr}"} 16:33
camelia rakudo-moar 59b7e5: OUTPUT«( ~ )␤[ ~ ]␤{ ~ }␤༺ ~ ༻␤༼ ~ ༽␤᚛ ~ ᚜␤⁅ ~ ⁆␤⁽ ~ ⁾␤₍ ~ ₎␤⌈ ~ ⌉␤⌊ ~ ⌋␤〈 ~ 〉␤❨ ~ ❩␤❪ ~ ❫␤❬ ~ ❭␤❮ ~ ❯␤❰ ~ ❱␤❲ ~ ❳␤❴ ~ ❵␤⟅ ~ ⟆␤⟦ ~ ⟧␤⟨ ~ ⟩␤⟪ …»
harmil Thanks again!
unmatched} .u ༺
yoleaux U+0F3A TIBETAN MARK GUG RTAGS GYON [Ps] (༺)
jnthn Font I am disappoint...quite a lot of boxes for me in the latter part of that 16:34
16:34 Actualeyes joined, travis-ci joined
travis-ci Doc build failed. Zoffix Znet 'Merge pull request #731 from molecules/patch-3 16:34
travis-ci.org/perl6/doc/builds/146413972 github.com/perl6/doc/compare/d2cc0...afbfe4ce9b
16:34 travis-ci left
harmil On mac right now. All rendered, amusingly enough. 16:34
Of course, in a Perl context, I have to add <> in manually, but that's fine. 16:36
dalek c: c6e55ce | (Zoffix Znet)++ | doc/Language/traps.pod6:
Add missing POD directive
16:37 canopus left 16:40 sno joined
gfldex where are the docs for META.info? 16:42
unmatched} Maybe in Modules
ugexe meta6.json is documented in s22
stmuk it's in one of the "design" docs
yeah 16:43
16:43 canopus joined
unmatched} I don't think that's up to date 16:43
Like the `resources` design.perl6.org/S22.html#resources 16:44
ugexe only resources
unmatched} What about `support`? I may be misremembering, but our tooling would break if it's missing. Yet, it's marked as optional 16:45
16:46 lizmat_ left
gfldex there is a module called META6 16:46
ugexe afaik everything works without it
16:46 cdg joined 16:51 cdg left
ugexe sub META6(%meta (:$perl, :$name, :$version, :$auth, *%)) { ...; %meta } 16:51
thats what i usually use 16:52
16:52 iH2O joined
ugexe well, :$perl!, :$name!, etc 16:53
16:54 travis-ci joined
travis-ci Doc build failed. Zoffix Znet 'Sunk map is buggy, not lazy' 16:54
travis-ci.org/perl6/doc/builds/146424682 github.com/perl6/doc/compare/95eea...cc0ca6633d
16:54 travis-ci left
tbrowder I'm submitting a doc PR describing the current state of table pod here <github.com/perl6/doc/pull/733>; I will merge it after a good Travis run (fingers crossed--it worked on my local host) unless there are comments before hand 16:55
16:55 jmiven joined
TimToady I think the warning needs to stay on @foo, since it points out the problem with 'say @foo or @bar' 16:55
we might consider turning off the warning inside an explict "sink" 16:56
m: my @foo = 1,2,3; my @bar = 4,5,6; say @foo or @bar 16:57
camelia rakudo-moar 59b7e5: OUTPUT«[1 2 3]␤»
16:58 lizmat joined
TimToady hmm 16:58
m: my @foo = 1,2,3; my @bar = 4,5,6; say @foo or @bar; 42
camelia rakudo-moar 59b7e5: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤[1 2 3]␤»
unmatched} m: my @foo; my @bar = 4,5,6; say @foo or @bar
camelia rakudo-moar 59b7e5: OUTPUT«[]␤»
unmatched} m: my @foo; my @bar = 4,5,6; say @foo and @bar
camelia rakudo-moar 59b7e5: OUTPUT«[]␤»
TimToady that's probably a sink propagation error there
m: my @foo = 1,2,3; my @bar = 4,5,6; say @foo or 42 16:59
camelia rakudo-moar 59b7e5: OUTPUT«[1 2 3]␤»
TimToady yeah, that should probably propagate to the right side
m: my @foo = 1,2,3; my @bar = 4,5,6; (say @foo), @bar; 42 17:00
camelia rakudo-moar 59b7e5: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤[1 2 3]␤»
gfldex m: my Str $s; my @a = quietly $s.split: ','; dd @a;
TimToady m: my @foo = 1,2,3; @foo
camelia rakudo-moar 59b7e5: OUTPUT«Array @a = [""]␤»
rakudo-moar 59b7e5: OUTPUT«WARNINGS for <tmp>:␤Useless use of @foo in sink context (line 1)␤»
TimToady dunno why , isn't propagating, it's supposed to
m: my @foo = 1,2,3; my @bar = 4,5,6; (say @foo), 42 17:01
camelia rakudo-moar 59b7e5: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (lines 1, 1)␤[1 2 3]␤»
17:01 iH2O left
gfldex i'm not sure if splitting an undefined value should result in the empty string 17:01
TimToady m: Int.split(',').say 17:05
camelia rakudo-moar 59b7e5: OUTPUT«Use of uninitialized value of type Int in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1␤()␤»
unmatched} m: my Str $s; my @a = quietly "".split: ','; dd @a; 17:06
camelia rakudo-moar 59b7e5: OUTPUT«Array @a = [""]␤»
unmatched} Kinda makes sense if you squint :)
the sense making part being the uninitilized Str is an empty Str
s/is/treated as/; 17:07
17:07 firstdayonthejob joined
TimToady dinner & 17:07
17:07 kid51 joined, travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Add missing POD directive' 17:07
travis-ci.org/perl6/doc/builds/146426610 github.com/perl6/doc/compare/4eafb...e55cee6b08
17:07 travis-ci left 17:09 user9 left 17:18 colomon left, firstdayonthejob left 17:20 firstdayonthejob joined 17:24 [Sno] joined 17:25 sno left 17:28 cdg joined 17:32 [Sno] left
tbrowder my PR is failing due to: 17:35
www.irccloud.com/pastebin/YqJ46nA3/
explain to me how a new doc can fail that test? 17:36
...looking at the test...
unmatched} tbrowder: you have lines that have trailling whitespace in your document. 17:37
17:37 AndyBotwin left
unmatched} IMO it's a stupid test that just wastes everyone's time, but the concensus so far seems to be that we need it. 17:37
huggable: whitespace
huggable unmatched}, nothing found
harmil Looks like only some of those bracketing characters we were talking about earlier are allowed in P6. See pastebin.com/xHfKUM3A 17:38
For example "Cannot parse quoting q⸨ foo ⸩" 17:39
unmatched} tbrowder: perl -pi -e 's/\s+/\n/' doc/Language/tables.pod6 # should strip everything; untested tho
oops
tbrowder: perl -pi -e 's/\s+$/\n/' doc/Language/tables.pod6 # should strip everything; untested tho
tbrowder okay, the test name i think is misleading, it shoul be something like "no trailing whitespace allowed"
and I need to fix my new emacs editor to do that anyway :) 17:40
17:40 setty1 joined
unmatched} IMO, it's ok. `ok - no trailing whitespace` `nok - no trailing whitespace FAILED Blah blah` 17:40
17:40 pecastro left
tbrowder well the travis message is: "Failed test 'no trailing whitespace in doc/Language/tables.pod6'" 17:42
So a sloppy reader (as I am wont to be) immediatelky thinks ????
So a sloppy reader (as I am wont to be) immediately thinks "why do I need trailing whitespace???" 17:43
17:43 user9 joined
unmatched} :) 17:43
tbrowder anyhoo, I'll fix it... 17:44
gfldex trailing WS can technically lead to broken links
dalek c: a8a0ef7 | (Zoffix Znet)++ | t/trailing_whitespace.t:
Improve trailing whitespace message

Ref: irclog.perlgeek.de/perl6/2016-07-21#i_12882363
17:45
unmatched} gfldex: which can technically be caught by link checkers :)
tbrowder believe me, I am a firm believer in NO trailing WS, it's just that I recently moved from a 20-year XEmacs run to emacs and I'm still find weirdisms, such as my trainging WS zapper is not working...
unmatched} So far, I've seen this test just waste people's time without offering much benefit. 17:46
gfldex there may be other issues too as the pod parser doesn't kill trailing WS anywhere
17:47 jameslenz joined
unmatched} And "run make test before pushing" isn't a good enough excuse, because personally, I do most of my doc commits in the browser. 17:47
tbrowder that could be an issue with WS-col-separated tables, but my grand table pod fix should take care of that 17:48
ugexe just need a whitespaceable to detect whitespace failures and automatically send a commit to the PR with the spaces fixed 17:49
tbrowder i'm not making an excuse, just don't think about that ws test 17:50
17:56 mtj_ joined
harmil BTW: Since it's a timely reddit thing, and punnishingly dove-tails with the previous topic, it's my assertion that this code should detect that I'm being stupid: time perl6 -e 'my $c = (" " x 10000) ~ "end"; for 1..10 -> $i { $c ~~ /\s+$/ }' 17:56
It should also do so without checking my username :)
ugexe how could it know? any object can have its own behavior for ~~ with a .ACCEPTS methods 17:57
unmatched} It could say "unused $i" or whatever 17:58
I think Perl 5 does that
harmil I think that the regex engine should notice that I'm asking for an end-anchored match and quickly check to see if it can't succeed. I think P5 does this, doesn't it?
unmatched} Oh, never mind it doesn't. 17:59
17:59 wamba left
harmil Try running that. It takes about a minute. 17:59
unmatched} harmil: wait, what's the stupid part you mean? That you're using $i as the loop var yet regex matching against $c?
I mean... that $i is unused.
18:00 pyrimidine joined
harmil No, the stupid is that I'm doing an end-anchored regex against a string that will invoke pathological backtracking. 18:00
unmatched} has no idea what that means 18:01
harmil I'm matching \s+$ against a string that's 10,000 spaces followed by "end". Perl looks at all of the spaces together checks for end of string, fails. backtracks to 9,999 spaces and checks for end, fails... and so on. 18:02
18:03 adrusi joined, AndyBotwin joined
harmil perl5-porters had a huge discussion about this way back in the day... I had trouble finding it. It was in the context of a paper that compared DFA/NFA regex matching. 18:04
unmatched} Why is this also slow? my $c = (" " x 10000) ~ "end"; for 1..10 -> $i { $c ~~ /\s+:$/ }
18:05 TreyHarr1 left
harmil Good question 18:05
Horrifyingly, that's actually SLOWER!
18:05 avenj left
timotimo when you run a regex against a string, its ropes will be collapsed 18:06
18:06 sunnavy joined
unmatched}
.oO( regex have ropes... ? )
18:06
timotimo so the moment you run that regex on it, it'll allocate the space for those 10_000 spaces, forgetting it was once a coherent bunch of spaces
harmil m: ((" " x 10000) ~ "end") ~~ /\s+$/
camelia ( no output )
timotimo "its ropes" meaning the string's ropes, not the regexes ropes :)
unmatched}
.oO( strings have ropes... ? )
18:07
What ropes?
timotimo basically a tree-like structure containing substrings and repetitions
so (" " x 10000) ~ "end" is actually stored in memory as "10 thousand times a space, then the string 'end'" 18:08
harmil Ah!
unmatched} Oh
timotimo and when it gets collapsed, it turns into a ~10 kilobyte region in merory containing a crapton of spaces, and then the word "end"
unmatched} So you're saying it's not the regex that's slow by this rope collapsing is slow? 18:09
timotimo ropes are what allows us to use the ~ operator in a loop and not have terrible performance, because we're not copying the big/growing part of the string over and over and over and over again
unmatched} s/by/but/;
timotimo oh, regexes are still kind of slow :)
but the collapsing coud take a bit of time, too
harmil I don't think that's it. Unless I misunderstand the semantics of str vs Str: I tried: time perl6 -e 'my str $c = (" " x 10000) ~ "end"; $c ~~ /\s+:$/'
timotimo m: use nqp; nqp::flattenropes(" " x 10000); say now - INIT now 18:10
camelia rakudo-moar 68afa3: OUTPUT«===SORRY!===␤No registered operation handler for 'flattenropes'␤»
timotimo ah, we don't expose that as an nqp:: op, it seems like?
18:10 spider-mario joined
timotimo m: use nqp; (" " x 10000) ~~ / " " /; say now - INIT now 18:10
camelia rakudo-moar 68afa3: OUTPUT«0.0018640␤»
harmil Oh, so even at the nqp level these exist, so str probably has the same behavior?
unmatched} This is probably the reason for some tickets I've seen that say str is slower than Str.
timotimo m: use nqp; ((" " x 10000) ~ "end") ~~ / \s+$ /; say now - INIT now 18:11
camelia rakudo-moar 68afa3: OUTPUT«10.1804368␤»
timotimo ah. no. it's definitely the regex :)
unmatched} m: use nqp; ((" " x 10000) ~ "end") ~~ / \s+ /; say now - INIT now
camelia rakudo-moar 68afa3: OUTPUT«0.00351346␤»
harmil nice test case, though!
timotimo our regex optimizer is dumb as bricks ;)
harmil I'll submit this. At least it will be useful as a note for the future.
unmatched} timotimo: does this roping hapen with `str`? 18:12
timotimo yes, but Str is just a boxed str
so it happens with Str, too
unmatched} ah
18:12 araujo joined 18:13 araujo left, araujo joined, araujo left, araujo joined 18:14 pecastro joined
harmil For some reason, I thought that Str was a lot more magical that that, and str was just a unicode-step-up from a buf. 18:15
18:16 sufrostico joined 18:17 khw left, FROGGS joined, TreyHarr1 joined 18:18 lizmat left 18:20 hankache joined
[Coke] (perl6 doc) I don't care if someone adds the ending whitespace test to a 'make xtest' or something. 18:22
18:22 TreyHarr1 left 18:23 pmqs_ left 18:24 sno joined
dalek c: 53caa54 | (Brian Duggan)++ | README.md:
README example needs PERL6LIB to be set
18:24
c: 89e63e7 | (Brian Duggan)++ | / (2 files):
search .
c: c7b3869 | (Brian Duggan)++ | bin/p6doc:
slip
c: cc8cdc7 | (Zoffix Znet)++ | bin/p6doc:
Merge pull request #714 from bduggan/fix-readme-example

README example needs PERL6LIB to be set
timotimo nope, str is The Real Deal 18:25
18:27 TreyHarr1 joined, Amnez777 left
dalek c/glossary-cleanup: f0ac523 | Altai-man++ | doc/Language/glossary.pod6:
Deletion of content!

According to github.com/perl6/doc/issues/728, this commit removes glossary items which are already greatly described on different resourses like Wikipedia and are not Perl6-specific.
18:30
c/glossary-cleanup: 7dbcc55 | Altai-man++ | doc/ (7 files):
Content deletion!

This is a second commit for github.com/perl6/doc/issues/728, where items that are already described elsewhere were removed from Glossary page.
18:30 araujo_ joined 18:33 lizmat joined 18:34 araujo left 18:40 domidumont joined 18:41 _4d47 left 18:42 jonas1 left, jonas1 joined, Ven joined 18:43 jonas1 left
dalek c: d023313 | (Tom Browder)++ | doc/Language/tables.pod6:
add new doc about current state of p6 table pod
18:54
c: 1d58889 | (Tom Browder)++ | doc/Language/tables.pod6:
remove trailing ws
c: 6c2c869 | (Tom Browder)++ | doc/Language/tables.pod6:
Merge pull request #733 from tbrowder/pod-tables

add new doc about current state of p6 table pod
18:58 Guest66 joined 18:59 Guest66 left 19:02 domidumont left 19:04 kid51 left, kid511 joined 19:08 khagan left 19:11 Amnez777 joined 19:14 lambd0x left 19:18 sena_kun left 19:20 khagan joined 19:21 araujo__ joined 19:26 araujo_ left 19:28 sno left
dalek c/glossary-cleanup: 68ec049 | (Christopher Bottoms)++ | doc/Language/glossary.pod6:
Added =end pod
19:31
19:32 Begi left 19:35 hankache left
[Coke] latest recommend p6 module for a simple dynamic web app? 19:38
unmatched} Inline::Perl5 + Mojolicious :P
I think people (masak) had luck with HTTP::Server::Tiny 19:39
19:39 sena_kun joined, darutoko left, sno joined 19:42 addison joined 19:43 labster joined 19:44 brrt joined
dalek c: 8053deb | (Tom Browder)++ | doc/Language/tables.pod6:
fix typo
19:45
El_Che [Coke]: I think you question is a popular one. I asked it myself and I have seen people popping in asking the same question 19:49
unmatched} ditto
Someone smart should hack up an awesome web framework :D
ugexe inline::perl5 + CGI.pm
unmatched} throws up 19:50
El_Che where is the big trout
19:58 itaipu left
perlpilot DrForr's Prancer looked nice, but I don't see it on modules.perl6.org 20:02
I was planning on playing with HTTP::Server::Tiny myself 20:03
20:03 avenj joined, avenj left, avenj joined
perlpilot (probably because of something masak wrote about it :) 20:03
lizmat decommute& 20:04
20:04 ptolemarch left, lizmat left
[Coke] .... eh, this is a pre-POC. mojo5 it is, for a few days, at least. 20:04
20:12 avenj left 20:14 kid511 left 20:15 huggable left, huggable joined 20:21 FROGGS left
jdv79 i would have liked a mojo6 but someone ran sri out of here so thanks for that 20:25
20:29 sno left
timotimo o_O 20:29
unmatched} pfft... he was saying Perl 6 had no chance of success long before that 20:30
20:30 araujo_ joined
unmatched} In fact, the whole storming out of here looked more of an excuse to leave. 20:30
jdv79 maybe he'll be back someday 20:31
mspo CGI is a perfectly good protocol 20:32
timotimo i didn't even see all that
unmatched} And the reason for his storming out is [Coke] basically saying "then why are you here?" after he was going on and on about why Perl 6 sucks: irclog.perlgeek.de/perl6/2016-01-08#i_11853185 20:33
I wouldn't exactly call that "running someone out"
20:34 araujo__ left
moritz m: await Promise.anyof(Promise.in(1), start { 42 }).then({ say .result }) 20:36
yoleaux 15:23Z <unmatched}> moritz: another frequent contributor. I see "Perl 6 member" on them, but they say they can't commit to docs: github.com/perl6/doc/pull/730
camelia rakudo-moar d789da: OUTPUT«True␤»
moritz unmatched}: I'm pretty sure they can, just haven't realized it, or still likes pull requests 20:37
timotimo hmm
moritz how do I actually get the promise that was fulfilled?
timotimo you'd keep the promises in variables, i expect 20:38
moritz don't we have a first() or race() or so for promises?
timotimo with whenever you can do that 20:39
20:41 nightfrog joined
brrt hmmm 20:41
20:42 dvinciguerra_ left
moritz whenever needs a supply 20:42
timotimo it can't work with promises at all? 20:45
but you know that you can coerce a promise into a supply?
at least i think you can
brrt it remains a real shame that perl6 has proven to be so divisive
.. that said, i think that the goal of 'a more perlish perl' has been achieved 20:46
timotimo m: react { whenever Promise.in(1) { say "timeout"; last }; whenever (start { 42 }) { .say } }; say "done"
camelia rakudo-moar d789da: OUTPUT«42␤timeout␤done␤»
timotimo m: react { whenever Promise.in(1) { say "timeout"; last }; whenever (start { 42 }) { .say; last } }; say "done"
oh, that's not the right one
camelia rakudo-moar d789da: OUTPUT«(timeout)42␤»
timotimo m: react { whenever Promise.in(1) { say "timeout"; done }; whenever (start { 42 }) { .say; done } }; say "done"
camelia rakudo-moar d789da: OUTPUT«42␤done␤»
timotimo i wanted done, not last, because last is for the whenever, not for the react 20:47
20:49 kaare_ left
dalek c: 97cd5ed | (Sterling Hanenkamp)++ | doc/Language/traps.pod6:
Adding docs for the named parameter trap (#734)
20:51
AlexDaniel hmm didn't really mean to squash there but it's ok 20:52
20:55 pmqs joined
moritz www.perlmonks.org/?node_id=1168103 better solutions would be very welcome 20:57
20:58 dvinciguerra_ joined
timotimo moritz: i bet we have a Supply combinator that does individual timeouts per "message" 20:59
20:59 skids left, TEttinger joined 21:01 nbg joined, pmqs left 21:02 sufrosti1o joined 21:05 domidumont joined, mcmillhj left
perlpilot moritz: you suggested what I would have. So we're at least equally bad at concurrency ;) 21:06
moritz gist.github.com/moritz/e632e4df754...9d10e12e62 is my current attempt, but it doesn't print anything 21:08
$source.tap(&say) does print the messages as expected 21:09
21:11 sno joined
timotimo moritz: i'd totally write sub source as a supply block with whenevers, but we really don't have a supply that fires at random intervals ... 21:13
moritz and the Heartbeat supplie also emits once
timotimo: sub source, albeit clunky, isn't the problem 21:14
the problem is that whenever $source.zip-latest($heartbeat) { } never fires
21:15 acrussell left
timotimo you probably want a :partial or what it's called? 21:15
or ... is that exactly what zip-latest does?
ah, you probably need a :initial? 21:16
moritz docs.perl6.org/type/Supply#method_zip-latest
is this a bug in zip-latest 21:17
timotimo By default, all supplies have to have at least one value emitted on them before the first combined values is emitted on the resulting supply. - that's what i meant 21:21
moritz but, each of them emit eat least one value 21:22
*at least
21:24 rindolf left 21:30 domidumont left, brrt left
moritz oh wow, it gets weirder and weirder 21:37
perlpunks.de/paste/show/579140e7.765d.d8 21:38
21:40 kevina joined, dvinciguerra_ left
timotimo wow, that seems really b0rked 21:40
moritz submits rakudobug
I hadn't check perlmonks for a few months, and now two Perl 6 questions within the last 4 days. Nice. 21:43
timotimo has to go to bed
moritz too 21:44
should have gone an hour ago
21:49 Ven left 22:02 spider-mario left 22:07 avenj joined, avenj left, avenj joined 22:13 TreyHarr1 left 22:15 addison left 22:19 avenj left 22:20 Sgeo joined, girafe2 left 22:22 lizmat joined 22:24 addison joined, kurahaupo joined 22:29 TreyHarr1 joined 22:31 kurahaupo left 22:34 firstdayonthejob left 22:37 cyphase left 22:39 TreyHarr1 left, setty1 left 22:40 harmil left 22:41 cyphase joined 22:43 tbrowder left 22:49 TreyHarr1 joined 22:50 sufrosti1o left 22:55 Zoffix joined 22:56 Guest66 joined, Guest66 is now known as P6fr
P6fr Hello 22:56
Zoffix m: say IO::Pipe.^can('close')
ovibos hello!
camelia rakudo-moar d789da: OUTPUT«()␤»
Zoffix How come that's empty? Proc's .out returns an IO::Pipe and you can call .close on it 22:57
I wanna find where in the sauce .close is defined
gfldex m: dd IO::Pipe.^parents 22:58
camelia rakudo-moar d789da: OUTPUT«(RESTRICTED-CLASS,)␤»
Zoffix Ah, camelia is restricted. gfldex++ 22:59
P6fr you use any editor for perl ? (using what editor ? this is how you say? i'm speak french)
gfldex Zoffix: looks like src/core/IO/Handle.pm
P6fr atom ? vim ? 23:00
Zoffix Thanks
gfldex many of the core devs use vim
Zoffix P6fr, atom, but I hate it. When Sublime Text 2 will support Perl 6 highlighting, I'll use that
jdv79 whatever you want. notepad works:)
P6fr me too Zoffix 23:01
gfldex there is no syntax highlighter right now that works properly
Zoffix atom's works fine.
Well, not the default one. MadcapJake's one 23:02
gfldex i switched it off, because quote constructs seam to be very confusing
P6fr atom is not perfect in syntax highlighter P6
jdv79 i thought the vim one was close
Zoffix github.com/MadcapJake/language-perl6fe/
gfldex the vim one is quite good but also quite slow.
Zoffix P6fr, do you have perl6fe package enabled? Enable perl6fe and disable 'perl' or whatever it's called.
P6fr yes
jdv79 oh
P6fr audrey tang <3
lol 23:03
jdv79 maybe just embed a p6 runtime in vim eventually but that seems sad
P6fr perl6fe recognize .elems but not .words
jdv79 and eclipsish
Zoffix P6fr, well, it's opensource. Report it on github.com/MadcapJake/language-perl6fe/ or better yet, send a PR 23:04
P6fr, seems one just has to add `words` to this list: github.com/zoffixznet/language-per....cson#L941
Err.. Right place, but wrong repo/commit :) 23:05
P6fr haaaaaa
ok fine
i want perl6fe on sublimtext
i hate atom
:( 23:06
gfldex to highlight .words propery a highlighter would need to know if a class is a subclass of Any or Mu. In the latter case .words is not defined. I strongly doubt they will be able to any time soon.
Zoffix That seems to expect too much from a syntax highlighter. 23:07
23:07 TreyHarr1 left
P6fr ok 23:07
jdv79 so p6 can be parsed easierly than p5 but not highlighted? 23:09
gfldex m: my %h = :1th; say "abc{%h{"th"}}";
camelia rakudo-moar d789da: OUTPUT«abc1␤»
23:10 Zoffix left, Vitrifur joined
gfldex jdv79: the highlighter has to keep track of a lot of stuff. The term:<> for instance. That can be pretty much anything. 23:11
dalek c/glossary-cleanup: 5a2be58 | Altai-man++ | doc/ (7 files):
Content deletion!

This is a second commit for github.com/perl6/doc/issues/728, where items that are already described elsewhere were removed from Glossary page.
23:12
c/glossary-cleanup: 3dd04db | (Christopher Bottoms)++ | doc/Language/glossary.pod6:
Added =end pod
23:13 avenj joined, avenj left, avenj joined 23:14 Vitrifur left
gfldex m: my $short-var = 1; say "abc$short-vardef"; 23:14
camelia rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$short-vardef' is not declared. Did you mean '$short-var'?␤at <tmp>:1␤------> 3my $short-var = 1; say "abc7⏏5$short-vardef";␤»
gfldex syntax highlighter would be super useful if they would reliably show interpolation in tricky situations. They don't. 23:16
23:16 jack_rabbit joined 23:19 P6fr left
jdv79 its gonna require a runtime 23:20
23:20 travis-ci joined
travis-ci Doc build failed. Christopher Bottoms 'Added =end pod' 23:20
travis-ci.org/perl6/doc/builds/146519970 github.com/perl6/doc/compare/68ec0...d04db86b5b
23:20 travis-ci left 23:21 Guest66 joined 23:23 Guest66 is now known as P6fr 23:25 mr-foobar joined 23:30 AlexDaniel left
gfldex the docs build fine, travis is late again 23:35
23:38 cdg_ joined 23:40 aries_liuxueyang left, cdg left
sena_kun gfldex, only pure branch failed(since I forked it from broken commit), merged version is okay. If you're interested in this updated pull-request, can we merge it? It seems nobody is against removing of already explained items. 23:43
dalek c: 5a2be58 | Altai-man++ | doc/ (7 files):
Content deletion!

This is a second commit for github.com/perl6/doc/issues/728, where items that are already described elsewhere were removed from Glossary page.
23:44
c: 3dd04db | (Christopher Bottoms)++ | doc/Language/glossary.pod6:
Added =end pod
c: babf163 | (Wenzel P. P. Peppmeyer)++ | doc/ (7 files):
Merge pull request #735 from perl6/glossary-cleanup

Glossary cleanup
gfldex sena_kun: i'm doing a local build right now and will fix any problems
sena_kun gfldex, thanks! I will delete glossary-cleanup branch then. 23:46
23:46 aries_liuxueyang joined
gfldex sena_kun: build is fine and looks good 23:52
sena_kun I somewhat updated list, but I noticed one thing: I accidently "left behind" JIT and JVM definitions. Previously they point to wikipedia. Should I restore them? 23:54
23:54 kurahaupo joined
dalek c: 21f0685 | (Zoffix Znet)++ | doc/Type/IO/Pipe.pod6:
Document IO::Pipe's .close method
23:55
sena_kun gfldex, ^ 23:57
dalek c: 7e00611 | (Zoffix Znet)++ | doc/Language/traps.pod6:
use shorter line length for code example