»ö« 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.
AlexDaniel samcv: oh, and we will also get proper highlighting? Hooray! 00:07
samcv i'm trying to get their command line program to work but it's not doing anything
well maybe i'll have better luck using code instead of the bin 00:08
00:10 syko joined
syko hello 00:10
00:11 syko is now known as Guest41663
SmokeMachine hi 00:11
Guest41663 is perl still relevant? 00:12
samcv oh nice i got it to work
AlexDaniel, :)
will require node instead of pygments but that shouldn't be too hard..
i just need to figure out how to automate it or something i guess
to make some node package that will do the actual work and get all the dependencies 00:13
00:13 Guest41663 left 00:14 scm joined
AlexDaniel Guest41663: You're not even wrong. Perl 6 was released less than a year ago, how can't it be “still relevant” if it is so new? 00:14
ah he quit
ok bye
00:17 wamba left 00:19 lucasb left
geekosaur trolls aren't worth the effort anyway 00:21
00:26 BenGoldberg left 00:30 yubimusubi joined 00:32 pyrimidine left 00:33 pyrimidine joined, labster left, labster joined 00:34 Possum left 00:39 pyrimidine left, lichtkind_ joined 00:40 dataf3l joined 00:42 dataf3l left 00:43 lichtkind left 00:45 scm left 00:47 pyrimidine joined
samcv dope AlexDaniel i now have something that when run, will highlight all the files in a specified folder 00:48
now gonna try like. actually opening it in browser
AlexDaniel geekosaur: how can you tell if someone is a troll or is just slightly stupid? 00:49
samcv AlexDaniel, what we can do is basically use any Atom theme for our CSS or whatever 00:50
AlexDaniel samcv: sure, if there is one with compatible license 00:51
samcv what do they have to be? is MIT ok?
00:52 dataf3l joined 00:54 dataf3l left
AlexDaniel I guess so, but I have no idea actually :) 00:55
00:57 gombloddo joined, dataf3l joined
gombloddo Guest41663: nah, everybody uses python ;) 00:57
00:58 gombloddo is now known as gombloddho 01:00 dataf3l left, gombloddho left 01:01 _28_ria left 01:03 _28_ria joined
samcv well i got it working AlexDaniel 01:03
01:04 _28_ria left
AlexDaniel samcv: is it faster? Is highlighting better? 01:05
samcv idk probably faster otherwise github wouldn't do it
hold on
01:05 _28_ria joined, aborazmeh joined, aborazmeh left, aborazmeh joined
samcv ok 21 seconds to highlight all the *.pm files in rakudo/src/core 01:06
that's 143 files 01:07
antd 40,000 lines
AlexDaniel and pygmentize? 01:08
samcv checking
AlexDaniel samcv: please note that there are two ways one can build docs with pygmentize 01:09
samcv yep
AlexDaniel ah ok, you know
samcv what's nice with using highlights, is we can define what color we want each thing to be 01:10
like variables etc etc
make our own theme with a distinction that may not be made for a standard atom theme. perl 6 specific
since all the things are tagged with what they are 01:11
what type of thing they are etc
ok a lot longer than 20 seconds
it's still going (this is calling pygmentize each time)
AlexDaniel ya… okay. Yea, I have been using pygmentize for some other stuff and I too noticed that it is a bit slow
samcv yeah 01:12
even if inline python is 2x faster
we're gonna get like an 8x speed boost
at least
idk it's still going
AlexDaniel samcv: great. PR?
samcv hah
ok took 180 seconds
01:12 dataf3l joined
samcv vs 20 01:12
*22 01:13
AlexDaniel this sounds like a great change, in all ways
samcv yeah
01:15 sufrostico joined
samcv do we highlight all at once? 01:16
or per file
AlexDaniel ?
samcv i mean the coffescript file i have, it basically finds all the files in a directory, highlights them and outputs to stdout
AlexDaniel 🤷 01:17
samcv it looks like it calls highlight-code-blocks only once hm 01:18
but i could be wrong
MasterDuke samcv: so highlights uses (can use?) the atom highlighting rules you've been working on? 01:19
samcv yes
MasterDuke cool
samcv and we could potentially have our own custom style that could tag different types of syntax properly
i don't have it integrated with the doc builder atm. but i have it creating html from all the files inside a folder 01:20
01:20 rindolf left
samcv and it's 9x faster than using the pygmentize command 01:21
who is the best person to talk to about htmlify.p6? 01:23
MasterDuke not sure. look at it's history and see who has made a lot of commits recently? 01:25
samcv yeah. would be cool if it could just put all the code needing to be highlighted in some folder, i get my coffeescript thing to basically highlight all files in there and put them into some other named file 01:27
and then it can just do that
maybe eventually could make it threaded 01:28
and do the threading in node
samcv barely knows how to code in coffeescript/javascript
but i've been making it work… haha
timotimo you could serialize all the content to json - or use some other way to clearly mark where one thing starts and another ends 01:29
then htmlize could just feed a whole lot of content into your script and your script could feed stuff back in the right order
or your script offers a service via HTTP and htmlize makes HTTP requests :)
samcv that would be cool
timotimo IPC is a solved problem, which is why there are about a million different ways to do it and they all suck in some way or another
samcv haha 01:30
MasterDuke that's the good thing about standards...
samcv well here is all the files in rakudo/src/core highlighted cry.nu/files/new.html 01:32
or at least some of them
oh hey it's still coping to server
no wonder it didn't all load hah
ok shouldn't have done this it's many MB big
timotimo oh, my browser is quite ... happy about this big file 01:33
samcv but go aheda and take a look and see how at least this theme looks
haha
timotimo for our docs it'd be interesting to have the same background color too
samcv background?
timotimo wait a sec
when we're talking about htmlify, i thought you meant docs.perl6.org? code blocks there have a background color 01:34
#F5F2F0 if i hit the right element
01:34 BenGoldberg joined
samcv i mean the docs i guess 01:34
timotimo it still looks good 01:35
i was worried the comments might be problematic, but the contrast is still good enough for me
samcv yeah. i mean it's not that great. the css is really basic
ah
timotimo no clue about other people, though i suppose people with color-blindness or need for high contrast will have some kind of override in place through their accessibility tools
samcv but since the syntax are all tagged with what they are, like strings or interpolated strings or whatever. we can get it exactly how we want i guess
i don't like the method color here. hm 01:36
lemme try the theme in atom i use
timotimo i'm way late for bed. bye for now! 01:37
samcv ok updated the css 01:38
01:39 pyrimidi_ joined, pyrimidine left
timotimo um ... 01:39
this looks like it wants to be on a dark background 01:40
samcv probably
hmm moritz looks like he has done a lot of things on the pygmentize section 01:41
timotimo o/ 01:43
MasterDuke samcv: some of the unicode symbols don't seem to be making it through, e.g., src/core/Version:163: multi sub infix:«<=>»(Version:D \a, Version:D \b) { a cmp b }
timotimo webserver most probably defaults to latin1 01:44
samcv yeah probably
timotimo a <meta equiv="content-type something something"> should do it i think?
why am i still on the 'puter
MasterDuke timotimo: 'cause you're dying to merge my rakudo PR? 01:46
samcv .seen moritz 01:48
yoleaux I saw moritz 18 Dec 2016 21:46Z in #perl6: <moritz> just /bin/sleep or p6 scripts
samcv wait but how long ago is that :\
like 5 hours ago?
01:53 lichtkind_ left
geekosaur y 01:55
MasterDuke 4
geekosaur can't modulus tonight apparently, sigh 01:56
01:57 cdg joined 02:05 ufobat left 02:10 sufrostico left 02:11 dataf3l left 02:13 _28_ria left 02:14 _28_ria joined 02:22 espadrine left 02:26 pyrimidine joined, pyrimidi_ left 02:35 dataf3l joined 02:36 AlexDaniel left 02:40 imcsk8 left, imcsk8 joined 02:45 ilbot3 left 02:47 ilbot3 joined 02:54 kalkin- joined 02:57 kalkin-_ left 03:02 noganex joined 03:04 mad__ joined
samcv oh crap 03:04
i think i got it working
with docs
03:04 xtreak joined
samcv how did i do this 03:05
well it looks like it's working anyway :P will wait for doc build to finish and then prolly make a PR once it doesn't suck or something. i still need to automate grabbing highlights and dependencies (it builds onigumura regex engine and other dependencies) when you run it
03:06 noganex_ left
samcv mostly will just need `npm` and then also grab the atom perl6 grammar 03:06
03:07 aborazmeh left, cooper_ left 03:08 cyphase left, cyphase joined
samcv and it's kind of inefficient calling it every single time though… 03:09
brb
03:14 cdg left 03:16 raiph left, raiph joined 03:18 SHODAN left 03:19 SHODAN joined
samcv well not quite working right that way, but could just pass the filenames to the script that is working and do it that way 03:23
03:28 diegok left 03:29 diego_k joined 03:30 dustinm` joined 03:32 Actualeyes joined 03:45 cdg joined 03:49 cibs left 03:50 cibs joined, pisa joined 04:00 BenGoldberg left
pisa hi, everyone, i have a question on controlflow for. 04:00
here are my test on for statement, two test file , for_default_var.pl and for_default_var_hide.pl : 04:01
first test, for_default_var.pl: use v6; for 'test.txt'.IO.lines { say $_; };
04:01 BenGoldberg joined
pisa second test , for_default_var_hide.pl : use v6; for 'test.txt'.IO.lines -> $line { say $_; }; 04:01
and the file test.txt's contents are: test.txt: test line 1 test line 2 test line 3
i think , the two programes are produce the same result 04:02
but the test are different
TimToady they shouldn't
if you bind to -> $line, it won't set $_
that is, if you leave out -> $line, it implies -> $_ 04:03
pisa thanks, i need read the perl6 documention more carefully 04:05
04:14 dalek left 04:15 dalek joined, ChanServ sets mode: +v dalek 04:23 stmuk_ joined 04:24 stmuk left 04:28 labster left 04:33 cdg_ joined, pisa left 04:34 aborazmeh joined, aborazmeh left, aborazmeh joined, cdg left
samcv ok _now_ i got it working properly :) 04:41
i think i should hopefully just need to add in the css and add some stuff to the makefile to initialize the highlights package 04:42
hopefully --sparse=10 won't take too long
04:52 labster joined 05:09 cognominal left 05:15 khw left 05:24 CIAvash joined 05:30 labster left 05:32 BenGoldberg left, BenGoldberg joined, Actualeyes left 05:33 mr-foobar joined 05:40 Cabanossi left, BenGoldberg left 05:41 skids left 05:43 Cabanossi joined, BenGoldberg joined 05:52 cognominal joined 05:59 Khisanth left 06:12 Khisanth joined 06:19 aborazmeh left
samcv ok i succeeded! this is really fast 06:21
sending highlights the filenames to process on stdin, then it returns a single line of html
moar's cpu usage is like 10x what highlights is while processing them 06:22
so doesn't seem to be bound by the highlighter
06:24 dataf3l left
samcv maybe 10x faster… 06:26
06:32 ufobat joined 06:33 rburkholder joined 06:34 cibs left 06:36 cibs joined
samcv i'm doing a clean build now and going to see how long it takes 06:38
it's reading the files super fast though... they're just like scrolling fast on the screen (i'm having it print to stderr each file the node program receives)
06:42 darutoko joined 06:44 sydney_falk joined
samcv wow did a full build in 16.5 minutes on my old x220 laptop 06:46
06:49 RabidGravy joined
samcv it used to take hours for me... 06:49
with inline python even
06:56 salva0 joined 06:59 bjz joined 07:00 salva left
samcv OMG IT WORKS 07:05
heh got the stylesheet in there
dalek c/highlights: 8423f47 | samcv++ | doc/Language/operators.pod6:
Add an X< > for ≅
07:08
c/highlights: 3e36b58 | samcv++ | h (2 files):
Commit WIP to use highlights instead of pygmentize
c/highlights: 67a1505 | samcv++ | / (7 files):
Commit a now working version using highlights
07:09 xtreak left 07:10 Ben_Goldberg joined, BenGoldberg left 07:11 Ben_Goldberg is now known as BenGoldberg
samcv hopefully people will start waking up by now :) 07:12
07:13 xtreak joined 07:14 cdg_ left
RabidGravy well my body is moving around 07:15
07:15 cdg joined, cdg left
samcv RabidGravy, how long do the builds usually take you? i remember it being hours for me. like just let it go overnight or something 07:15
07:15 cdg joined 07:16 effbiai joined, salva0 left, bjz left
RabidGravy of rakudo? about twenty minutes on this computer 07:17
samcv no i mean the docs
RabidGravy oh I don't remember hardly ever build the docs
samcv yeah cause it takes like 9000 years
07:17 salva0 joined 07:20 BenGoldberg left
dalek c/highlights: 9a07a2d | samcv++ | highlights/highlight-filename-from-stdin.coffee:
Remove split which isn't in the node package dependencies
07:21
07:22 pierre_ joined, pierre_ left, pierre_ joined
RabidGravy right, off to the code mines. Hi Ho! 07:23
samcv have fun
07:26 pyrimidine left 07:28 travis-ci joined
travis-ci Doc build passed. Samantha McVey 'Commit a now working version using highlights' 07:28
travis-ci.org/perl6/doc/builds/185073006 github.com/perl6/doc/compare/8423f...a15052abbd
07:28 travis-ci left, bjz joined
samcv well it doesn't default to the new highlighting but. maybe i should make travis do that 07:29
07:31 wamba joined
samcv oh if anybody doesn't want to build it... Here i put the /language directory on my server cry.nu/language/grammar_tutorial.html 07:32
07:35 labster joined
dalek c/highlights: f098bb0 | samcv++ | .travis.yml:
Have travis build the highlights
07:36
arnsholt samcv: Looks like a good tutorial! 07:38
samcv i didn't write it tho
arnsholt Haha, I've never seen it before so I thought it was new =D 07:39
samcv but it was generated with `highlights´ which is what atom and github use to highlight stuff
arnsholt Sorry =)
samcv np
builds all the docs in 15 minutes on my x220 laptop
arnsholt In that case, it looks very neat too!
samcv with highlighting. it's awesome. i just got it working like 30 mins ago
and the css styling is based on actual syntax features, so we can easily tweak it to highlight different types of things differently
arnsholt And it does highlight one of the things I thought about the tutorial, namely that the ".. methods 'n stuff.." should be a comment, because it highlights badly (being bad code, and all) 07:40
Oooh, that sounds pretty nice!
samcv yeah
if you don't know i've been working a ton on the atom/github highlighter. soonish github should pull in the changes i've made in the last month 07:41
but they're been enormous
changelog is really long :)
07:41 travis-ci joined
travis-ci Doc build passed. Samantha McVey 'Remove split which isn't in the node package dependencies' 07:42
travis-ci.org/perl6/doc/builds/185074632 github.com/perl6/doc/compare/67a15...07a2d407c9
07:42 travis-ci left
samcv arnsholt, it uses ruby's regex engine onigumura so it's easily like 10x+ faster at highlighting than pygments 07:43
plus the highlighter is now a perl6org project ;) so that is a plus too
07:45 pyrimidine joined
arnsholt Indeed 07:45
samcv++ 07:46
Given the raft of PR mails I've seen in my inbox with your name on 'em, you've earned more than a few karma points, I think =)
samcv =) 07:49
07:49 pyrimidine left 07:53 travis-ci joined
travis-ci Doc build failed. Samantha McVey 'Have travis build the highlights' 07:53
travis-ci.org/perl6/doc/builds/185076494 github.com/perl6/doc/compare/9a07a...98bb073a0e
07:53 travis-ci left
samcv hmm i think it succeeded but it said broken pipe 07:54
07:55 domidumont joined 07:58 pyrimidine joined 07:59 domidumont left
samcv maybe because their node version is 0.10 and mine is 7 08:00
08:00 domidumont joined
samcv how... 08:00
08:03 pyrimidine left
dalek c/highlights: ea24a55 | samcv++ | .travis.yml:
Try to get a newer version of node installed.
08:06
08:08 Actualeyes joined
moritz man, nodejs is like cancer; you just can't seem to avoid it when projects get older 08:10
samcv heh 08:11
what do you mean about projects getting older though?
08:11 travis-ci joined
travis-ci Doc build failed. Samantha McVey 'Have travis build the highlights' 08:11
travis-ci.org/perl6/doc/builds/185076494 github.com/perl6/doc/compare/9a07a...98bb073a0e
08:11 travis-ci left
samcv i think it's actually building fine. but i get a pipe error at the end of the build probably from rakudo killing node 08:12
but it's node 0.2
i really don't know wtf github is doing with travis ci
why can't i have software newer than like released in 2011 08:13
moritz samcv: well, perl6/doc is a few years in the making by now
samcv oh i see
well that's what github decided to use for first-mate/highlights so :/ at least it's really fast 08:14
prolly cause it uses onigumura regex engine that ruby uses and not like. pythons or something idk. maybe pygments is just slow and complex 08:15
moritz or maybe they simply follow the fastest-growing community 08:18
samcv i think it was mostly because they wanted a text editor, and wanted to share code between atom and github i suspect
they basically created the node oniguruma regex engine package themself and first-mate to parse the grammars and then use that node package. idk 08:19
probably was the easiest way to make a text editor not sure
i always thought node was just really weird
i'm not sure why it took off 08:20
08:20 pyrimidine joined, travis-ci joined
travis-ci Doc build failed. Samantha McVey 'Try to get a newer version of node installed.' 08:20
travis-ci.org/perl6/doc/builds/185081867 github.com/perl6/doc/compare/f098b...24a55755d6
08:20 travis-ci left
moritz I kinda understand the apeal of using the same language for backend and frontend 08:21
samcv oh well it's using a newer node. but still getting broken pipe
moritz and also the appeal of starting from a clean slate, without the baggage of years of best pratcises, having to worry about backwards compat and all that 08:22
on the other hand, I don't like JS all that much :-)
samcv clean slate? i mean. it's javascript on google's V8 engine
sounds like baggage galore 08:23
though i guess it's nice they basically develop the the engine for free...
08:24 pyrimidine left
samcv and node has god aweful error messages too 08:26
really bad
even microsoft's visual studio code is based on Electron which is just chromium+node for desktop apps 08:28
08:29 xtreak left 08:31 pyrimidine joined, xtreak joined 08:33 CIAvash left 08:36 pyrimidine left 08:39 pyrimidine joined
samcv but i guess we can embrace it since we can run nqp on node now too ;P 08:39
08:46 pyrimidine left 08:48 cyphase left 08:51 g4 joined, g4 left, g4 joined 08:53 cyphase joined 08:55 xtreak left 08:56 Vynce joined, xtreak joined 09:01 cdg left 09:02 cdg joined 09:03 jonas2 joined, pyrimidine joined
samcv goddamit my moar is broken. and i have no clue why. i tried installing again a ton of times 09:05
perl Configure.pl --prefix="$HOME/perl6"
then running make then make install, and i keep getting errors it can't find moar.so
09:07 pyrimidine left 09:08 dakkar joined 09:10 cdg left 09:12 thayne joined 09:13 pyrimidine joined 09:15 abraxxa joined 09:18 pyrimidine left 09:23 abraxxa left, pyrimidine joined, abraxxa joined 09:27 pyrimidine left
samcv oh i got it fixed. was a recent commit to moar which has now been reverted 09:30
09:33 rburkholder left, Vynce left
lizmat sometimes it's good I have a MoarVM commit bit :-) 09:35
09:36 rindolf joined 09:43 pyrimidine joined 09:48 pyrimidine left 09:52 bjz_ joined 09:53 bjz left 10:02 lucasb joined 10:03 TEttinger left 10:05 pyrimidine joined 10:09 cognominal left 10:10 labster left, pyrimidine left 10:32 greeny___ joined 10:35 xtreak left 10:37 xtreak joined
samcv :) 10:42
samcv waves 10:43
timotimo o/
10:47 pierre_ left, bjz_ left, pierre_ joined
lizmat waves back at samcv 10:47
10:47 bjz joined 10:49 AlexDaniel joined, pyrimidine joined
AlexDaniel samcv: “old x220 laptop” ha 10:49
I'm still using x200
samcv well. old relatively. i had an x200 before this one :) 10:50
timotimo i had an x220s before getting my current t440s
samcv idk this laptop must be like 5 years ago old
AlexDaniel and x200 is *slooowly* approaching a 10 years mark :) 10:51
samcv isn't it like 8 year old now 10:52
10:52 brrt joined 10:53 greeny___ left 10:54 pyrimidine left 10:56 zakharyas joined, pierre_ left 11:02 wamba left 11:10 dayangkun joined, dayangkun left 11:13 zakharyas left 11:14 pyrimidine joined 11:17 ssm joined 11:18 pyrimidine left 11:24 espadrine joined 11:28 abruanese joined 11:36 lizmat left
samcv AlexDaniel, i made a PR for JSON::Fast for at least the null byte 11:37
11:37 araujo left
samcv since that's the main character that will be a problem, less likely the other control characters that are technically not allowed, but implementations may let them be used anyway 11:37
AlexDaniel yaaay
11:37 lizmat joined 11:38 pyrimidine joined, araujo joined 11:42 pyrimidine left 11:44 cognominal joined
samcv i'm headed off to bed now. night *.all 11:45
lizmat gnight samcv 11:47
DrForr finally can type w/o lagging to hell and back. 11:49
yoleaux 10 Dec 2016 12:11Z <moritz> DrForr: we've switched your advent post with titsuki's, so now you have until the 11th to write/publish yours
DrForr I hope that was from before I had to explain my ... bandwidth limitations :) 11:50
moritz yes, we managed 11:51
DrForr Yeah, I saw. I was dealing with barely 3G over a cell tower located at the bleeding *edge* of reception range. 11:53
11:56 xtreak left 11:58 pyrimidine joined 11:59 xtreak joined 12:01 xtreak left 12:03 pyrimidine left, mad__ left 12:07 teksteiner joined 12:09 wamba joined 12:11 pmurias joined, lizmat left 12:14 wamba left 12:23 pyrimidine joined 12:26 lizmat joined 12:28 pyrimidine left 12:34 sydney_falk left
tadzik it's postwriting time \o/ 12:36
timotimo oh yeah!
i really liked nigel's post
i had imagined something just like that in the past
tadzik oh ermagherd 12:38
this is great
12:40 sufrostico joined, sufrostico left, sufrostico joined 12:49 pierre_ joined 12:52 AlexDaniel left 13:03 ChoHag left 13:09 pyrimidine joined, Sgeo left 13:13 pyrimidine left 13:16 pyrimidine joined 13:21 pyrimidine left
[Coke] samcv: faster doc build - definitely use Inline::Python if you're highlighting for a speed boost over exec'ing python 13:21
[Coke] sees this was already discussed. whoops 13:22
13:23 pyrimidine joined 13:27 pyrimidine left
cognominal I have a problem apparently with lazyness... 13:29
timotimo me, too
cognominal for dir() { .say; indir $_, { print '.' }} # prints one dot per file
for dir() { indir $_, { print '.' }} # prints less dot then previous one 13:30
forget the .say in the first snippets. 13:31
[Coke] m: for dir() { .say; indir $_, { print '.' }}
camelia rakudo-moar 9120ac: OUTPUT«".cpanm".IO␤.".local".IO␤.".npm".IO␤.".perl6".IO␤.".perlbrew".IO␤.".rcc".IO␤.".ssh".IO␤."Perlito".IO␤."evalbot".IO␤."log".IO␤."nqp-js".IO␤."p1".IO␤."p2".IO␤."perl5".IO␤."std".IO␤.".bash_history".IO␤Failed to change the worki…»
moritz m: for dir() { .say; indir $_, { print '.' } if .d} 13:32
camelia rakudo-moar 9120ac: OUTPUT«".cpanm".IO␤.".local".IO␤.".npm".IO␤.".perl6".IO␤.".perlbrew".IO␤.".rcc".IO␤.".ssh".IO␤."Perlito".IO␤."evalbot".IO␤."log".IO␤."nqp-js".IO␤."p1".IO␤."p2".IO␤."perl5".IO␤."std".IO␤.".bash_history".IO␤".bashrc".IO␤"mbox".IO…»
cognominal thatś in a dir containing only dirs, btw
timotimo indir doesn't check if the thing you pass it is a directory or a file? 13:33
cognominal Apparently it does it in a big dir
moritz m: indir 'README' { say 42 } 13:34
camelia rakudo-moar 9120ac: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unexpected block in infix position (missing statement control word before the expression?)␤at <tmp>:1␤------> 3indir 'README'7⏏5 { say 42 }␤ expecting any of:␤ infix␤ infix s…»
moritz m: indir 'README', { say 42 }
camelia rakudo-moar 9120ac: OUTPUT«Failed to change the working directory to '/home/camelia/README': does not exist␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in any at gen/moar/Metamodel.nqp line 3072␤ in block <unit> at <tmp> line 1␤␤»
cognominal ok, may be I have stray files
yea that must be it 13:35
13:36 ocbtec joined
cognominal I need a walk, thx moritz++, timotimo 13:38
timotimo yay
13:42 pyrimidine joined 13:47 pyrimidine left 13:53 bjz left
dalek c: dadf22a | (Zoffix Znet)++ | doc/Type/Date.pod6:
Use better example for Date.new(Instant)

  - it's not obvious that `now` is an Instant
  - some may wonder how to turn a Unix time stamp into Date
13:55
synopsebot6 Link: doc.perl6.org/type/Date
14:00 bjz joined 14:01 wtw joined
[Coke] samcv: the highlights branch is the same as master? 14:02
dalek c: 13c9820 | (Zoffix Znet)++ | doc/Programs/00-running.pod6:
Doc RAKUDO_EXCEPTIONS_HANDLER
tadzik heh, I create a fresh p6 installation for AdventPosting, the second program I write segfaults %) 14:04
[Coke] uhoh 14:05
lizmat
.oO( second program syndrome )
tadzik and it doesn't reproduce
ffs
lizmat m: m/./
camelia rakudo-moar 277616: OUTPUT«No such method 'match' for invocant of type 'Any'␤ in block <unit> at <tmp> line 1␤␤»
lizmat another one of those...
tadzik star: gist.github.com/anonymous/4396dc96...a92d9f928c 14:10
camelia star-m 2016.10: OUTPUT«===SORRY!===␤Could not find HTTP::UserAgent at line 1 in:␤ /home/camelia/.perl6␤ /home/camelia/star-2016.10/share/perl6/site␤ /home/camelia/star-2016.10/share/perl6/vendor␤ /home/camelia/star-2016.10/share/perl6␤ CompUnit::Repository…»
tadzik ermagherd
star: use LWP::Simple
camelia ( no output )
14:18 dmaestro joined
tadzik huh, it does't seem like Threads know how to work with IO::Socket::SSL 14:18
timotimo are you sure IO::Socket::SSL is threadsafe at all? :)
tadzik hmmmm :)
I'd hope so!
timotimo *shrug* ;) 14:19
tadzik the same program that fetches https urls sequentially works fine, but ran with threads it says "Protocol scheme 'https' is only supported if IO::Socket::SSL is installed"
which is also what it says if it's not installed
timotimo might want to load it once before starting threads at all perhaps? 14:20
it's quite possible that the mechanism to "try to load IO::Socket::SSL and fall back if not available" is the not-threadsafe part 14:21
tadzik that segfaulted... once %)
this is my lucky day
lizmat tadzik: try fetching one URL before hreading ? 14:22
tbrowder .tell RabidGravy: love yr Advent post AND "JSON::Infer" AND "JSON::Class"
yoleaux tbrowder: What kind of a name is "RabidGravy:"?!
tbrowder .tell RabidGravy love yr Advent post AND "JSON::Infer" AND "JSON::Class" 14:23
yoleaux tbrowder: I'll pass your message to RabidGravy.
tadzik lizmat: yes, that also helps
dalek ecs: bf18470 | (Zoffix Znet)++ | v6d.pod:
List is_approx in 6.d so we don't forget to toss it

tis deprecated
14:24
lizmat tadzik: feels then that it is lazily initializing and you can't do that threaded ?
timotimo yeah
14:25 _Vasyl left
tadzik seems so 14:25
interestingly! When I do that with HTTP::UserAgent it actually segfaults consistently :)
14:26 _Vasyl joined
tadzik gist.github.com/anonymous/2f050d99...18ec5d3bb1 14:26
lizmat afk&
14:27 teke_teke joined
teke_teke hi 14:28
tadzik hi teke_teke
[Coke] hio
14:28 araujo left 14:29 pierre_ left
teke_teke how can I create a socket equivalent to this in Python: socket.socket(socket.AF_INET, socket.SOCK_STREAM) 14:30
is it just: IO::Socket::INET.new(:host, :port);?
14:30 andrzeju_ left
timotimo docs.perl6.org/type/IO$COLON$COLON...$COLONINET - have you tried this page yet? 14:31
14:31 cdg joined
teke_teke timotimo, yes, that's where my code is from. 14:32
how about AF_INET and SOCK_STREAM? 14:33
timotimo SOCK_STREAM is implicit in that 14:34
we do have SOCK_DGRAM (or what it's called), but only an asynchronous version
docs.perl6.org/routine/udp
14:35 perlpilot joined, jonas2 left
teke_teke timotimo, thx 14:35
14:38 pyrimidine joined 14:39 pierre_ joined 14:40 brrt left 14:43 marchelzo joined
marchelzo hi 14:43
ufobat is there a way to state in a gramma that token A is token B except anything that matches token C. something like: token A { <B> - <C> } similar to <[\d] - [13579]>
14:43 wamba joined
timotimo you can use & for that, i think 14:43
moritz or maybe a negative look-ahead 14:44
<!C> <B>
marchelzo how is perl6 coming along these days
is it fast yet
moritz marchelzo: it's faster than last year
marchelzo by a lot?
moritz many things are, not all 14:45
ufobat okay the look ahead approach is clear but what about &? timotimo ?
timotimo <A> & <-C>
moritz ufobat: the & means both rules must match the same lenght of text
marchelzo whats the recommended way to get perl6 on macOS
14:45 nicq20 joined
nicq20 Hello o/ 14:46
14:46 pyrimidine left
timotimo we do have perl6 in either macports or homebrew, but i don't remember which one 14:46
ufobat ah i found it in the documentation.. but isnt <A> & <-C> exactpy <A> - <C> ?
marchelzo hopefully homebrew
timotimo and of course we have rakudo star installer .dmg files (sometimes?)
ufobat: no, - doesn't exist
nicq20 timotimo: Homebrew
14:46 cibs left
moritz and there's an installer on rakudo.org somewhere, I think 14:46
ufobat: I don't think - even means anything outside of angle brackets 14:47
timotimo rather, - only exists inside < > and maybe other places
14:47 cibs joined
marchelzo wow 14:48
ufobat ahh.. the operators i've seen belong to the section "unicode properties"
marchelzo perl6 repl startup time is on part with 'lein repl'
that's an achievement
moritz rakudo.org/downloads/star/ doesn't load for me
pmurias marchelzo: it's still by far not as fast as we want it to be, but it's steadily being speed up
ufobat could it be that "our" & is not documented? docs.perl6.org/language/regexes 14:49
14:50 andrzeju_ joined, wamba left
moritz yes 14:51
marchelzo is perl6 going to make it big
how can i get the type of an expression in the repl 14:52
[Coke] m: say (3+2).WHAT 14:53
camelia rakudo-moar bbeec0: OUTPUT«(Int)␤»
[Coke] (you can leave off the say in the REPL)
perlpilot marchelzo: perl6 has already made it big with us :-)
ufobat wouldn't it make sense if operators for categories (+, |, &, -, ^) would also apply to tokens
anyway. i'll do the look around approach :) 14:54
thanks for your help :-)
14:54 colomon joined
colomon o/ 14:54
14:54 teke_teke left
nicq20 colomon: \o 14:55
marchelzo what's the difference between Array and Seq
i love perl6
14:55 mr_ron joined
colomon is brian d foy around? 14:55
nicq20 marchelzo: Once you use a value from a Seq, it is gone. They are one-time use. 14:56
perlpilot marchelzo: I think docs.perl6.org/language/list talks about the differences between Array, Seq and List
moritz colomon: doens't look like it
marchelzo so Seq is a like a stream?
colomon moritz++
moritz colomon: hi nickname is bdfoy or something like that when in here (which doesn't happen very often) 14:57
marchelzo can Seqs be lazy, like could i get a Seq from a coroutine that yields a stream of values
perlpilot: checking
moritz marchelzo: that's exactly the use case of Seq
colomon moritz: any idea what his e-mail address is?
moritz colomon: will send in private message 14:58
colomon moritz++
perlpilot colomon: I've gotten email from him from [email@hidden.address] in the past. 14:59
jnthn marchelzo: A Seq is always lazy
moritz perlpilot: remember that this channel is logged 15:00
15:00 wamba joined
jnthn See the gather/take construct for something co-routiney 15:00
15:01 skids joined
jnthn (Perl 6 decouples that notion from routines themselves, which means it's possible to easily write recursive things that walk a data structure and take values at any point in the dynamic scope) 15:01
Well, you could do that with coroutines too I guess, but... :)
We just think about it a bit differently :) 15:02
(Same as `await` is tied to a `start` block and `emit` is tied to a `supply` block rather than them being types of routine)
nicq20 So why can I not use a class var inside of a regex? I get: `Attribute $!url not available inside of a regex, since regexes are methods on Cursor.` Not sure what that really means... 15:04
15:04 _Vasyl left
jnthn nicq20: Regexes are methods (always), meaning that inside of them self always refers to the current Cursor 15:07
Assign it to a lexical first. 15:08
nicq20 jnthn: So p6 will not grab the value of the variable from the current class, but call it from Cursor? 15:09
jnthn Correct
Well
nicq20 Does that work for other things?
jnthn The regexes current class is Cursor
Things like <alpha>, <ident>, <before ...> and so forth are all method calls.
[Coke] anyone have any feedback on github.com/perl6/doc/tree/coke/levenshtein ? (now using sift4 instead, and hopefully faster than the last try) 15:10
jnthn What "other things" are you referring to? :)
15:11 pyrimidine joined
dalek Heuristic branch merge: pushed 41 commits to doc/coke/levenshtein by coke 15:11
[Coke] jnthn: gentle reminder about github.com/perl6/doc/blob/coke/bug...htmlify.p6 - please let me know if you need more golfing.
nicq20 jnthn: Sorry, that was kind of vague. :) Does this behavior happen on other classes, or only with Cursor?
15:13 cognominal left
jnthn nicq20: It's only anonymous regexes that do this 15:13
nicq20: If you're in a grammar, then the token/rule/regex inside of that grammar are methods on the grammar itself, but note that this in turn is a subclass of Cursor. 15:14
15:14 cognominal joined
jnthn (And an instance is created per token/rule) 15:14
nicq20 jnthn: Huh, Interesting. So why do lexical vars work? 15:17
15:19 AndyBotwin joined
jnthn Because the lexical environment isn't in doubt. 15:20
15:20 teke_teke joined
teke_teke hi 15:20
nicq20 teke_teke: Hello 15:21
15:21 g4 left
teke_teke I'm just testing :) 15:21
ufobat isnt it possible to step into the parse method of grammars with perl6-debug-m? or how do i debug grammars?
ugexe Grammer::Debugger? 15:25
(dunno if thats the level of debugging you're looking for) 15:26
jnthn nicq20: Perhaps a better way to think about it is that each anonymous regex can be imagined to have augment class Cursor { ... } wrapped around it.
nicq20: And lexicals are still visible outside of class bodies, but self means something different.
ufobat i will check, thanks.. i was just wondering because if tokens and rules are methods i'd assume that you can step into them like normal methods
15:26 pyrimidine left
jnthn ufobat: I remember implementing regex stuff in perl6-debug-m ages ago, though haven't tried using it for ages :) 15:27
Many people find Grammar::Tracer and Grammar::Debugger more useful though
ufobat that was exactly what i was looking for, i just added "use Grammar::Debugger" into my file with the grammar and now my perl6 throws an reasonable error. on the other side.. withour the debugger moarvm runs forever consuming more and more memory till it kill it after some minutes! 15:29
15:30 pyrimidine joined
ufobat this is probably a bug, isnt it? 15:31
gist.github.com/ufobat/79ed9c77a7b...36f12c9e27
nicq20 jnthn: Oh, ok. That makes sense why the syntax can be so different inside a regex! :D 15:32
15:34 cdg left, cdg joined
[Coke] m: use nqp; nqp::say("hello world"); 15:35
camelia rakudo-moar 8219ac: OUTPUT«hello world␤»
15:35 Sgeo joined
dalek c: 25a076e | coke++ | / (2 files):
add docs for 'use nqp;'

Closes #796
15:38
15:39 cdg left 15:40 cdg joined 15:43 itcharlie1 joined
lucasb ^^ could also have mentioned that 'use MONKEY-GUTS' is the same as 'use nqp' :) 15:45
[Coke] I didn't know that. 15:50
moritz neither
[Coke] m: use MONKEY-GUTS; nqp::say('beets'); 15:51
camelia rakudo-moar 8219ac: OUTPUT«beets␤»
15:52 n0tjack joined
tadzik uhh, all I planned for an advent post now segfaults in mysterious ways :F 15:53
I guess it's time for a plan B and a detailed bug report :)
[Coke] verifies that it's the same thing. 15:55
[Coke] notes that MONKEY-GUTS isn't part of the spec.
tadzik looks like Inline::Perl5 didn't get its own Advent post yet, or am I missing one? 15:56
15:58 wamba left
[Coke] tadzik: don't see one, nope. 15:58
(it's referenced in a few, but don't see a standalone)
tadzik right 15:59
a hole to fill then
[Coke] is that your plan for tomorrow anyway?
16:01 khw joined
tadzik well, I was planning to show how to use Perl 6 threading to run perl 5 code in a threaded way 16:02
but stuff that I used to work (and in production, no less) now segfaults
[Coke] uhoh.
Probably easier to write a different article at this point. :| 16:03
tadzik yeah, and safer :/
and Inline::Perl5 cannot get enough praise and publicity anyway 16:04
dalek c: 90ba504 | coke++ | doc/Language/pragmas.pod6:
Add basic docs for 'use MONKEY-GUTS'

Closes #805
16:05
synopsebot6 Link: doc.perl6.org/language/pragmas
marchelzo what should i make with perl6 to test it out
lucasb [Coke]++ thanks
[Coke] lucasb: at some point we need to start tagging what spec version things are defined in, and I have always felt weird about adding things that are in no spec, esp. placeholder things. we'll see if future me doesn't backpedal on this. 16:06
nicq20 marchelzo: How complex of a thing you want. :) 16:07
marchelzo not too complex
nicq20 marchelzo: but not too simple?
marchelzo yes
16:07 wamba joined
lucasb m: say not so Complex 16:08
camelia rakudo-moar 8219ac: OUTPUT«True␤»
marchelzo what does 'so' mean
lucasb it's the inverse of 'not', ie. a boolean no-op (but coerces to boolean)
pmurias [Coke]: the distinction between documenting "Perl 6" and "Rakudo" is a bit weird 16:09
marchelzo so Complex is falsy?
m: say so Complex
camelia rakudo-moar 8219ac: OUTPUT«False␤»
marchelzo but why
lucasb the type is false, an actual instance of a complex number is true 16:10
16:10 pyrimidine left
marchelzo why's that? 16:10
16:10 pyrimidine joined
[Coke] pmurias: yup. but we kind of built our whole release and versioning around it. 16:10
marchelzo who calls the shots in perl6 16:11
[Coke] can any docs folks verify that github.com/perl6/doc/issues/584 seemed to get fixed when we weren't looking?
marchelzo: The core dev team.
(many of whom are in this channel) 16:12
marchelzo Int.WHAT yields (Int) but that can't be right
because Int + 10 says i passed a type object, not an Int. 16:13
16:13 n0tjack left
marchelzo what is the type of Int? 16:13
[Coke] m: say Int.WHAT;
camelia rakudo-moar aa7e20: OUTPUT«(Int)␤»
[Coke] Int is the type.
and a bare Int is the type object itself. 16:14
m: say 3.WHAT;
camelia rakudo-moar aa7e20: OUTPUT«(Int)␤»
16:14 tinita left
[Coke] and that's a literal instance of an Int. 16:14
marchelzo i don't understand
lucasb I can understand one would expect (Type) or (Class) as result; I've expected that in the past myself :)
marchelzo how can Int be both a type object and an Int?
pmurias mdn has special icons marking browser dependent/experimental/obsolete stuff 16:15
16:15 tinita joined
lucasb classes are values of themselves 16:15
marchelzo yes i would expect Int to be a (Type) or (Class) or something like that
lucasb: then why can't i do Int + 10
ugexe m: say Int + Str; # eh i wonder why this doesn't error out the same as Int + 10
camelia rakudo-moar aa7e20: OUTPUT«Use of uninitialized value of type Int in numeric context␤ in block <unit> at <tmp> line 1␤Use of uninitialized value of type Str in numeric context␤ in block <unit> at <tmp> line 1␤0␤»
[Coke] marchelzo: do you speak any other programming languages?
perhaps we can translate.
m: say Int + 10 16:16
camelia rakudo-moar aa7e20: OUTPUT«Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?␤ in block <unit> at <tmp> line 1␤␤»
marchelzo [Coke]: i speak lots of other languages
[Coke] Every type object is also of given type.
marchelzo: do you have one where there's a difference between class objects and instances of classes?
marchelzo yes 16:17
[Coke] (in perl 6, the class objects are a special type like Class; they are the same type as the instances)
marchelzo: Can you tell me the name of that language? :)
marchelzo so you have + : Int x Int -> Int
and Int : Int
that means Int + 10 should type check 16:18
[Coke] I don't know what your notation is from there, sorry. :|
marchelzo term : type
just means term has type type
[Coke] the type is fine - it's an undefined value, though.
lucasb in Perl 6, Int is more like Maybe[Int] 16:19
[Coke] the error message might be more clear if it said "a defined instance"
lucasb and the Nothing value is just the type object Int
16:19 padlock joined
ugexe m: say Int + "42" 16:19
marchelzo is Int an instance of Int? 16:20
camelia rakudo-moar aa7e20: OUTPUT«Use of uninitialized value of type Int in numeric context␤ in block <unit> at <tmp> line 1␤42␤»
padlock marchelzo: The Int + 10 fails because the sub for + expects a Int:D candidate (which is a defined Int, that is an instance, like 42)
lucasb marchelzo: it has the same type, but it's not a instance (I would say)
pmurias marchelzo: sort of
m: class Foo {method foo() {say("this is foo")}}; Foo.foo; my $foo := Foo.new; $foo.foo;
camelia rakudo-moar aa7e20: OUTPUT«this is foo␤this is foo␤»
padlock ugexe: because + has Int:D, Int:D candidate so it croaks about :U, but the Str candidate doesn't have that 16:21
m: &infix:<+>.candidates».signature.say
camelia rakudo-moar aa7e20: OUTPUT«(($x = 0) (\a, \b) (Real \a, Real \b) (Int:D \a, Int:D \b --> Int:D) (int $a, int $b --> int) (Num:D \a, Num:D \b) (num $a, num $b --> num) (Range:D \a, Real:D \b) (Real:D \a, Range:D \b) (Rational \a, Rational \b) (Rational \a, Int \b) (Int \a, Rational \…»
marchelzo so are Int:D and Int different types? 16:22
moritz Int:D excludes the Int type object
[Coke] Int:D is more specific, yes.
marchelzo Int:D is a subtype of Int?
padlock marchelzo: no, they're the same type. The :D is a refinement that takes just the instances (as opposed to :U that takes just type objects)
ugexe i figured, but i was really interested in if that behavior is intended
[Coke] see: docs.perl6.org/type/Signature#inde...ned_Values 16:23
moritz m: say 42 ~~ Int, 42 ~~ Int:D, Int ~~ Int, Int ~~ Int:D
camelia rakudo-moar aa7e20: OUTPUT«TrueTrueTrueFalse␤»
padlock ugexe: feels LTA, since we treat :U Numerics as zero in many other cases, so it shouldn't croak
CIAvash[m] may be relevant: perl6advent.wordpress.com/2013/12/...pe-object/
marchelzo so for any class C, C:D and C:U form a partition of C 16:24
are all types classes or are there non-class types
padlock m: multi infix:<+> (Int:U, Int:D \b) { 0 + b }; say Int + 10
camelia rakudo-moar aa7e20: OUTPUT«10␤» 16:25
padlock marchelzo: not familiar with CS terminology, but we also have subsets that aren't classes (you can't instantiate them)
[Coke] m: my Int $a where * > 3; $a = 2;
camelia rakudo-moar aa7e20: OUTPUT«Type check failed in assignment to $a; expected <anon> but got Int (2)␤ in block <unit> at <tmp> line 1␤␤»
padlock m: subset Prime of Int where *.is-prime; say 42 ~~ Prime; say 31337 ~~ Prime 16:26
camelia rakudo-moar aa7e20: OUTPUT«False␤True␤»
marchelzo padlock: what is \b? are parameter names always preceded by \?
moritz only if they don't have a sigil
(like @%&)
padlock marchelzo: no, they can be $ *@ % *% & and a bunch of other sigils. The \ means it's "raw"
marchelzo: docs.perl6.org/routine/raw 16:27
m: multi infix:<+> (Int:U, Int:D $b) { 0 + $b }; say Int + 10 # works too
camelia rakudo-moar aa7e20: OUTPUT«10␤»
marchelzo wow
sow yuo can just pass arbitrary strings of tokens?
you* 16:28
padlock isn't sure what you're asking
m: multi infix:<+> (Int:U, Int:D $some-arg) { 0 + $some-arg }; say Int + 10
camelia rakudo-moar aa7e20: OUTPUT«10␤»
padlock That's just parameter name
And yeah, you can have it as pretty much anything you want
lucasb m: $@%$%@%# # arbitrary strings are valid P6
camelia ( no output )
marchelzo m: sub f(\b) { b $x = 4; return $x; }; say f(my) 16:29
camelia rakudo-moar aa7e20: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3sub f(\b) { b7⏏5 $x = 4; return $x; }; say f(my)␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement m…»
marchelzo ah no 16:30
16:32 dataf3l joined
marchelzo i thought it was like a macro at first 16:32
padlock Nope
marchelzo when are raw parameters useful?
[Coke] m: macro crap {{{ say 'hi'}}}; crap; 16:33
camelia rakudo-moar aa7e20: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Use of macros is experimental; please 'use experimental :macros'␤at <tmp>:1␤------> 3macro7⏏5 crap {{{ say 'hi'}}}; crap;␤»
[Coke] m: use experimental; macro crap {{{ say 'hi'}}}; crap;
camelia rakudo-moar aa7e20: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Use of macros is experimental; please 'use experimental :macros'␤at <tmp>:1␤------> 3use experimental; macro7⏏5 crap {{{ say 'hi'}}}; crap;␤»
[Coke] m: use experimental :macro ; macro crap {{{ say 'hi'}}}; crap; # oy.
camelia rakudo-moar aa7e20: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Error while importing from 'experimental': no such tag 'macro'␤at <tmp>:1␤------> 3use experimental :macro7⏏5 ; macro crap {{{ say 'hi'}}}; crap; # o␤»
lucasb one more time
[Coke] well, they are in there somewhere. :)
lucasb :)
mst m: use experimental :macros; macro crap {{{ say 'hi'}}}; crap;
yoleaux 18 Dec 2016 11:41Z <AlexDaniel> mst: so, how is it going?
camelia rakudo-moar aa7e20: OUTPUT«hi␤===SORRY!===␤Too few positionals passed; expected 3 arguments but got 2␤»
mst [Coke]: :macro is not :macros 16:34
as to what's broken now I've fixed the typo, search me
[Coke] yah, that works here.
marchelzo can macros take arguments? 16:35
16:36 pierre_ left
[Coke] marchelzo: github.com/perl6/roast/tree/master/S06-macros 16:36
16:36 pierre_ joined
pmurias marchelzo: the macros we currently have are not specced and likely to be replaced 16:36
marchelzo :/ 16:37
padlock marchelzo: raw params let you write into passed container (like `is rw` would) but can also take values (which `rw` can't). The primary use for these I've seen tho is they're faster than regular params. 16:38
16:38 dataf3l left
marchelzo faster? 16:38
pmurias marchelzo: they will be likely replaced with something much more awesome ;)
padlock m: -> $a { $a ~ $a ~ $a ~ $a ~ $a ~ $a }(42) for ^100_000; say now - INIT now 16:39
camelia rakudo-moar aa7e20: OUTPUT«0.7509434␤»
padlock m: -> \a { a ~ a ~ a ~ a ~ a ~ a }(42) for ^100_000; say now - INIT now 16:40
camelia rakudo-moar aa7e20: OUTPUT«0.656360845␤»
pmurias marchelzo: currently they work faster in rakudo
padlock m: say .75/.65
camelia rakudo-moar aa7e20: OUTPUT«1.153846␤»
padlock marchelzo: so you can get a ~15% in tight places
*boost
16:40 domidumont left
pmurias marchelzo: they have other uses 16:41
marchelzo why would they be faster
padlock marchelzo: containerization
marchelzo can't you write into passed containers with $?
padlock m: use MONKEY-GUTS; -> \a { say so nqp::iscont(a) }(42) 16:42
camelia rakudo-moar aa7e20: OUTPUT«False␤»
marchelzo sub f($a) { $a.push(42); }
padlock m: use MONKEY-GUTS; -> $a { say so nqp::iscont($a) }(42)
camelia rakudo-moar aa7e20: OUTPUT«True␤»
pmurias m: sub foo($param is rw) {$param = 123}; my $write_to_this; foo($write_to_this); say $write_to_this;
camelia rakudo-moar aa7e20: OUTPUT«123␤»
16:42 dataf3l joined
pmurias m: sub foo($param) {$param = 123}; my $write_to_this; foo($write_to_this); say $write_to_this; 16:42
camelia rakudo-moar aa7e20: OUTPUT«Cannot assign to a readonly variable ($param) or a value␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
pmurias marchelzo: you have to add a 'is rw' to write to a passed container
16:43 teke_teke left, dataf3l left
pmurias m: sub foo($param is rw) {}; foo(1234) 16:44
camelia rakudo-moar aa7e20: OUTPUT«Parameter '$param' expected a writable container, but got Int value␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
16:44 espadrine left
marchelzo wait what's a container 16:44
ufobat wheeeee :D my xpath grammar works, cool
thanks again for the hint with Grammar::Debugger 16:45
padlock marchelzo: no idea, but I see there are docs on them: docs.perl6.org/language/containers
pmurias marchelzo: something that you can write or read from, when declare a $ variable you get a container
marchelzo oh
16:45 dataf3l joined
padlock m: my $a := "b"; 16:46
camelia ( no output )
padlock pmurias: ^ what about in that case? Is there still a container?
tadzik nine: ping
padlock m: my $a := "b"; say $a.VAR.^name 16:47
camelia rakudo-moar aa7e20: OUTPUT«Str␤»
gfldex m: my $a := "b"; $a.VAR.^name.say; my $b = "b"; $b.VAR.^name.say;
camelia rakudo-moar aa7e20: OUTPUT«Str␤Scalar␤»
pmurias m: sub fresh_container is rw {my $fresh_container}; my $a := fresh_container; $a = 123; say $a; 16:48
camelia rakudo-moar aa7e20: OUTPUT«123␤»
padlock m: my $a := "b"; use nqp; say nqp::iscont($a) 16:49
camelia rakudo-moar aa7e20: OUTPUT«0␤»
16:49 padlock left
pmurias m: my $a := "b"; $a = 123; 16:49
camelia rakudo-moar aa7e20: OUTPUT«Cannot assign to an immutable value␤ in block <unit> at <tmp> line 1␤␤»
16:50 zakharyas joined 16:51 dataf3l left 16:59 abraxxa left
pmurias marchelzo: some thing in Perl 6 are a bit complex underneath, a lot of that is caused by them being generalizations of things that are convenient 17:04
17:10 dataf3l joined, dataf3l left 17:12 espadrine joined 17:14 itcharlie1 left
marchelzo so why would you use 'is rw' over raw? 17:17
pmurias because it complains if you get something you can't write to? 17:19
17:19 mr_ron left, mr_ron joined
pmurias m: sub foo($param is rw) {}; foo(1234) 17:19
camelia rakudo-moar aa7e20: OUTPUT«Parameter '$param' expected a writable container, but got Int value␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
pmurias marchelzo: ^^
marchelzo ok, i see 17:20
so why would you ever write to a raw parameter?
jnthn It's more useful when you're writing something that will pass the value on to something else 17:21
17:21 ocbtec left
jnthn And you don't want to enforce any context 17:21
17:22 n0tjack joined
marchelzo hmm 17:22
n0tjack m: say so<< [0+0i, 1+0i, 0+1i, 1+i1];
camelia rakudo-moar aa7e20: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ i1 used at line 1␤␤»
n0tjack m: say so<< [0+0i, 1+0i, 0+1i, 1+1i];
camelia rakudo-moar aa7e20: OUTPUT«[False True True True]␤»
17:22 pierre__ joined 17:25 pierre_ left 17:28 dakkar left 17:29 cognominal left
tadzik advent post draft is ready: perl6advent.wordpress.com/?p=6304 proofreading and feedback much welcome :) 17:31
17:32 dataf3l joined
pmurias marchelzo: wanting to use a 'is raw' parameter is not very common 17:34
17:34 FROGGS joined
[Coke] Holy molly -> Holy Moly 17:34
an exceptions -> an exception 17:35
TimToady [Coke]: 'use nqp' is not supposed to be part of the spec either, by policy 17:36
17:36 pyrimidine left
[Coke] TimToady: nope. mentioned specifically as rakudo only and not spec. 17:36
TimToady though I see one snuck into S29-context/eval.t
17:36 pyrimidine joined
tadzik renideer -> reindeer, apparently too :) 17:36
[Coke] TimToady: that shoud be killed with fire.
(in the docs, I mean; the bits I just added for docs I thought were clear.) 17:37
17:39 teksteiner left, dataf3l left, nowan left
marchelzo tadzik: link is broken? 17:39
pmurias marchelzo: it's for logged in people only 17:40
marchelzo isn't Holy molly intentional?
it's something of an internet meme
tadzik could be :) 17:41
that sounded more familiar tome
[Coke] ok. it's not the normal spelling of that, but if it's intentional, sure.' 17:42
marchelzo it was popular in the league of legends community a while ago 17:43
[Coke] <old man> it's going to read like a typo to most of our audience.</old man>
marchelzo if i have a IO::Socket::INET and the person on the other end called close(2), then if i call the 'write' method, should it return True? 17:44
TimToady you could put "Holy molly [sic]" 17:49
gfldex marchelzo: that method will return true unless an exception is thrown. Did you catch any? 17:50
TimToady wouldn't close(2) just close stderr usually?
gfldex marchelzo: see github.com/rakudo/rakudo/blob/nom/...ket.pm#L82
marchelzo TimToady: 2 as in the man section
TimToady loves ambiguity :P 17:51
gfldex please stop confusing the confused!
TimToady but new people expect to be confused, so that's okay :)
marchelzo gfldex: no didn't get an exception 17:52
but the socket is closed
so why is it returning True?
gfldex because you stepped on a bug
have you been provided with bug report forms?
marchelzo no
how can i be sure its a bug
TimToady we don't mind speculative bugs 17:53
gfldex please include perl6 --version when you follow instructions at rakudo.org/tickets/
you can also query RT if the problem is known if you like 17:54
17:56 cognominal joined 17:59 stmuk joined 18:01 stmuk_ left
marchelzo ok so i send an email to [email@hidden.address] 18:03
18:04 pyrimidine left 18:09 pyrimidine joined 18:13 zakharyas left 18:14 pyrimidine left
marchelzo is anyone using perl6 in production yet 18:15
18:16 andreoss joined
moritz yes 18:17
[ptc] moritz++
marchelzo who
[ptc] from moritz' answer, I'm guessing he is 18:18
moritz it really depends on your defintion of "production"
[ptc] it certainly wouldn't surprise me :-)
moritz is generating the doc.perl6.org/ website considered a production usage? I'd say it is 18:19
tadzik++ mentioned something about p6 in production earlier today
several others have mentioned uses
I don't really keep track
andreoss when 6.d is comming? 18:21
gfldex summer
maybe even summer next year
andreoss i've expected chistmas
gfldex we tried that once and found is stressful 18:22
18:26 PapaChub joined
PapaChub m: srand(90210); (^1e7.Int).pick xx 5 18:26
camelia ( no output )
PapaChub m: srand(90210); .say for (^1e7.Int).pick xx 5 18:27
camelia rakudo-moar aa7e20: OUTPUT«9231005␤9258711␤9123068␤63626␤7728583␤»
18:28 andreoss left 18:29 lizmat left, lizmat joined
PapaChub Hmm... I'm trying to figure out why the above returns different results on different machines ??whether it's Mac vs. Linux or rakudo/MoarVM 2016.11 (via "brew rakudo-star" on Mac) or 2016.11-41-gd2139b5 (via "rakudobrew moar" on Linux) 18:31
The above *IS* what I get under Linux; would the PRNG have changed in recent MoarVM builds, or does it defer to something OS-dependent? 18:32
18:32 pyrimidine joined
moritz dunno, it might 18:34
you shouldn't rely on rand for deterministic behavior even across rakudo builds
PapaChub Is there a Better Practice? 18:35
Apart from reinventing the PRNG wheel?
18:37 pyrimidine left 18:38 padlock joined
padlock andreoss: you could pretend it came out this Christmas... I mean, which of the 2 and a half currently-proposed features that would make 6.d different from 6.c are you so eager to see? 18:42
18:47 mr-foobar left 18:51 AndyBotwin left 18:54 padlock left 18:56 pyrimidine joined 18:57 AndyBotwin joined 18:58 pierre__ left 18:59 dataf3l joined, notviki joined 19:01 pyrimidine left 19:04 wamba left
gfldex we had some errata since last year: github.com/perl6/roast/compare/6.c...6.c-errata 19:04
and we got a list of planned changes (that will may make it into v6.d): github.com/perl6/specs/blob/master/v6d.pod 19:05
notviki++
[Coke] 6.d - there is no schedule yet. 19:10
(and there's a LOT of stuff to do, aside from implementing the language changes.)
notviki [Coke]: like what? 19:13
19:13 El_Che left, go|dfish left, ssm left 19:14 El_Che joined
[Coke] insuring that the language changes are lexical and we can run both languages simultaneously - that the RT system is setup do deal with bug reports on versions. That the docs specify what is part of which version. 19:14
19:14 pyrimidine joined, go|dfish joined
gfldex [Coke]: well done, now I got a migraine 19:15
:->
[Coke] that we have a better plan for dealing with roast for 6.d
19:15 xinming left, ssm joined
[Coke] (e.g. do we strip out fudging? what about for pugs and niecza?) 19:16
(separately, what about the JVM backend? the JS backend?) 19:17
19:18 labster joined 19:19 pyrimidine left
notviki wouldn't mind better organization for roast to be on that list tooq 19:19
19:19 darutoko left
notviki Not sure what it'd look like yet. I just find the current system almost disfunctional in places. 19:19
[Coke] Historically, it's based on the Camel book. In practice, I'm not sure how much that holds up. 19:21
TimToady well, the main problem is that it's linear, while the problem space of corner cases is multidimensional
[Coke] TimToady: maybe let's just assign everything an RT and then store them that way!
[Coke] ducks. 19:22
TimToady quacks.
notviki I barely even heard of the "Camel book" 19:23
[Coke] if anyone has good ideas there, put 'em on the 6.d document.
TimToady: wonder about a tagging system where we could say 'run all the NaN tests' and have it pick them out from the various spots. (is that easier than doing a sane re-org?) 19:24
s/run/find/
notviki And BTW, the major wart I noticed is actually the multidimensionality of the roast instead of liniarity... Like we have S02-types/num.t, but also S32-num/*
and there's a whole bunch of that duality and you never know where to place the test into.
And other warts is some places use one file for the entire type's functionality, while others use file-per-routine structure (there was one—I think for S/// tests—that used file-per-adverb combination that I think went way overboard) 19:25
[Coke] mst: should bots like 'benchable6' show up specially in /names ?
mst [Coke]: why would they? 19:26
[Coke] Because I don't know how IRC works, and I thought I'd ask the guy who does.
notviki No, they're just regular clients.
[Coke] (some bots show up at the top of the list. others don't)
notviki And I see with +v's some, which is why they're at the top
19:26 pierre_ joined
[Coke] ok, so why have some bots with +v, and not others? 19:27
mst right
notviki +v being the "voice": the client can still talk when channel is muted or whatever it's called
Why have some bots +v at all? :)
.oO( bots are people too! )
19:28
19:28 ChanServ sets mode: +v benchable6
mst /msg chanserv access #perl6 add *!~Benchable@2001:41d0:2:5eb5:: +V 19:28
[Coke]: because somebody needs to set their +v and nobody asked
I am perfectly happy with +v-for-bots as a principle 19:29
but somebody needs to configure it foreach bot
TimToady isn't somebody, except when he is
RabidGravy it's a reasonable convention in lieu of anything else to identify the bots from the rest of us 19:30
yoleaux 14:23Z <tbrowder> RabidGravy: love yr Advent post AND "JSON::Infer" AND "JSON::Class"
mst yah. I'm happy to do the legwork, somebody just needs to tell me
[Coke] as long as you're in there, sourcebaby and neuralanomaly and unicodable6 are also bots, I think.
FROGGS .oO( TimToady is somebuddy )
RabidGravy tbrowder, thank you :)
[Coke] SOME BODY ONCE TOLD ME THE WORLD IS--
mst++
mst /msg chanserv access #perl6 add *!~Unicodable@2001:41d0:2:5eb5:: +V 19:31
ah, no, Unicodabl
19:31 pyrimidine joined, ChanServ sets mode: +v unicodable6
mst notviki: SourceBaby doesn't seem to have a specific ident 19:31
[Coke] SourceBaby: help? 19:32
mst and NeuralAnomaly is sharing your chanserv account
19:32 lukaramu joined
[Coke] I think those are both zoffix's. 19:32
(somebody once told me) www.youtube.com/watch?v=QbgGIy3kKiM
mst yes. I think they are. but neither of them is trivial to provide a chanserv access mask for, hence my telling zoffix why
once that's been tweaked, I can go ahead and sort those out too 19:33
notviki *!~Perl6IRC@unaffiliated/zoffix and *!~Perl6IRC@2001:780:101:ff00::2:9 should cover all my bots
mst ehm. benchable and unicodable both have their own idents.
so, no, it wouldn't cover them
notviki Those aren't my bots :) 19:34
mst ah, they're on the same host
my point is that I don't want to mark 'anything using the perl6 IRC code' as a bot
notviki Mine are SourceBaby, Undercover, buggable, huggable, and NeuralAnomaly 19:35
mst why is NeuralAnomaly identified anyway?
notviki Well, and I'm too lazy giving them unique IDs :) so we're at an impasse
19:36 pyrimidine left, ChanServ sets mode: +v SourceBaby
notviki Not sure. 19:36
Just different code bases I guess :)
Or it's grown self-aware and stole my IRC password!
19:37 perlawhirl joined
mst argh 19:37
19:37 ugjka is now known as UgJkA
mst ok, none of your bots actually have similar masks atm 19:38
couple logged in as you
one @perl6.party
notviki heh
mst some ~Perl6IRC some Perl6IRC
notviki 0.o
mst Undercover [~Perl6IRC@2001:780:101:ff00::2:9]
buggable [Perl6IRC@unaffiliated/zoffix]
huggable [Perl6IRC@perl6.party] 19:39
etc.
19:39 loveperl joined, huggable left
shadowpaste "loveperl" at 217.168.150.38 pasted "funcion" (5 lines) at fpaste.scsys.co.uk/540277 19:39
mst notviki: so, uh, if we can get a bit of consistency here I can live with a blanket mask 19:40
19:40 huggable joined
loveperl ¿Cómo hago que esto funcione? fpaste.scsys.co.uk/540277?tx=on&...rmat+it%21 19:40
How do I make this work? 19:41
19:41 NeuralAnomaly left
loveperl webchat.freenode.net/?channels=perl6&nick= 19:41
19:41 NeuralAnomaly joined
[Coke] what is "prueba" ? 19:42
19:42 NeuralAnomaly left
[Coke] or do you just mean, how do you call "hola" method when you have the name in a variable? 19:42
19:42 NeuralAnomaly joined
loveperl yes 19:43
19:43 huggable left, huggable joined
[Coke] github.com/perl6/roast/blob/d1baf2...sets.t#L45 19:43
19:44 buggable left
loveperl prueba is a file containing the Programmer class 19:44
19:44 buggable joined
[Coke] m: class Barf { method eek { say 3 } }; my $a = Barf.new; my $b = "eek", $a."$b"(); 19:44
camelia rakudo-moar aa7e20: OUTPUT«3␤»
notviki oh yoleaux2 is also mine 19:45
[Coke] loveperl: got it? 19:46
19:47 SourceBaby left, SourceBaby joined 19:48 Undercover left, Undercover joined
notviki mst: OK, *!*zofbot-*@perl6.party and *!*zofbot-*@2001:780:101:ff00::2:9 should covert it 19:49
I've no idea why some have ~ in the username :/
19:49 pyrimidine joined 19:50 huggable left, huggable joined 19:51 ChanServ sets mode: +vvv NeuralAnomaly buggable huggable, ChanServ sets mode: +vv SourceBaby Undercover
mst notviki: depends whether ident responded at connect time 19:51
notviki Ah
mst++
mst but I don't mind having the * for that
hence you now have five voiced bots
notviki :)
mst mostly I didn't want to assume that Perl6IRC meant 'bot', in case later it means 'some crazy fucker wrote a client' 19:52
notviki sure, yeah. That's the default in IRC::Client :)
mst I figured, hence 19:53
19:53 n0tjack left
[Coke] mst++ thanks. 19:54
19:54 pyrimidine left 19:56 mr-foobar joined 20:03 xinming joined 20:06 pyrimidine joined 20:11 pyrimidine left
lizmat has started on the Perl 6 Weekly 20:11
RabidGravy gosh my eyesight has deteriorated somewhat since I got these reading glasses
lizmat if there's something I should let people, let me know now :-)
notviki RabidGravy: I noticed that with my glasses too. If I wear them, my eyesight without them gets worse :/ 20:12
20:12 cdg_ joined
RabidGravy it took me about five minutes to thread a needle 20:12
20:13 sufrostico left
notviki lizmat: samcv++ improved the original atom highlighter with like a gazillion fixes: www.reddit.com/r/perl6/comments/5i...has_moved/ 20:13
samcv hey notviki
notviki and people using old one should switch to new package
lizmat notviki: that was more or less the headline last week ?
samcv she mentioned it in the last p6weekly at least
yeah 20:14
notviki oh heh....
20:14 cdg left
notviki I openeed to double-check, but scrolled right past the first paragraph >_< 20:14
samcv proof that not everybody has read it :P
hahah
notviki .... I... Actually did read it when it first came out
>_< memory busted :P 20:15
20:15 sufrostico joined
lizmat short-term memory is the .... eh what again ? 20:15
samcv notviki, i have the docs working with that syntax highlighter too 20:16
20:16 labster left
samcv as of last night :) 20:16
20:16 dataf3l left
notviki sweet \o/ 20:16
Can't wait for GitHub to switch too
samcv github.com/perl6/doc/pull/1061 i have it on the 'highlights' branch of the docs 20:17
20:17 pyrimidine joined
samcv builds all the docs in 15 minutes on my x220 20:17
used to take like hours?
over an hour at least
long enough i only did it overnight
like 3 hours at least
20:17 AlexDaniel joined
lizmat samcv: when was the last time it ran 3hours ? 20:18
samcv idk..
it's just taken forever
maybe that was without inline python
lizmat ah :-(
20:19 marchelzo left
samcv node only uses like 15% of my 4 threads on the cpu vs moar at 150% when building the docs now 20:19
so basically only limited by perl 6's speed
notviki samcv: so that branch is ready to merge or are you still working on it?
samcv well
notviki That failed travis looks scary
samcv it works
i'm not sure why travis is having problems... it just has like a pipe problem at the end but i think it's just killing node 20:20
i don't get the same problem on my computer
also i don't know how they are generated really
you have to run make init-highlights first, then run make html-highlights
notviki It says something about needing newer nqp? travis-ci.org/perl6/doc/builds/185081850#L1843
samcv and then you are done
notviki I mean npm 20:21
[Coke] samcv: is this checked in?
I mean, has to be if travis is seeing it - what branch?
notviki [Coke]: github.com/perl6/doc/pull/1061
samcv yeah it's checked in
20:21 pyrimidine left
notviki [Coke]: branch highlights 20:21
samcv actually it seems to fail building onigumura 20:22
RabidGravy It would be so much nicer if github could render pod as well as markdown
[Coke] ok. I looked at highlights earlier today and saw no difference from master. wonder what I did wrong there.
maybe it was post merge.
samcv did you run 'make init-highlights' and then run 'make html-highlights'
[Coke] oh, it's a completely different taret.
that would explain why there was still so much python in htmlify 20:23
samcv yeah
try it out [Coke] and let me know if there's any hitches. as for travisci maybe it doesn't have something installed needed to build the regex engine
[Coke] git pull --rebase; make init-highlights; "No rule to..."
samcv git checkout highlights 20:24
[Coke] ugh. I figured out why master and highlights were the same this morning. :| 20:25
(I'm an idiot, that's whY)
samcv :P
but init-highlights it will probably error on some of the 'highlights' tests at the end. as long as it passes the other ones
you should be good to go 20:26
[Coke] May need to support GIT_PROTOCOL at some point.
20:28 pyrimidine joined
[Coke] samcv: gist.github.com/coke/0a834fa77f90a...3260cc3ad8 20:29
dalek c/highlights: 25ac9e8 | samcv++ | .travis.yml:
Have travis install g++ so it builds the regex engine properly
samcv yeah that's fine [Coke]
as long as there are no other errors
[Coke] ok. seems sketcy. :)
*sketchy 20:30
samcv well tell highlights to make their tests not fail ;)
18 tests, 26 assertions, 6 failures, 0 skipped
so
mostly passes. except for one of the tests and the assertions in it
er maybe a couple tests but yeah it's fine
as long as onigumura installs fine and all the tests don't fail 20:31
[Coke] maybe force that one install? 20:32
samcv yeah. i have a package.json which is runs the tests
and it depends on the packages we need to do the highlighting + the scripts i wrote to do the actual processing
20:32 TEttinger joined
samcv then it runs npm install . in that folder 20:32
need to figure out how to do that... 20:33
20:33 pyrimidine left
[Coke] make: *** [html-highlights] Broken pipe: 13 20:33
samcv is that at the end? 20:34
also
github.com/perl6/doc/pull/1061
see the end of this where i say how to sanity check
If in doubt that it installed properly, you can cd highlights then run ./highlight-filename-from-stdin.coffee then type ../htmlify.p6 and then it should print out a bunch of html.
err or just read that ^
[Coke] um. if $use-highlights { 20:35
note "Using highlights";
#return;
}
but then there's nothing else that isn't python.
samcv in the htmlify.p6 file?
there is
[Coke] ok, just not in the highlight function. (digging) 20:36
samcv it is in the highlight function
look in the callback function
line 1025
also did you sanity check? cd into highlights, then run ./highlight-filename-from-stdin.coffee 20:37
and type in "../htmlify.p6" and press enter
if that errors or dosen't print out html then the problem is with the highlighter
err wait
ok don't cd into the highlights folder. be in the root of 'doc' 20:38
then run ./highlights/highlight-filename-from-stdin.coffee
and type in htmlify.p6
[Coke] finally notices the lack of File::Temp, ewww. 20:39
-bash: ./highlights/highlight-filename-from-stdin.coffee: highlights/node_modules/coffee-script/bin/coffee: bad interpreter: No such file or directory 20:40
20:41 _28_ria left
dalek c/highlights: c3e0308 | samcv++ | .travis.yml:
Try to get travis a higher version of g++
20:41
samcv uhm 20:42
is there a node_modules folder inside highlights? and if so
[Coke] no.
samcv ok
you ran make init-highlights right? hmm
[Coke] there is one in highlights/highlights, though 20:43
20:43 _28_ria joined
samcv maybe it didn't install because of that fail? 20:43
hm
oh shit
my bad
ufobat i am in desperate need of help.. again :-)
samcv facepalms
notviki ufobat: whatisit?
ufobat i am struggling with grammars one again. github.com/ufobat/p6-XML-XPath/blo...mar.pm6#L2 20:44
when i am removing the Grammar::Debug my moar just consumes memory over and over, until i kill it
notviki notices a pattern of users with XML modules struggling with all sorts of bizarre issues
ufobat i am just running this simple test github.com/ufobat/p6-XML-XPath/blo...01_basic.t 20:45
notviki Seems like XML is the common denominator :P
ufobat notviki, no no no, it is always me doing wrong stuff :-)
20:45 labster joined
dalek c/highlights: d8f2516 | samcv++ | / (2 files):
Fix a stupid mistake of cding into the wrong folder
20:46
samcv ok [Coke] pull and then try again
notviki ufobat: a stab in the dark would be this github.com/ufobat/p6-XML-XPath/blo...ar.pm6#L32 and this github.com/ufobat/p6-XML-XPath/blo...r.pm6#L105
samcv and delete the node_modules folder from the highlights/highlights folder
before running make init-highlights again
notviki You have it match "zero or more" stuff with tokens inside, so maybe the infiniloop is it's trying to match that "zero" infinite many times 20:47
m: grammar { token TOP { <foo>* }; token foo { 'meows' } }.parse: 'whatever'
camelia ( no output )
notviki Oh, sure, NOW you end it!
m: grammar { token TOP { <foo>* }; token foo { 'meows'? } }.parse: 'whatever'
there we go
camelia rakudo-moar 3fe589: OUTPUT«(timeout)» 20:48
notviki ufobat: ^ so maybe look into stuff that looks like that. I see you do have a bunch of * and ? . Try changing them to + or whatever to see which one hangs
ufobat but why does the grammar::debugger change this gehaviour?
20:48 travis-ci joined
travis-ci Doc build errored. Samantha McVey 'Fix a stupid mistake of cding into the wrong folder' 20:48
travis-ci.org/perl6/doc/builds/185270969 github.com/perl6/doc/compare/c3e03...f2516419cc
20:48 travis-ci left
ufobat i will try :) 20:48
notviki star: use Grammar::Debugger; grammar { token TOP { <foo>* }; token foo { 'meows'? } }.parse: 'x' 20:49
star: use Grammar::Tracer; grammar { token TOP { <foo>* }; token foo { 'meows'? } }.parse: 'x'
dalek c/highlights: 14dc2d8 | samcv++ | .travis.yml:
Fix travis apt package name
notviki star: say "um, hello??" 20:50
oops
ufobat who / what is star?
notviki m: say "test"
geekosaur camelia: ping
notviki ufobat: Rakudo Star
ufobat i see 20:51
notviki Well, looks like murdering bots is in my blood.
ufobat: as for why... not sure. I see it does a lot of mangling, so maybe that's why?
AlexDaniel does not sound like it's your problem
these bots are just stupid :) 20:52
AlexDaniel hides
notviki But I saw (or had) this problem where stuff hangs but not with G::D
notviki relocates
dalek c/highlights: 2b742fb | samcv++ | Makefile:
Fix type in Makefile

If we already have checked out the two repositories, cd into them and git pull
ufobat is the problem backtracking related? did you mean token and optional matches is not good? 20:53
AlexDaniel ye right, for some reason I assumed that just asking camelia to restart itself is going to help
oops
20:54 aindilis` left
AlexDaniel m: say 42 20:54
evalable6 AlexDaniel, rakudo-moar cc0f836: OUTPUT«42»
AlexDaniel hehe, this works
:P
[Coke] ok, init finished ok. 20:56
20:56 travis-ci joined
travis-ci Doc build errored. Samantha McVey 'Fix travis apt package name' 20:56
travis-ci.org/perl6/doc/builds/185271733 github.com/perl6/doc/compare/d8f25...dc2d8c1abf
20:56 travis-ci left, loveperl left 20:57 loveprl joined
samcv travis-ci sucks 20:57
dalek c/highlights: 898ad01 | samcv++ | .travis.yml:
Continue trying to get travis to use the newer C++ compilier
loveprl To find the value of a variable in a hash?
[Coke] samcv: now make html-highlights dies with Cannot receive a message on a closed channel 20:58
samcv travis-ci more like travis-contiuous-outdated-software
AlexDaniel loveprl: hmmm?
[Coke] samcv: gist.github.com/coke/c820e24b507a7...2c578ec404
samcv [Coke], did you test that sanity check?
mst AlexDaniel: I think he wants value -> key 20:59
samcv ./highlights/highlight-filename-from-stdin.coffee
then type in htmlify.p6
loveprl something like this say %m<$k9>;
nine tadzik: pong 21:00
yoleaux 18 Dec 2016 17:19Z <raiph> nine: Fwiw, Q on PM about "wxWidgets application in Perl 6" (using IP5): www.perlmonks.org/?node_id=1177946
AlexDaniel loveprl: you mean %m{$k9} ?
tadzik nine: Inline::Perl5 documentation says that it calls methods in list context
while my experiments suggest that it in fact calls them in string context 21:01
nine what is string context? 21:02
tadzik er, scalar context I guess 21:03
21:03 pyrimidine joined
mst tadzik: experiments run how exactly? 21:03
tadzik yes, following up
AlexDaniel mst: I'm not sure what he wants, but I know that I want a button… any news?
21:04 aindilis joined
tadzik nine: say EVAL 'localtime', :lang<Perl5>; 21:04
21:04 camelia joined
lucasb Mon Dec 19 19:05:01 2016 21:05
mst AlexDaniel: I can't find the email where you gave me the ticket info
AlexDaniel mst: I have no ticket info
loveprl AlexDaniel Did not work
mst AlexDaniel: you said you'd emailed the address and got a reply?
AlexDaniel mst: no, never got a reply
21:05 ChanServ sets mode: +v camelia
mst AlexDaniel: what from/subject am I searching for? 21:06
AlexDaniel mst: 「“New ticket” button is no longer there」
but this was just my email that I forwarded to you
I mean, I don't really see how this could possibly help… 21:07
mst ah, and [Coke] actually got a ticket id
AlexDaniel oh!
great
mst you really don't see how human social skills work though, which is why I'm doing this
let's see if I can spam you, him, and the ticket
21:07 pyrimidine left
nine tadzik: > perl6 -e 'use Inline::Perl5; my $p5 = Inline::Perl5.new; $p5.run(q/sub foo { return 1, 2, 3 }/); say $p5.call("foo");' 21:07
[1 2 3]
21:08 travis-ci joined
travis-ci Doc build failed. Samantha McVey 'Fix type in Makefile 21:08
travis-ci.org/perl6/doc/builds/185272433 github.com/perl6/doc/compare/14dc2...742fbb51b0
21:08 travis-ci left
samcv omg i got travis to finally bulid onigumura 21:08
nine tadzik: could be that EVAL runs in scalar context
samcv hopefully it will succeed this latest time
tadzik that'd explain it
21:09 pyrimidine joined
tadzik nine: say $p5.run: 'localtime'; gives me a string too 21:09
nine that _is_ EVAL. Try $p5.call
[Coke] samcv: gist.github.com/coke/19d9f89eee5aa...4d4463bfb8 21:10
samcv uh it looks like it's not processing the shebang 21:11
uh does running
highlights/node_modules/coffee-script/bin/coffee
that work?
it works fine for me in bash 21:12
mst AlexDaniel, [Coke] : bombs away
samcv or zsh
AlexDaniel mst++ 21:13
21:13 pyrimidine left
[Coke] samcv: that shebang doesn't work here, os x, bash. 21:14
samcv yayy travis is working
Highlights is reading /tmp/travis-77416-pod_to_pyg.pod
oh [Coke]
[Coke] it is quietly doing something if I invoke it manually.
samcv Highlights is reading /tmp/travis-77416-pod_to_pyg.pod
i guess i left in those prints in the coffescript file
good thing i did i guess
21:15 itcharlie1 joined
[Coke] er, quietly doing literal nothing. not even registering in top 21:15
samcv will fix that [Coke]
mst [Coke]: strace!
[Coke]: oh. OS X. whatever-the-strace-equivalent-is!
samcv highlights/node_modules/coffee-script/bin/coffee highlights/highlight-filename-from-stdin.coffee
run that 21:16
then type in 'htmlify.p6'
does that work?
[Coke] samcv: no, the command hangs. 21:17
samcv what do you mean it hangs
it accepts stdin
it's supposed to hang? well
does it error?
[Coke] ... Instructions unclear. 21:18
mst [Coke]: echo htmlify.p6 | <command here>
should work as a test
samcv yeah
[Coke] right. I get that NOW, her previous instructions were unclear. :)
samcv echo htmlify.p6 | highlights/node_modules/coffee-script/bin/coffee highlights/highlight-filename-from-stdin.coffee
that works for me
[Coke] Yes, that works.
samcv yay
ok
[Coke] you said run this, type this. I expected the run this to -do something-. :)
mst instructions unclear, read() call stuck in mouth 21:19
[Coke] so I was waiting for it, it was waiting for me...
mst [Coke]: you know, if you'd stuck a trace on it like I suggested you'd've known that :D
strace: because none of us ever really know what we're doing
[Coke] I tried. it said I couldn't. :)
mst wat
so I made a suggestion, you tried the suggestion, you had a problem trying it, and then you ... silently didn't tell me that 21:20
mst SULKS
[Coke] its os x. I did "dtruss -p <PID>" and it yelled at me. then I did it with sudo and it chided me.
mst please show me what -actually- happens
[Coke] no
let me back that up
Is it -really- worth both of our time to do that? 21:21
dalek c/highlights: e0bd456 | samcv++ | htmlify.p6:
Specify the full command, so it works on OS X
samcv ok [Coke] , try now
but it should print out "highlights is processing xxx.pod" while it's doing it if it works
mst [Coke]: you're welcome to not care about testing solutions, but I would like to try and work out the problem and if you copy-paste what you did and what errors you got I can chase it up
21:21 wamba joined, travis-ci joined
travis-ci Doc build failed. Samantha McVey 'Fix travis apt package name' 21:21
travis-ci.org/perl6/doc/builds/185271733 github.com/perl6/doc/compare/d8f25...dc2d8c1abf
21:21 travis-ci left
samcv shut up travis 21:22
[Coke] mst: I can't duplicate the previous problem. now it says:
ufobat notviki, nope :( doesnt seem to work unless I missed to change/remove something. it is still looping forever
[Coke] SYSCALL(args) = return
ufobat github.com/ufobat/p6-XML-XPath/com...6e67500623
[Coke] mst: gist.github.com/coke/d0145d49acdbb...049104a2e9
21:23 sufrostico left
mst [Coke]: hrmf. 21:23
[Coke] mst: I assumed based on your OS X comment that you weren't going to be able to offer more assistance, even if I did want it, btw. 21:24
21:24 evalable6 left, statisfiable6 left 21:25 travis-ci joined
travis-ci Doc build passed. Samantha McVey 'Continue trying to get travis to use the newer C++ compilier' 21:25
travis-ci.org/perl6/doc/builds/185273445 github.com/perl6/doc/compare/2b742...8ad017fe8f
21:25 travis-ci left
samcv yayyyy 21:25
mst [Coke]: having any idea what I'm doing turns out not to be particularly required for debugging this sort of thing much of the time
samcv: YOU KILLED GHE BOTS
samcv :DDD
GHE? 21:26
mst T
lucasb U
mst NO
samcv ? 21:28
mst 21:24 -!- evalable6 [~Evalable6@2001:41d0:2:5eb5::] has quit [Ping timeout: 245 seconds]
21:24 -!- statisfiable6 [~Statisfia@2001:41d0:2:5eb5::] has quit [Ping timeout: 240 seconds]
21:25 < samcv> yayyyy
[Coke] samcv: so, you changed htmlify.p6, but not the shebang in the test script?
samcv yeah
the shebang works fine if the shell actually uses it 21:29
[Coke] ok
21:29 evalable6 joined, statisfiable6 joined
[Coke] I'll have to do a clean and check timings, but this seems slower on my box. (but I'd still switch if it meant we were using our "own" highlighter) 21:32
samcv hm 21:33
[Coke] (only using 100% of cpu on an 8 core box here.)
dalek c/highlights: 2c227d5 | samcv++ | highlights/highlight-filename-from-stdin.coffee:
Make highlights less talkative
samcv how long did it take before?
[Coke] opened a ticket about the File::Temp issue.
21:34 dalek left
[Coke] as I said, I have to check timings. 21:34
samcv ok
[Coke] might go faster if you rip out the highlights chat.
samcv yeah
[Coke] s/if you/as you've/
samcv did travisci build with pygments too?
21:35 dalek joined, ChanServ sets mode: +v dalek, raiph left
samcv it took travis 27 mins vs 20, but then again it also has to compile all highlighter 21:35
AlexDaniel hehe, the bots are not liking it 21:36
21:36 pyrimidine joined
samcv how does our live website build btw 21:36
tadzik oh 21:38
[Coke] samcv: cron job on a box in the p6c org, I think.
so we will do the setup once and not have to pay it each time.
21:39 sufrostico joined 21:40 pyrimidine left
[Coke] docs - any reason not to drop support for PNG support on the type graphs? 21:41
21:42 cdg_ left
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/12/19/...christmas/ 21:43
21:43 sufrostico left 21:44 bjz left
[Coke] opened a ticket for the PNG question. 21:45
samcv lizmat++ 21:46
[Coke] samcv: btw, the "LH" is still noisy. 21:48
21:48 FROGGS left
AlexDaniel lizmat: by the way, not sure if you noticed 21:48
statisfiable6: core
statisfiable6 AlexDaniel, OK! Working on it…
[Coke] tries a build without that.
21:49 travis-ci joined
travis-ci Doc build passed. Samantha McVey 'Specify the full command, so it works on OS X' 21:49
travis-ci.org/perl6/doc/builds/185280447 github.com/perl6/doc/compare/898ad...bd456168a3
21:49 travis-ci left
lizmat AlexDaniel: any bot I missed ? 21:49
statisfiable6 AlexDaniel, gist.github.com/69067e1936818cf30f...2b24de198a
AlexDaniel lizmat: yea ↑
statisfiable6: install 21:50
statisfiable6 AlexDaniel, OK! Working on it…
lizmat AlexDaniel: maybe a blog post about all of the bots would be a great thing to mention in the next P6W ? 21:51
AlexDaniel: please?
AlexDaniel lizmat: maybe :)
samcv oh crap [Coke] i wasn't trying to print newlines with them.. 21:52
AlexDaniel lizmat: but I also wanted to mention it to you anyway, not just because of p6w
samcv dammit
statisfiable6 AlexDaniel, gist.github.com/a84b7bcec0fe1e4c3c...8ab4c0345a
AlexDaniel lizmat: who knows, maybe you'll find this graph interesting
lizmat AlexDaniel: yeah, there's a lot of work of mine in there :-)
samcv at least travis shows it on newlines but it cuold be just seperating stderr and stdout
lizmat AlexDaniel: perhaps the legend in the graph could be a bit more verbose? 21:53
21:53 pyrimidine joined
itcharlie1 I had previously installed zef on my windows laptop with an old version of Rakudo perl 07 2016 but now I have Rakudo Perl 11 2016 build and I am seeing the following message from zef : gist.github.com/itcharlie/2edf49ff...462097f9a6 21:53
AlexDaniel lizmat: yes, not sure if SVG::Plot is going to give a lot options for this… but what is missing? 21:54
dalek c/highlights: 0fdae73 | samcv++ | highlights/highlight-filename-from-stdin.coffee:
Make highlights even less talkative. aka not at all
itcharlie1 any ideas how to resolve my issue ?
[Coke] samcv: gotta head out, will check in later.
lizmat AlexDaniel: well, what does "Installation size" mean *exactly* ?
21:54 sufrostico joined
AlexDaniel lizmat: yea, some explanation is not going to hurt 21:55
lizmat: basically, this is what whateverables store
lizmat: that is, it's what you get when make install-ing into some directory 21:56
21:57 nicq20 left
lizmat AlexDaniel: so the sum of the sizes of all the files that get installed ? 21:57
AlexDaniel lizmat: yea
21:58 perlawhirl left 22:00 pyrimidine left 22:02 skids left 22:03 itcharlie1 left 22:04 bjz joined
samcv be back in a few hours 22:08
nine .tell raiph your suggestion to use "method" instead of "sub" sounds entirely sane. Wonder if it helped.
yoleaux nine: I'll pass your message to raiph.
RabidGravy nine, only one test failure with that (and that was a dumb test that relied on the old behaviour :) 22:11
mst [Coke]: current answer is "unsure if OS X problem or stupidity problem" 22:12
[Coke]: I'll revisit it later
22:15 pyrimidine joined 22:16 sufrostico left 22:17 zacts joined, bjz left 22:18 sufrostico joined 22:20 pyrimidine left
RabidGravy why is it that Audio::Liquidsoap fails for a different reason every time I test it? 22:21
timotimo ;( ;( 22:23
RabidGravy (this last was because I forgot to recompile the liquidsoap after upgrading the Fedora - OCaml not quite so excellent with the dynamic binding as Perl 6) 22:25
22:25 rindolf left
notviki m: say "test" 22:29
camelia rakudo-moar a96292: OUTPUT«test␤»
notviki (reads weekly) FWIW, Zoffix just copied nine++'s gist about module loading thing. 22:31
22:32 colomon_ joined
notviki lizmat++ good weekly 22:33
22:34 colomon left, colomon_ is now known as colomon 22:40 lucasb left 22:42 lukaramu left 22:43 loveprl left, loveperl joined
loveperl what its the error? 22:43
if !%field<values>:exists {
notviki loveperl: precedence. if !(%field<values>:exists) { 22:44
22:44 pierre_ left
notviki or write unless %field<values>:exists { 22:44
or if %h<foos>:exists.not { 22:45
or if not %h<foos>:exists {
22:45 pyrimidine joined
RabidGravy that is one of the first head scratchers I had when I first started with Perl 6 22:46
loveperl tnak you
AlexDaniel RabidGravy: If that's a head scratcher, I wonder what you think about the rest of perl 6… ;) 22:47
notviki Yeah, I came across that ticket a day or two ago 22:48
And I kinda just passed it over :)
AlexDaniel fwiw, :!exists is probably better 22:49
22:50 pyrimidine left
notviki
.oO( it's in the same category as −2² )
22:50
AlexDaniel++ that's the best
22:50 RabidGravy left
notviki m: −2² .say 22:51
camelia rakudo-moar a96292: OUTPUT«-4␤»
22:51 Rawriful joined
notviki m: −Inf² .say 22:51
camelia rakudo-moar a96292: OUTPUT«-Inf␤»
AlexDaniel oh please not this again
notviki ^_^
AlexDaniel I mean it's great that you fixed it, but
can we just keep quiet about it? :)
notviki: so here's the question… 22:52
notviki: if you do :exists:exists, what's going to happen?
notviki I wouldn't do it, so nothing would happen ;)
AlexDaniel fair enough
notviki But I'd bet it'd be treated as one thing, as if you've just passed :exists 22:53
What would happen if you did :exists:!exists tho? :)
jdv79 anyone aware of a minimal file based queue? kinda like the absolute simplest version of something like kafka.
AlexDaniel that was the next question ;)
notviki I'd say that's undefined, since these are named args and those are in hashes and hashes are supposed to be unordered
But if we try, I bet the latter one will be used 22:54
AlexDaniel m: my %h = foos => 42; say %h<foos>:exists:exists
camelia rakudo-moar a96292: OUTPUT«True␤»
AlexDaniel m: my %h = foos => 42; say %h<foos>:exists:!exists
camelia rakudo-moar a96292: OUTPUT«True␤»
AlexDaniel m: my %h = foos => 42; say %h<foos>:!exists:exists
camelia rakudo-moar a96292: OUTPUT«False␤»
AlexDaniel m: my %h = foos => 42; say %h<foos>:!exists:!exists
camelia rakudo-moar a96292: OUTPUT«False␤»
22:54 sufrostico left
notviki I win the guessing game \o/ 22:54
oh wait
AlexDaniel \o/ look at it again
notviki I lost :P
m: say 42:exists 22:55
camelia rakudo-moar a96292: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤You can't adverb 42␤at <tmp>:1␤------> 3say 42:exists7⏏5<EOL>␤ expecting any of:␤ pair value␤»
notviki m: say True:exists
camelia rakudo-moar a96292: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Invalid type smiley 'exists' used in type name␤at <tmp>:1␤------> 3say True:exists7⏏5<EOL>␤ expecting any of:␤ pair value␤»
AlexDaniel no, it's actually on %h
m: my %h = foos => 42; say %h<foos>:exists:exists:exists:p
camelia rakudo-moar a96292: OUTPUT«foos => True␤»
notviki m: my %h = foos => 42; say %h<foos>:exists:!exists:exists:p
camelia rakudo-moar a96292: OUTPUT«foos => True␤»
notviki m: my %h = foos => 42; say %h<foos>:exists:!exists:!exists:p
camelia rakudo-moar a96292: OUTPUT«foos => True␤»
notviki m: my %h = foos => 42; say %h<foos>:!exists:!exists:!exists:p 22:56
camelia rakudo-moar a96292: OUTPUT«foos => False␤»
notviki hah
AlexDaniel here's a fun one
m: my %h = foos => 42; say %h<foos>:p
camelia rakudo-moar a96292: OUTPUT«foos => 42␤»
AlexDaniel okay, right?
m: my %h = foos => 42; say %h<foos>:!p
camelia rakudo-moar a96292: OUTPUT«foos => 42␤»
AlexDaniel hmmm…
notviki: by the way, how is your work on coverage going? 22:57
notviki It's not 22:58
I can't run the coverage report any more.
And well, I got bored with it too, that's also the reason, I guess.
AlexDaniel you know, there have been several [REGRESSION] tickets lately… And I think I know a way to reveal twenty other ones 22:59
I just don't like the picture I'm seeing. People love performance improvements, and that's great, but stuff is getting more broken every day
AlexDaniel yes, I know, I have to contibute hundreds of tests to make it better… I will, once there's more time… at least that's what I'm hoping for… 23:01
notviki AlexDaniel: well, file them. I see stuff being more fixed every day. And if I could coax RT to display a list of recently resolved tickets, it'd back my statement 23:02
m: my %h; %h<foo>[*+0] = 42; say %h 23:03
camelia rakudo-moar a96292: OUTPUT«{foo => [42]}␤»
notviki star: my %h; %h<foo>[*+0] = 42; say %h
camelia star-m 2016.10: OUTPUT«{foo => [(Any) 42]}␤»
notviki lizmat++ fixed that one just this morning AND made the thing 2x faster!
AlexDaniel notviki: I know. I get emails every day :) 23:04
notviki As for regressions, well, yeah, they happen because of crappy/no tests. 23:05
I think the latest one for S:g/// I fixed was a regression.... There are like NO tests for S/// with adverbs
AlexDaniel so :!delete can actually be negated 23:07
23:07 pmurias left, stmuk_ joined
notviki yeah, 'cause I think you can pass it via a variable 23:07
m: my %h = :42foo; my $delete = False; %h<foo>:$delete; say %h 23:08
camelia rakudo-moar a96292: OUTPUT«{foo => 42}␤»
notviki m: my %h = :42foo; my $delete = True; %h<foo>:$delete; say %h
camelia rakudo-moar a96292: OUTPUT«{}␤»
AlexDaniel :o
23:08 stmuk left 23:10 rburkholder joined, pyrimidine joined
notviki hmm 23:14
m: my %h = :42foo; my $del = False; %h<foo>:delete($del); say %
camelia rakudo-moar a96292: OUTPUT«{}␤»
notviki m: my %h = :42foo; %h<foo>:delete(False); say %
camelia rakudo-moar a96292: OUTPUT«{}␤»
timotimo notviki: i can rebase&fix the coverage report stuff again if you'd like
notviki m: my %h = :42foo; %h<foo>:!delete("Yes, please delete it"); say %
camelia rakudo-moar a96292: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Argument not allowed on negated pair with key 'delete'␤at <tmp>:1␤------> 3my %h = :42foo; %h<foo>:!delete(7⏏5"Yes, please delete it"); say %␤»
notviki timotimo: that's be great. I could update perl6.wtf at least 23:15
23:15 pyrimidine left
notviki "Argument not allowed on negated pair"... and it's allowed but does nothing on non-negated :/ 23:16
Oh, it's a bug 23:17
m: my %h = foo => "bar"; say %h<foo>:exists(True)
camelia rakudo-moar a96292: OUTPUT«True␤»
notviki m: my %h = foo => "bar"; say %h<foo>:exists(False)
camelia rakudo-moar a96292: OUTPUT«False␤»
notviki m: my %h = foos => "bar"; say %h<foo>:exists(False)
camelia rakudo-moar a96292: OUTPUT«True␤»
notviki Works with exists
timotimo notviki: did you see my push? 23:19
notviki timotimo++ thanks. I've set the perl6.wtf updater script to run at midnight (in 4 hours). Should work 23:21
timotimo cool
all i did was perl6 tools/update_ops.p6, add the three resulting files, and git rebase --continue 23:22
23:22 colomon left
timotimo i haven't actually tested it, but it should be fine 23:22
23:22 dmaestro left 23:35 skids joined 23:41 colomon joined 23:48 Rawriful left 23:51 pyrimidine joined 23:55 pyrimidi_ joined, pyrimidine left 23:59 pyrimidi_ left