»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
Mouq raydiak: We already removed a lot that were parrot-only, but there are still more 00:04
raydiak: Re: prioritization, there is a section in "edit search" to change that… and I think it's a very good idea to look into applying it 00:06
ShimmerFairy I still wonder how helpful it may be to have our own separate RT instance for rakudo. (At least, it feels interesting to me to have P5 and P6 bugs share the same space)
Mouq ShimmerFairy: Well it might be helpful with organization. There's a lot of different regions of the Perl 6 language and the Perl 6 compiler, and we really don't (can't?) organize our tickets into these regions effectively 00:08
ShimmerFairy I know we've talked of moving before, and I thought "our own RT" might be a happy medium between "keep RT" and "use github issues" 00:09
(and maybe we could use something other than bitcard, something that actually supports Unicode :P)
timotimo raydiak: allegedly angular 1.3 got a whole lot of performance improvements over 1.2; i'm not sure which version we're using for the profiler 00:10
raydiak would strongly prefer to be using github issues, as he has several problems with rt usage including repeated mysterious breakage of his account where he does not have access to view bugs when he is logged in, which was supposedly fixed by [Coke]++ once or twice alraedy
00:10 retupmoca joined
timotimo but maybe updating that can lead to a nice performance boost? 00:10
raydiak timotimo: yep good call, looks like 1.2.21
ShimmerFairy raydiak: perhaps that could be fixed by not using bitcard? (AFAIK bitcard is not a part of RT)
Mouq timotimo: Err, that's about Angular, not RT, right? 00:11
raydiak ShimmerFairy: I didn't see another option when I went to create an account
Mouq oh lol
timotimo yeah, we're using angular 1.2 there
Mouq sorry, I lost the thread of the convo :)
ShimmerFairy raydiak: yeah, but if we were to set up our own RT, we could choose to not use bitcard to handle accounts for the system :)
timotimo i have no idea how uch would have to change to get from 1.2 to 1.3
all i know is for big-ish profiles, i have to click "don't kill this tab yet, please" twenty times and then chrome says "oops, this tab crashed!" anyway ;( 00:12
ShimmerFairy I used to be against RT too, but not so much anymore. I appreciate strongly that it lets you submit bugs without an account, and if we would just add in a web-based "new bug" entry form (instead of only having email), it'd be fine by me.
00:13 vendethiel left
raydiak timotimo: yeah half or more of what I have on the ecosystem brings it to its knees 00:14
even in the smallest test runs
(considering that raytracing a single pixel doesn't give you much of a functional test) 00:15
timotimo not that terrible for me, but i often do things with not too many different routines
Mouq ShimmerFairy: Also, I have no idea how to/if you can do formatting on RT 00:16
ShimmerFairy I will say though, that github issues doesn't look/feel as powerful as RT or other systems. I could easily be wrong on that, though. 00:17
raydiak timotimo: I've been trying to do things in nice manageable chunks, but apparently most of what I want to do just necessarily involves nested potentially long-running loops and so forth
Mouq ShimmerFairy: OTOH, think there's a lot to be said for the power of good UI :P
raydiak not that much of that couldn't be at least improved by a marginal reduction in my laziness :)
ShimmerFairy Perhaps instead of angularjs, you could turn to server-side scripting, like *cough* Perl 6? :) 00:19
Mouq: it's certainly not a binary choice between RT and GI, but I do think we need our own, separate bug tracker. (And I also still feel like GI doesn't have as much manipulexity as other systems, and perhaps not enough for our needs) 00:20
00:24 laouji joined
Mouq ShimmerFairy: +1 00:25
00:26 tinyblak joined
ShimmerFairy I feel like something that lets you submit bugs without an account would be nice (esp. considering we're working on a compiler, so we could reasonably assume lots of people will only ever have one bug to report), but I don't know how many bug trackers do that. 00:28
I also don't know if other people here like the sound of that so much :)
00:38 vendethiel joined 00:39 Sir_Ragnarok joined, laouji left, Sir_Ragnarok_ left 00:40 laouji joined
raydiak afaik we have no desire to limit or prevent bug reports, though I suspect such a thing could be accomplished on github too (albeit with some extra work on our own e-mail relay and/or submission form) 00:43
00:44 laouji left 00:45 laouji joined
raydiak wrt js (angular or otherwise), I am not so sure about requiring a local webserver just to view the results of your profile run, but it is possible that we might be able to move more of the processing from the js to the nqp which builds it 00:47
dalek ast: 0cc81eb | Mouq++ | S32-io/io-handle.t:
Add test for RT #123888
00:48
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123888
raydiak I'll know more when I look in detail; today is mostly just having a strategy meeting with myself
Mouq It's unfortunate that github.com/camelia is taken :9 00:49
raydiak heh you saw right where I was going with that :) kinda wonder if it isn't one of us who reserved it 00:52
timotimo the biggest problem with our profiler data blobs is currently that we put the complete call tree in there 00:54
it's potentially ginormous 00:55
there's a branch in which i tried to "compress" the call-tree as it's being filled with data by the low-level moarvm-internal profiling instructions
but it gives wrong results and i haven't had the tenacity to figure out what wrongs it
raydiak compress as in get rid of unneeded data, or as in lossless compression? 00:57
00:57 yqt left
timotimo collapsing all nodes below a given node into a single node 00:58
before creating the nodes below that note
raydiak oh yes I remember this
timotimo "finite_callgraph_depth" is the name of the branch
oh, my explanation was wrong 01:00
this happens after the nodes have been created
01:00 breinbaas left
timotimo the code runs where the internal data is turned into the data structure that is going to be json-dumped later on 01:00
raydiak it'd definitely be nice to have, though I don't think there is going to be any getting around the need to make the JS more robust in the long run 01:02
but...gotta run, sorry to ditch out in the middle of this :) 01:03
o/ #perl6
retupmoca .botsnack
yoleaux :D
timotimo it doesn't seem like any breaking changes between 1.2 and 1.3 would have an impact on our profiler app 01:04
bye raydiak :)
hello retupmoca
retupmoca hello 01:06
timotimo it seems like just changing from 1.2 to 1.3 makes sorting by exclusive time more than twice as fast 01:11
however, the pages of the profiler are no longer exclusively visible, they are now all visible at the same time
likely due to a change in expressions?
ng-show="Tab == 'Overview'" is how we did that 01:12
dalek ast: 1aa7d9d | Mouq++ | S05-grammar/parse_and_parsefile.t:
Add a test for RT111768
timotimo errors.angularjs.org is down, and so i cannot figure out what this exception is supposed to mean >:( 01:15
01:17 virtualsue left 01:26 vendethiel left 01:36 laouji left
TimToady Mouq: that test is...deliciously perverse :) 01:39
01:44 pecastro left 01:45 vendethiel joined 01:47 laouji joined 01:50 redhands joined 02:02 virtualsue joined 02:06 tinyblak left, vendethiel left, tinyblak joined 02:11 tinyblak left 02:12 vendethiel joined
japhb .ask jnthn In your OO::Monitors module, is there any attempt to support inheritance heirarchies, in which all classes are monitors? In other words, can it handle: monitor A { method foo }; monitor B is A { method bar }; and keep foo and bar mutexed? 02:27
yoleaux 7 Mar 2015 10:39Z <jnthn> japhb: $*SCHEDULER.uncaught_handler = -> $ex { #`( do something ) }
japhb: I'll pass your message to jnthn.
japhb .tell jnthn Yeah, shortly after I .asked you, someone (timotimo?) pointed out the workaround of setting uncaught_handler *after* creating the new $*SCHEDULER, because of the "BUILD from a composed Role gets smashed" problem. 02:30
yoleaux japhb: I'll pass your message to jnthn.
japhb .tell jnthn But even so, I'm unable to figure out how to *trigger* an uncaught exception that .uncaught_handler *does* catch. 02:31
yoleaux japhb: I'll pass your message to jnthn.
japhb Man, I'm really tired of TZ skew.
02:31 colomon left 02:32 colomon joined, virtualsue left 02:34 vendethiel left 02:39 kaare__ joined 02:43 kaare_ left 02:52 tinyblak joined 02:59 kaare__ is now known as kaare_ 03:24 vendethiel joined 03:26 noganex_ joined 03:29 noganex left 03:39 colomon left, colomon joined 03:50 Ben_Goldberg left
ugexe then ill just fatpack that bitch into a standalone 04:03
oops...
04:03 Sqirrel left 04:07 vendethiel left
avuserow .ask FROGGS I'm looking at a bug in nqp-j (github.com/perl6/nqp/issues/224) and saw you did some work with eof. I'm testing a patch, but was curious if there's any reason you didn't use fc.size() rather than getc? 04:12
yoleaux avuserow: I'll pass your message to FROGGS.
04:22 vendethiel joined 04:30 redhands left 04:41 molaf left 04:47 vendethiel left 04:55 raiph left
raydiak drops a pin 05:03
TimToady ow! 05:04
raydiak picks up said pin and offers TimToady a band-aid with apologies for his carelessness
avuserow o/ raydiak 05:06
raydiak heya avuserow 05:07
avuserow how's it going?
avuserow is waiting on a jvm spectest :|
raydiak eh, won't complain, everything I'm working on atm is going fairly well...how about you? 05:08
TimToady is still failing lots of JVM tests
raydiak due to...???... 05:09
avuserow just hopping around on various ideas, trying to see where I get stuck and reporting bugs as possible
yeah, JVM looks pretty unhappy so far for me :(
raydiak has been worrying about the state of our jvm backend vs tuits
TimToady only fails about 64 test files... 05:10
well, some of them are unexpectedly succeeding TODOs 05:11
avuserow both jvm and moar have distinct failure modes for my current idea. the JVM issue appears fixable with my skillset though
raydiak avuserow: what is your current idea? 05:12
avuserow I have a lot of large .sql backups from an old project, and I want to convert it to an incremental format to deduplicate some data. First step is parsing 4-5 GB .sql files.
(this being the more fun course of action, rather than just adjusting my data hoarding habits, of course) 05:13
raydiak ow...I can feel your pain from here...large datasets seems to be one of our weaknesses for the time being 05:14
05:14 vendethiel joined
avuserow I think the JVM can parse about 1 file in a half hour or so, which is viable 05:15
moar would be faster but I run out of memory
raydiak (faster :) )
avuserow and once I get things working, I can potentially improve the grammar 05:16
raydiak how so?
avuserow one thing I have to match is a string that may include backslashed quotemarks. I had a really difficult time figuring out how to do this, so my strategy might be wasteful
raydiak may I see? 05:17
avuserow gist.github.com/avuserow/3e02faf868f743de03ef 05:18
TimToady [ <-["]> | \\'"' ]* is the normalish way
though might be faster with || 05:19
avuserow I'm hoping to make a full-ish SQL grammar someday
TimToady since most chars are not \\"
ShimmerFairy TimToady: I assume it's <-["]> and not . to account for a closing " ?
TimToady er, <-[\\"]> maybe 05:20
if there's anything else that can be backslashed, the <-\\"]> | \\(.) or so
avuserow somehow I was able to have a simple-string rule and a string-with-escapes rule, and it picks the right one... not sure if that works universally, but it made the smaller benchmarks about 3x faster to have both rules 05:21
TimToady er, only spelled right
or you can do [ <-[\\"]>+ || \\(.) ]* with the + to collect more non-specials in one match 05:22
avuserow I tried something like that but couldn't get it to work. I'll have to try that again 05:23
ShimmerFairy I would probably do / ['\' <[nt\\'"]> | .]* / or similar (for backslash sequences of \n, \t, \\, \', and \")
avuserow but yeah, actually writing the grammar was a fun experience. obviously I didn't start with a formal definition of SQL, which I plan on revisiting, but it was still nice how fast I got the basic parser up and running 05:24
once I get a full end to end parse on this file, I'm planning a writeup 05:25
TimToady doing it with . means you're definitely relying on LTM, so || wouldn't work 05:27
well, it might in that order, but certainly not in the other order
but if someone backwhacks something you're not anticipating, the . could end up eating a single backslash, which might be surprising
raydiak worked on something long long ago in his abused intern years, never released, called morphbase, which grappled with similar issues and several more...though that was written in core p5, no grammars/Parse::RecDescent/etc 05:29
but in any case, it relied on even vs odd number of backslashes
b/c the even cuonts can always be ignored as N number of literal Q«\» 05:30
*counts
avuserow I wrote a p5 script to change strings down to a single letter, and had several issues with getting _that_ right
ShimmerFairy TimToady: sure, it's hard to write something like that in a general sense, without letting some potential issues through. 05:31
05:32 Sqirrel joined 05:43 CPiral joined 06:00 tinyblak left 06:05 Ugator joined
avuserow \o/ parsed the file completely after patching a bug in nqp-j. now to submit a PR, and refactor to actually use the information 06:14
06:15 vendethiel left 06:21 mr-foobar left
masak good morning, #perl6 06:28
06:32 MadcapJake left, tinyblak joined 06:38 rindolf joined 06:39 dayangkun joined 06:47 perl6_newbee joined
perl6_newbee morning or night respectively 06:47
06:50 dayangkun left
[Tux] Mouq, awake? 06:57
06:59 vendethiel joined
perl6_newbee all are sleeping :-) 07:00
[Tux] .tell Mouq gist.github.com/Tux/3efcf2bbcb859a27ef6a <= RT#123888 is incomplete. reopen? 07:01
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123888
yoleaux [Tux]: I'll pass your message to Mouq.
[Tux] note that there is no newline *at all* in my example, incontrast to the example that shows the current fix 07:02
07:04 prime left 07:05 rurban joined 07:06 prime joined
perl6_newbee [Tux]: when I want to make a sugegstion, can I create a ticket via [email@hidden.address] with the tag [SUGGESTION] or should I use [bug]? What do you think? 07:09
[Tux] If I am unsure (like you are) I ask here, and I am a perl6 newbee too
perl6_newbee :-) 07:10
[Tux] I am a seasoned perl5 programmer
feeling like a bulldozer trying to map my thoughts into this new language
perl6_newbee Hmm perl5 is cool and I think it should not be too hard to understand perl6 with perl5 skills, is it? 07:11
[Tux] right *and* wrong at the same time
it is a completely different language
perl6_newbee agree. I have been playing with perl6 for about one month and I like perl6 even more than perl5 because it does many things better 07:13
07:14 colomon left 07:15 colomon joined 07:19 nwc10 joined 07:21 Sqirrel left
masak perl6_newbee: maybe start by making the suggestion here? perl6-language is another possible forum. 07:22
(I usually start here, then go to p6l if the issue seems "big" enough.)
perl6_newbee hi masak. 07:23
masak hi hi
07:23 vendethiel left
perl6_newbee The topic is the BOM issue I raised last friday here. I read the commecnt from jnthn and got the feeling it would be possible. so I thought I have to create a ticket in order to prevent it from forgetting. 07:24
masak don't know exactly what that's about 07:25
but if it's something that could be improved, then it probably deserves to be in RT
perl6_newbee I encountered the problem on Windows that the Notepad.exe saves the BOM at the start of the text. Perl6 read in the file but does not remove the BOM flag 07:26
That is not intuitive from my point of view. If I have to handle this flag for myself
07:27 wicope joined
perl6_newbee so I ask here and at least jnthn said it could be implemented at the right place without side effects. 07:27
I created a ticket. If it is not important or wrong someone will close it, I think. 07:28
07:34 telex left 07:36 telex joined
masak it removes it when it's the source code, I'm pretty sure. 07:38
but a good argument could be made that it should remove it for (text) input files, too.
perl6_newbee++
07:40 tinyblak left
Mouq [Tux]++ 07:41
yoleaux 07:01Z <[Tux]> Mouq: gist.github.com/Tux/3efcf2bbcb859a27ef6a <= RT#123888 is incomplete. reopen?
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123888
Mouq I'll reopen and update the ticket :)
[Tux] thanks
tux.nl/Files/20150309084206.png <= this is what made me re-check 07:42
perl6_newbee masak: :-) 07:43
Mouq [Tux]: It doesn't seem to be about the newlines, it seems to be about supplying perl6 with a file for STDIN instead of directly to STDIN 07:47
[Tux] ok
so my bug report was actually touching TWO buglets? 07:48
DrForr For those who may be concerned: rakudo.org/how-to-get-rakudo responds with a 500 error over Firefox.
07:49 tinyblak joined 07:51 ggoebel left, tinyblak_ joined, ggoebel joined 07:52 tinybla__ joined
Mouq DrForr: And so everyone on the channel visits that page :P 07:52
(DrForr++ of course :) 07:53
DrForr Well, of *course*. It's the Internet equivalent of a 'WET PAINT' sign. 07:54
07:54 tinyblak left 07:56 tinyblak_ left, Ven joined
Mouq And [Tux], I don't think so… I'm pretty sure it was one bug disguised as another, in this case something going wrong with $*IN when it's secretely a filehandle 07:57
07:57 zakharyas joined
[Tux] whatever, thanks for looking into them and fixing 07:57
07:58 [Sno] left
Mouq For now, sleep & 07:58
[Tux] thinks that in 5 month /me has TWO favorite languages
if only speed speed speed
DrForr Ah, it's accessible again. 08:00
dalek p: a27f52e | (Adrian Kreher)++ | src/vm/jvm/runtime/org/perl6/nqp/io/FileHandle.java:
Fix EOF with newlines on 32k byte boundaries

Fixes #224 by changing the EOF checking to use the size of the file rather than attempting to read a character using getc(). This fixes a problem which happens when a line ends on a multiple of 32768 bytes.
p: a0dbe4f | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/io/FileHandle.java:
Merge pull request #225 from avuserow/master

Fix EOF with newlines on 32k byte boundaries
08:02 FROGGS joined 08:04 darutoko joined 08:08 larion left 08:09 vendethiel joined 08:14 Rounin joined 08:18 Ven left 08:19 dayangkun joined, dayangkun left 08:22 Foxcool joined
perl6_newbee cu guys, gotta go 08:24
08:25 perl6_newbee left 08:33 vendethiel left 08:35 Ven joined, Ven left, CPiral left
DrForr 'my $i = UndeclaredClass.new;' properly throws an error, but it includes 'UndeclaredClass used at line 3' instead of 'UndeclaredClass used\nat /full/path/to/file.t:3'. Another bug? 08:36
08:37 virtualsue joined 08:38 kaleem joined 08:39 jdv79 left
DrForr (moarVM on latest rakudo) 08:41
08:44 Ven joined, abraxxa joined
FROGGS m: my $i = UndeclaredClass.new; 08:45
yoleaux 04:12Z <avuserow> FROGGS: I'm looking at a bug in nqp-j (github.com/perl6/nqp/issues/224) and saw you did some work with eof. I'm testing a patch, but was curious if there's any reason you didn't use fc.size() rather than getc?
camelia rakudo-moar cd7c31: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GeW8HECuxX␤Undeclared name:␤ UndeclaredClass used at line 1␤␤»
FROGGS DrForr: yes, it is a bug that -e in camelia here is not mentioned
08:46 vendethiel joined
DrForr Should I rakudobug that as well? 08:46
08:51 robinsmidsrod left 08:53 [Sno] joined, robinsmidsrod joined
FROGGS DrForr: yes, please do 08:54
08:56 wicope left
torbjorn is there any chance we could have the perl6 eval bot in #oslo.pm at irc.perl.org? 08:57
FROGGS torbjorn: I already talked to moritz++ about that
but, let me try something...
torbjorn oh cool
moritz you don't already?
DrForr Will do. 08:58
torbjorn same nick on irc.perl.org?
moritz torbjorn: p6eval on magnet, iirc
08:58 wicope joined
dalek albot: 0756169 | FROGGS++ | irc.perl.org.conf:
send camelia to #oslo.pm
08:58
FROGGS p6eval: restart 08:59
moritz FROGGS: won't work that way
FROGGS: have to pull first :-)
torbjorn its in oslo, not oslo.pm
FROGGS evalbot: control pull 09:00
torbjorn oh its in the git pull
FROGGS evalbot: control restart
hmmmm
moritz FROGGS: don't
FROGGS: that's the wrong instance you're trying to restart
moritz does it on the command line
FROGGS ohh, I thought there is just one :o)
moritz nope, separate process per server 09:01
FROGGS moritz++
Ven o/, #perl6
moritz Mar 09 10:01:20 ns1 bash[1059]: Can't read configuration in perl.org.conf: No such file or directory
FROGGS hi Ven
moritz dumb
09:02 MilkmanD1n joined
FROGGS it does not like the dot? 09:02
moritz no
FROGGS ohh, it is called irc.perl.org.conf
moritz I tried to start the wrong instance
09:03 dustinm`_ joined 09:04 MilkmanDan left, dustinm` left 09:09 vendethiel left 09:10 Celelibi left, MAB90RX joined 09:11 djanatyn left, kjs_ joined, djanatyn joined 09:13 isBEKaml joined 09:14 larion joined 09:15 fhelmberger joined
masak (camelia going places)++ 09:16
09:18 isBEKaml left 09:21 vendethiel joined
DrForr Error report sent, perl #124027 filed. 09:24
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124027
DrForr Again pretty trivial, just basically making stupid mistakes and seeing if the errors make sense :) 09:26
09:28 Ugator left, dakkar joined 09:30 tinybla__ left 09:33 virtualsue left 09:36 larion left 09:39 Celelibi joined
Ulti can I suggest comments are removed and turned off for the majority of rakudo.org pages? 09:48
stuff like the bottom of this page for example just look really bad rakudo.org/how-to-help/
moritz +1
09:50 smls joined 10:03 espadrine_ joined 10:04 tinyblak joined 10:05 vendethiel left 10:10 rurban left 10:17 virtualsue joined 10:18 laouji left 10:19 coffee` joined 10:22 cschwenz joined, vendethiel joined 10:23 cschwenz left 10:32 donaldh joined
donaldh lizmat++ for looking at JVM but it's still broken... 10:33
yoleaux 7 Mar 2015 11:31Z <lizmat> donaldh: seems like I fixed the JVM build
10:34 rurban joined
FROGGS donaldh: what is broken? 10:36
donaldh I'm still getting lots of test failures, as also reported by TimToady++ 10:38
FROGGS donaldh: spectest failures or module test failures? 10:39
donaldh And it looks to me like the culprit is the nqp::index fix I applied, to unbust TimToady's grammar change on JVM.
spectest failures
FROGGS ohh 10:40
then we should fix the fix :o)
10:40 kaleem left
donaldh Well I can't just back out the fix in nqp/jvm, without also applying a workaround in the rakudo grammar 10:41
First I'll spend some tuits to see if I can understand the regression in nqp/jvm
It looks like something in nqp's JVM backend was relying on the broken behaviour of nqp::index 10:42
FROGGS hmmm, that sounds hard to believe
moritz and the broken behavior was to throw an exception? 10:44
or return the wrong value?
ab5tract lizmat++ # i was actually working an an s/at_pos/at-pos/ patch on friday night, but i like the the all-caps variant even better! 10:45
10:45 vendethiel left 10:46 Woodi left, kaleem joined, Woodi joined
donaldh I think it was throwing an exception that was being caught in nqp. Seems to cause behaviour change in the resulting runtime, regardless of the nqp::index behaviour in that runtime. 10:46
10:48 larion joined 10:52 vendethiel joined
|Tux| WTF. Who is to blame for test-x 50000 35.280 35.059 10:55
yoleaux 7 Mar 2015 18:33Z <nine_> |Tux|: the performance regression is not caused by Inline::Perl5 but by Rakudo. I suspect it's jnthn++'s native work.
|Tux| not only first time below 36, but way below 36 10:56
you guys rock!
masak we're only getting started!
|Tux| I still need a factor 900 to match XS though
904.615 10:57
masak a noble goal.
|Tux| :)
moritz |Tux|: do you have a comparison to a pure-perl implementation? 10:58
|Tux| gist.github.com/Tux/82b5aa66cc168c90ebd3 10:59
top 6 are perl5
rest is perl6
ask!
test-pp is Text::CSV_PP which is the pure-perl5 version of Text::CSV_XS 11:00
moritz why is csv-easy-pp so much faster than csv-test-pp?
|Tux| the first two are included for compare only: they do not support options and crash on every invilid CSV
test-pp has all the options that test-xs also supports. Checking options costs performance 11:01
moritz m: say 38.777 / 6.793
camelia rakudo-moar cd7c31: OUTPUT«5.708376␤»
moritz m: say 38.777 / 0.513 # that's the one that actually interests me, I guess 11:02
camelia rakudo-moar cd7c31: OUTPUT«75.588694␤»
moritz pure p5 vs. pure p6
|Tux| that one is a state machine in perl6 that has NO options and also does not support multi-character EOL or SEP
the 6.7 version that is
11:03 yqt joined
moritz but apples:apples comparison is 38.777 vs. 0.513, right? 11:03
|Tux| so yes, pure-perl vs pure perl6 is a factor 75
moritz not good, but we've done much worse on that in the past
|Tux| yes, first measurements were about 260 seconds :)
so having 35 now is GOOD 11:04
don't compare to test. compare to test-x
moritz is test-x merged in master?
moritz doesn't even know what test-x is, just assumes it's a branch 11:05
|Tux| test is a reference for myself: it is to ensure that test-x does not slow down compared to test
test-x is my working version of Text::CSV on github.com/Tux/CSV
11:07 virtualsue left
|Tux| FWIW the ip5 versions will probably go back to around 8.2 again (Inline::Perl5 versions of test-xs and test-pp) 11:09
11:15 vendethiel left 11:19 vendethiel joined 11:21 virtualsue joined 11:23 coffee` left
dalek p: 1dfa4ca | donaldh++ | src/vm/jvm/QAST/Compiler.nqp:
Unbust nqp on JVM

Was relying on nqp::index returning 0 for empty search string.
11:24
11:29 diana_olhovik_ joined 11:35 yqt left
colomon .u ° 11:41
yoleaux U+00B0 DEGREE SIGN [So] (°)
donaldh CallFrame on JVM sometimes returns with no 'line' annotation. It looks like Moar always returns 'line' => "1" in these cases. 11:43
This makes Test.pm noisy on JVM.
11:44 vendethiel left
donaldh I'm guessing callframe.line should always return a value ? 11:47
11:47 yqt joined
donaldh Or should Test.pm just be defensive ? 11:53
11:54 woshty left, woshty joined 11:57 pecastro joined 12:01 coffee` joined
moritz doesn't know 12:03
12:04 vendethiel joined, gfldex joined
masak .u ∘ 12:09
yoleaux U+2218 RING OPERATOR [Sm] (∘)
masak .u ⊚
yoleaux U+229A CIRCLED RING OPERATOR [Sm] (⊚)
masak .u ≗ 12:10
yoleaux U+2257 RING EQUAL TO [Sm] (≗)
masak lots of Unicode custom operator potential here... :)
nine_ Unicode operators would be much more fun if they were easier to type
masak nine_: here's a nickel. buy yourself a decent text editor. 12:12
:P
|Tux| gist.github.com/Tux/6a740c1b2a7455361cfd - Unicode OPERATOR's 12:13
masak srsly, though. computers are programmable. if iPhones can be made to show custom keybords, then so can your laptop or desktop.
nine_ masak: is vim decent? 12:14
masak nine_: yes.
nine_: ^K ftw
nine_: Emacs is also decent. there's an input method module called LEIM. 12:15
nine_ niiiiice
|Tux| ~/.XCompose is also decent :P
masak I don't know about all these other newfangled things, though. people are all sublime textmates these days.
moritz ~/.XCompose has the advantage that it works in every application 12:16
masak should ~/.XCompose more, clearly
|Tux| <Multi_key> <C> <equal> : "€" U20a0 # EURO-CURRENCY SIGN
<Multi_key> <c> <equal> : "€" U20a0 # EURO-CURRENCY SIGN
<Multi_key> <equal> <C> : "€" U20a0 # EURO-CURRENCY SIGN
<Multi_key> <equal> <c> : "€" U20a0 # EURO-CURRENCY SIGN
masak :)
|Tux|: but what about lower-case euro? :P
|Tux| I don't ever use it :P 12:17
nine_ Now if only there was an easy way to type in unicode characters to search in vim's digraph list :P
lizmat FROGGS: should I bump NQP_REVISION ?
abraxxa CTRL-K does nothing in my vim
masak nine_: after a while you kind of just pick up the principle of it all
abraxxa: `help digraphs` 12:18
abraxxa: `:help digraphs`
12:20 kjs_ left
nine_ And of course » is just ^K>> :) 12:22
abraxxa masak: thanks, reading
masak nine_: see? you're already picking it up :) 12:23
nine_: similarly, Greek letters all have a '*' in them
moritz because the Greek conquered the stars. 12:24
nine_ Σ FTW :)
masak Cyrillic all have a '=' in them. because the Russians conquered... equality?
|Tux| I always missed the IOTA SUBSCRIPTUM in greek, then I could have written T\N{IOTA SUBSCRIPTUM}o for a new type Toyota: the subscriptum 12:27
Τῳ 12:28
.u Τῳ
yoleaux U+03A4 GREEK CAPITAL LETTER TAU [Lu] (Τ)
U+1FF3 GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI [Ll] (ῳ)
12:29 Ugator joined
masak .oO( I don't always type the Greek small letter omega -- but when I do, I type it with ypogegrammeni ) 12:33
smls What's the difference between replies and comments on rt.perl.org? 12:35
moritz replies go to the requestor 12:36
nine_ smls: RT is a system for help desks. Comments are internal (for the team) while replies also go to the customer
smls so which is preferred in rakudo bugs? 12:37
nine_ I'd use reply
Even if the reply does not actually help the requestor, it at least shows some activity. 12:38
masak heh. in all my years with RT, I hadn't bothered learning the difference. :) 12:44
but yeah, I always "Reply", too.
Ven .tell eli-sde github.com/pixie-lang/pixie 12:47
yoleaux Ven: I'll pass your message to eli-sde.
12:47 kjs_ joined
Ven .tell eli-se github.com/pixie-lang/pixie 12:47
yoleaux Ven: I'll pass your message to eli-se. 12:48
12:51 brrt joined 12:56 yqt left 13:10 brrt left, vendethiel left
lizmat FROGGS: FWIW, after an NQP bump, JVM is still distinctly unhappy 13:12
13:13 brrt joined
FROGGS ahh sorry, was distracted 13:17
13:18 vendethiel joined
moritz news.perlfoundation.org/2015/03/tak...eachy.html should we try to get some Perl 6 ideas and mentors in there? 13:21
donaldh lizmat: did you try my last commit?
lizmat donaldh: probably not, is it a pull request ?
nine_ moritz: we definitely should! 13:22
donaldh lizmat: I've commited a change to nqp.
lizmat and I locally raised NQP_REVISION to that
testing with 2015.02-79-g1dfa4ca 13:23
donaldh will test from clean again 13:24
13:28 Ven left
dalek kudo/nom: b8a4665 | lizmat++ | t/01-sanity/22-KEY.t:
Add Set/Bag/Mix(Hashes) sanity tests
13:28
masak sanity++ lizmat++ 13:29
lizmat re #124023, I wonder whether this should be fixed at the rakudo level, or lower? 13:32
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124023
lizmat aka, automatic \n conversion to \r\n on Win in nqp / Moar ? Or will we do this in sub say ? 13:33
moritz first we should have a consensus how it should look at the Perl 6 level
and then we should think about where to implement it
moritz wonders if IO layers a la perl 5 are a good idea 13:34
lizmat something like a my constant EOL = $*DISTRO.is-win ?? "\r\n" !! "\n"
would be a runtime assignment, even in the settings, afaik
I think nwc10 has some ideas about it (as in, please don't :-)
moritz I thought constants were evaluated at compile time
brrt moritz, i wonder that too, and i'm not sure 13:35
lizmat I thought so too, but some of my recent forays into the $?DISTRO area, have taught me differently
perhaps wrongly :-
)
brrt on the one hand, all the big boys (java, perl5) are doing it
lizmat let me rephrase that 13:36
brrt on the other hand, there's... more than one way to do it? consider the pervasive io.Reader, io.Writer interfaces in go
lizmat ok, perhaps it just doesn't work in the setting 13:38
13:39 diana_olhovik_ left, orfjackal joined 13:40 orfjackal left 13:41 Ven joined 13:42 vendethiel left
psch \o 13:43
13:45 brrt` joined 13:46 brrt left 13:47 jdv79 joined 13:50 skids left 13:52 kaare_ left 13:54 xfix joined 13:56 cdc joined
cdc Hello #perl6 13:57
perl6: my $sub = &die; say ~$sub
camelia rakudo-moar b8a466: OUTPUT«Code object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/tmpfile:1␤␤die␤»
donaldh lizmat: 19 test failures after a clean and build of nqp + rakudo
ab5tract cdc
it looks like you mean to EVAL there 13:58
?
donaldh lizmat: nqp version 2015.02-79-g1dfa4ca built on JVM
lizmat what OS ?
cdc ab5tract: I want to get the name of the sub
smls m: my $sub = &die; say $sub.name 13:59
camelia rakudo-moar b8a466: OUTPUT«die␤»
cdc smls: thanks!
donaldh lizmat: OSX 14:01
lizmat ok, same as me then
trying a clean build and spectest now as well
psch i'm running jvm spectest on hack right now fwiw 14:02
somewhere in S32 by now
which on it's own has at least ~50 failures o.o 14:04
lizmat gives up on implementing $?DISTRO and $?VM again
donaldh All the "TODO passed" in gist.github.com/donaldh/0c29448d08a92294d6e9 - are they tests that can be unfudged?
psch caught bits of what's wrong there in the clog
FROGGS donaldh: your patch to nqp seems to fix the jvm issues on my linux box too 14:06
donaldh psch: Does it look a bit like this: gist.github.com/donaldh/6c1076d6a801995d952c - output I captured three days ago
lizmat m: my constant $?FOO = 42 # what would be needed to make this work?
camelia rakudo-moar b8a466: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uJpZHilGdA␤Twigil-Variable constants not yet implemented. Sorry. ␤at /tmp/uJpZHilGdA:1␤------> 3my constant $?FOO = 427⏏5 # what would be needed to make this w␤»
timotimo o/ 14:07
psch donaldh: spectest is still running. i assume you suspect a out-of-date nqp version?
FROGGS m: my $?FOO = 42
camelia ( no output )
FROGGS m: my $?FOO = 42; $?FOO+
camelia rakudo-moar b8a466: OUTPUT«5===SORRY!5=== Error while compiling /tmp/doLcUAXrR0␤Bogus statement␤at /tmp/doLcUAXrR0:1␤------> 3my $?FOO = 42; $?FOO+7⏏5<EOL>␤ expecting any of:␤ prefix or term␤ prefix or meta-prefix␤»
FROGGS m: my $?FOO = 42; $?FOO++; say $?FOO
camelia rakudo-moar b8a466: OUTPUT«43␤»
14:07 salva joined
FROGGS hmmm 14:07
lizmat m: say $?TABSTOP; $?TABSTOP=4; say $?TABSTOP
camelia rakudo-moar b8a466: OUTPUT«8␤4␤» 14:08
donaldh psch. yes. lizmat++ has bumped NQP_REVISION locally but not committed it.
14:08 raiph joined
lizmat to 2015.02-79-g1dfa4ca 14:09
psch ah, i must've missed that while backlogging. i'll build nqp HEAD and rerun
donaldh psch: make sure you clean 14:10
14:10 diana_olhovik joined
FROGGS m: my constant $FOO = 42 14:10
camelia ( no output )
FROGGS m: my constant $FOO = 42; $FOO++
camelia rakudo-moar b8a466: OUTPUT«Cannot assign to an immutable value␤ in sub postfix:<++> at src/gen/m-CORE.setting:5708␤ in block <unit> at /tmp/gNpb0xZtWr:1␤␤»
FROGGS $ perl6-m -e 'my constant $?FOO = 42; try $?FOO++; say $?FOO' 14:12
42
14:12 yqt joined
dalek kudo/nom: e592605 | lizmat++ | src/core/Str.pm:
Make $?TABSTOP immutable

One could argue, the wrong way, but at least it is now immutable
14:13
FROGGS I bet this is the wrong approach for some reason that's not known to me yet: gist.github.com/FROGGS/edc3d153de7d1221b09b
donaldh :) I was thinking along the same lines 14:14
FROGGS :o)
moritz what rule is that patch in? 14:15
FROGGS method type_declarator:sym<constant>($/) {
moritz patch looks good to me
lizmat tries 14:16
FROGGS my guess is also that it should be pretty safe to do for ?-twiggled vars
it is just that I have a little jnthn on my other shoulder which says that he imagines a different way of handling these cases :o)
moritz WWJD :-) 14:17
FROGGS exactly :P
FROGGS takes a walk 14:18
lizmat my constant $?TABSTOP now compiles fine in the setting with that nqp patch 14:19
spectesting now
FWIW, the JVM spectest seems as dirty as it was before :-(
donaldh how very odd 14:21
14:21 rindolf left
lizmat donaldh: gist forthcoming 14:21
FROGGS weird 14:22
I wonder if this passes: perl6-j t/spec/S03-operators/is-divisible-by.rakudo.jvm 14:23
lizmat All tests successful. 14:24
Files=1, Tests=15, 5 wallclock secs ( 0.02 usr 0.01 sys + 0.02 cusr 0.01 csys = 0.06 CPU)
FROGGS and that failed for me before 14:25
9 %% 0 failed correctly, but throws_like did not recognize it as a failure
lizmat grrr.. ctrl-zing the spectest, broke something, need to rerun :-(
FROGGS eww 14:26
dalek kudo/nom: 99147fc | lizmat++ | src/Perl6/Actions.nqp:
Allow "my constant $?FOO" the naive way, FROGGS++
14:27
kudo/nom: e361659 | lizmat++ | src/core/Str.pm:
Make $?TABSTOP a constant properly
14:27 |Tux| left
lizmat afk for a bit& 14:31
14:34 |Tux| joined 14:47 vendethiel joined 14:52 zoosha joined 14:56 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk 14:59 larion left, larion joined 15:00 rindolf joined 15:33 _sri joined 15:48 diana_olhovik left 15:50 J-L joined 15:51 MadcapJake joined
J-L Hi, I was wondering if I can slurp() a binary data file directly into a Perl6 Buf object. (Apparently I can spurt() a Buf object to a binary file, but I can't figure out how to do the same with slurp().) 15:52
psch m: my $x = slurp $*IN, :bin; say $x.WHAT
camelia rakudo-moar e36165: OUTPUT«(Buf[uint8])␤Saw 1 call to deprecated code during execution.␤================================================================================␤slurp($handle,...) called at:␤ /tmp/FcKy0epHDy, line 1␤Deprecated since v2014.10, will be removed with …»
psch not sure what the not-deprecated incantation would be 15:53
but i suppose that's just a limitation in the demonstration
in short, slurp takes :bin
retupmoca m: my $x = $*IN.slurp(:bin); say $x.WHAT;
camelia rakudo-moar e36165: OUTPUT«(Buf[uint8])␤Saw 1 call to deprecated code during execution.␤================================================================================␤Method slurp (from IO::Handle) called at:␤ /tmp/yurAovvFyo, line 1␤Deprecated since v2014.10, will be r…»
timotimo we've discussed that the semantics of slurp on an opened handle are dubious 15:54
psch ah, right, i remember that bit
'cause slurp implies open and close before and after, respectively
jnthn evening o/ 15:56
yoleaux 02:27Z <japhb> jnthn: In your OO::Monitors module, is there any attempt to support inheritance heirarchies, in which all classes are monitors? In other words, can it handle: monitor A { method foo }; monitor B is A { method bar }; and keep foo and bar mutexed?
02:30Z <japhb> jnthn: Yeah, shortly after I .asked you, someone (timotimo?) pointed out the workaround of setting uncaught_handler *after* creating the new $*SCHEDULER, because of the "BUILD from a composed Role gets smashed" problem.
02:31Z <japhb> jnthn: But even so, I'm unable to figure out how to *trigger* an uncaught exception that .uncaught_handler *does* catch.
jnthn argh!
psch o/ jnthn
lizmat jnthn o/
15:56 muraiki joined
J-L Thanks, psch. This works for me: my $x = slurp "file.dat", :bin; Apparently all that I was missing was the ":bin". 15:57
moritz m: say slurp 'stdin', ':bin'
camelia rakudo-moar e36165: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in method slurp at src/gen/m-CORE.setting:17851␤ in sub slurp at src/gen/m-CORE.setting:18171␤ in block <unit> at /tmp/ZGd9V9AvY4:1␤␤»
moritz m: say slurp 'stdin', :bin
camelia rakudo-moar e36165: OUTPUT«Failed to open file: no such file or directory␤ in method open at src/gen/m-CORE.setting:16998␤ in method open at src/gen/m-CORE.setting:17534␤ in method slurp at src/gen/m-CORE.setting:17853␤ in sub slurp at src/gen/m-CORE.setting:18171␤ in…»
nwc10 jnthn: what is this cause of this UGT heresy?
jnthn .tell japhb No, I didn't attempt that (I wrote it in about 2 hours flat ;)). Please file a ticket, though, as it's a good idea.
yoleaux jnthn: I'll pass your message to japhb.
J-L How do I append a value to a Buf? I can do: $x ~= Buf.new(65); but I was wondering if there's a simpler way. 15:58
moritz m: say slurp '/home/camelia/evalbot/stdin', :bin
camelia rakudo-moar e36165: OUTPUT«Buf[uint8]:0x<43 c3 a9 61 64 20 73 6c c3 a1 6e 20 61 67 20 73 6c c3 a9 69 62 68 74 65 20 6d 61 6f 72 67 61 20 43 68 6f 6e 74 61 65 20 44 68 c3 ba 6e 20 6e 61 20 6e 47 61 6c 6c 0a 41 67 75 73 20 64 68 c3 a1 20 63 68 c3 a9 61 64 20 73 6c c3 a1 6e 20 61 67 20…»
timotimo m: say slurp '<stdin>', :bin;
camelia rakudo-moar e36165: OUTPUT«Failed to open file: no such file or directory␤ in method open at src/gen/m-CORE.setting:16998␤ in method open at src/gen/m-CORE.setting:17534␤ in method slurp at src/gen/m-CORE.setting:17853␤ in sub slurp at src/gen/m-CORE.setting:18171␤ in…»
timotimo hm
jnthn .tell japhb You'd probably have to .cue code directly to get it to hit that; Promise.start will have the Promise itself catch the exception and store it. 15:59
yoleaux jnthn: I'll pass your message to japhb.
jnthn nwc10: I dunno. I blame insufficient beer.
geekosaur I don't think stdin is a stringy name? you want a slurp method on a handle?
(well, there's /dev/stdin or /dev/fd/0 on sufficiently unixy systems) 16:00
dalek kudo/nom: 6f9c64c | lizmat++ | docs/ChangeLog:
Add some achievements for 2015.03
timotimo i saw something about "opening special file handles" somewhere that seemed like it would allow using '<stdin>' as a special argument to open the actual stdin
geekosaur oh, if such exists it may be in newio branch
16:00 yqt left
geekosaur (if it is implemented yet at all) 16:00
moritz open('-') and open('-', :w) have (for a time a least) opened stdin/stdout 16:01
FROGGS it still does that 16:02
timotimo there is a problem with perl6 at the moment
perl6 parsing*
FROGGS timotimo: example?
timotimo where sub calls are wrongly erroring out with "list ops like $name-of-sub need whitespace before their arguments (or use parens)" where there is clearly whitespace
testers.p6c.org/reports/23093.html
dalek Heuristic branch merge: pushed 26 commits to rakudo/newio by lizmat
timotimo wasn't able to properly reproduce it with a small test case yet 16:03
hits breakdancer, too, for example
could have something to do with passing blocks as arguments?
moritz looks like it
that has some special casing for gobbling up blocks, no? 16:04
erm, preventing that
FROGGS m: proto sub task(|) is export { * }
camelia ( no output )
FROGGS m: multi sub task(Str $name, &body) {
camelia rakudo-moar e36165: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wh393b9FeG␤Unable to parse expression in block; couldn't find final '}' ␤at /tmp/wh393b9FeG:1␤------> 3multi sub task(Str $name, &body) {7⏏5<EOL>␤»
FROGGS m: multi sub task(Str $name, &body) { }
camelia ( no output )
moritz m: sub task($, $) { }; task 1, { my $x = 42 };
camelia ( no output )
moritz m: sub task($, $) { }; task 1, { my $x = 42 }
camelia ( no output )
nwc10 jnthn: how is your beer fridge? 16:06
jnthn nwc10: It's in Lund, and I'm in Oslo. So...distant? :) 16:07
FROGGS m: my $t = task "fred", { $x = "meth"; }
camelia rakudo-moar e36165: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VnwHU1uyFn␤Variable '$x' is not declared␤at /tmp/VnwHU1uyFn:1␤------> 3my $t = task "fred", { $x7⏏5 = "meth"; }␤ expecting any of:␤ postfix␤»
FROGGS m: my $t = task "fred", { "meth"; } 16:08
camelia rakudo-moar e36165: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0T5qOGaTZD␤Undeclared routine:␤ task used at line 1␤␤»
FROGGS so far so good
nwc10 jnthn: that sounds like bad planning. Hopefully they also sell beer in Oslo.
16:08 telex left
timotimo thank you all for taking a bit of your time to look into this <3 16:08
timotimo AFK
J-L I found that to append a value to a Buf object, I can do: $x[+*] = value; 16:09
16:10 telex joined
dalek kudo/newio: b694705 | lizmat++ | src/core/IO.pm:
Fix some stray at_pos/exists_key
16:11
kudo/newio: 9e2c657 | lizmat++ | src/core/IO/Dup.pm:
Allow warningless IO::Dup.slurp (for $*IN.slurp)
FROGGS m: proto sub task(|) is export { * }; multi sub task(Str $name, &body) { }␤my $t = task "fred", { my $x = "meth"; }␤$t.execute
camelia rakudo-moar 6f9c64: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QewTpyrqBe␤A list operator such as "task" must have whitespace before its arguments (or use parens)␤at /tmp/QewTpyrqBe:3␤------> 3my $t = task "fred", { my $x = "meth"; }7⏏5<EOL>␤»
FROGGS m: proto sub task(|) is export { * }; multi sub task(Str $name, &body) { }␤my $t = task "fred", { my $x = "meth"; };␤$t.execute
camelia rakudo-moar 6f9c64: OUTPUT«No such method 'execute' for invocant of type 'Any'␤ in block <unit> at /tmp/oDpwIPE2D8:3␤␤»
FROGGS the ENDSTMT is buggy or what it is called 16:12
psch m: say -Inf.WHAT 16:13
camelia rakudo-moar 6f9c64: OUTPUT«(Num)␤»
16:13 larion left
psch m: say -Inf // "mu" 16:13
camelia rakudo-moar 6f9c64: OUTPUT«-Inf␤»
lizmat m: say Inf // "mu" 16:18
camelia rakudo-moar 6f9c64: OUTPUT«Inf␤»
lizmat hmmm...
m: say Inf.defined
camelia rakudo-moar 6f9c64: OUTPUT«True␤»
psch m: print Inf 16:19
camelia rakudo-moar 6f9c64: OUTPUT«Inf»
psch hm
lizmat: that's S03-operators/minmax.t, from the looks of it that's in Test::<&is>, and not rakudo?
where the first "that's" means "what i'm looking at" and the second is "the reason the tests fail" 16:20
16:20 mr-foobar joined
lizmat is $got, $expected, $message 16:20
m: say Inf.Str
camelia rakudo-moar 6f9c64: OUTPUT«Inf␤»
lizmat m: say -Inf.Str
camelia rakudo-moar 6f9c64: OUTPUT«-Inf␤»
psch maybe there's a bug in signatures from jvm, i've mostly copied what moar does for the smiley annotations 16:21
lizmat if $expected is a type object (aka undefined), then === is used to compare
psch m: use Test; is "foo" min -Inf, -Inf, "good"
lizmat afk for a bit&
camelia rakudo-moar 6f9c64: OUTPUT«ok 1 - good␤»
16:22 vendethiel left
psch and i suspect jvm has to do it a bit different in a spot that i hadn't seen 16:22
16:22 Rounin left 16:29 FROGGS left
TimToady m: say index('foo',''); nqp::index('foo','') 16:29
camelia rakudo-moar 6f9c64: OUTPUT«0␤»
TimToady m: say index('foo',''); say nqp::index('foo','')
camelia rakudo-moar 6f9c64: OUTPUT«0␤-1␤»
TimToady nqp::index disagrees with both p5 and p6 16:30
16:30 yqt joined
jnthn Which is odd given I'd have thought p6 index would be implemented *using* nqp::index... 16:31
16:31 spider-mario joined
donaldh Well I changed JVM nqp::index to align with moar. 16:35
TimToady which is what was bothering me :)
I think we need to make sure we don't feed '' to that call
donaldh index is implemented using nqp::index but checks edge cases itsefl
jnthn Maybe if we align the op with the desired semantics, it won't have to check 'em :) 16:36
TimToady well, I think '' gets the degenerate case wrong
er nqp
donaldh if $needle eq '' { my $chars = self.chars; return $pos < $chars ?? $pos !! $chars; }
TimToady m: say substr('foo',0,0) eq '' 16:37
camelia rakudo-moar 6f9c64: OUTPUT«True␤»
TimToady that is the degenerate case
16:41 cognominal joined, vendethiel joined 16:42 brrt` left
donaldh Do you want '' to be found in a string? 16:43
To basically return the starting index?
dalek kudo/nom: ab55cb7 | TimToady++ | src/Perl6/Grammar.nqp:
don't feed '' to nqp::index
16:44
TimToady donaldh: yes, that is the correct degenerate behavior
psch m: for Inf, +Inf, -Inf { .say } 16:45
camelia rakudo-moar 6f9c64: OUTPUT«Inf␤Inf␤-Inf␤»
psch $ ./perl6-j -e'for Inf, +Inf, -Inf { .say }' 16:46
Inf␤0␤-Inf
math /o\
psch builds a fix 16:55
TimToady m: say UInt(-42) 16:57
camelia rakudo-moar 6f9c64: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤ in block <unit> at /tmp/DwlZXYAKvK:1␤␤»
16:57 cognominal left
TimToady m: say (-42).UInt 16:57
camelia rakudo-moar 6f9c64: OUTPUT«Coercion to UInt out of range. Is: -42, should be in 0..Inf␤ in method gist at src/gen/m-CORE.setting:15250␤ in sub say at src/gen/m-CORE.setting:18073␤ in block <unit> at /tmp/7M7WfaBCOq:1␤␤»
donaldh & 16:58
timotimo maybe we shouldn't call it "incompatibility change", but "incompatible change" in the changelog %)
16:58 donaldh left 17:00 Celelibi left
rindolf Hi all. 17:01
timotimo greetings rindolf
17:01 Celelibi joined
rindolf timotimo: sup? 17:01
17:02 perl6_newbee joined 17:03 zakharyas left 17:04 vendethiel left
timotimo notmuch :) 17:06
.o( now what's the right incantation for "and you?" ) 17:07
17:07 raiph left
timotimo AFK 17:08
17:10 abraxxa left 17:11 vendethiel joined
raydiak o/ 17:11
17:12 tbrowder joined 17:13 tbrowder left 17:14 kaleem left 17:17 fhelmberger left 17:19 smls left 17:22 [Sno] left
avuserow \o raydiak, #perl6 17:24
17:27 cognominal joined 17:31 cognominal left
rindolf o/ 17:31
17:32 vendethiel left 17:33 kjs_ left 17:34 kjs_ joined
dalek kudo-star-daily: a7abab4 | coke++ | log/ (9 files):
today (automated commit)
17:36
rl6-roast-data: 37de2f8 | coke++ | / (9 files):
today (automated commit)
17:37 cognominal joined
[Coke] rakudo-jvm has 273 failures, someone broke something. 17:38
moar, moar-jit have two that have been failing for a while.
17:39 kjs_ left, cognominal left 17:40 pecastro left
[Coke] rakudo's a99a572 was "ok" for jvm. the next day, rakudo's db49f3b had the failures. 17:41
I'll bisect.
timotimo fosdem hasn't released froggs' talk recording :( 17:43
17:45 diana_olhovik joined 17:50 vendethiel joined 17:58 dakkar left
J-L Question: How do I iterate over all the elements of a Buf? I came up with this, but it uses the range operator: $x[$_].say for 0 .. $x.end; 18:00
jercos J-L: I'd probably use .list
J-L I tried: for @$x -> $c { .say } but that just prints Nils.
jercos well first off, $c.say 18:01
PerlJam aye, that's probably the error
yoleaux 7 Mar 2015 09:17Z <nine_> PerlJam: muraiki's segfault was caused by PERLINC pointing to modules for a different perl version. I guess your case is different?
jercos m: for "Hello, world!".encode.list { .say }
camelia rakudo-moar ab55cb: OUTPUT«72␤101␤108␤108␤111␤44␤32␤119␤111␤114␤108␤100␤33␤»
J-L Wow... you're right, it IS $c.say . It's funny how I miss tiny things like that while learning a new language.
jercos Yup yup. It's easy to miss details when troubleshooting what seems like a huge problem :) 18:02
J-L And .list works, too. But I don't see .list mentioned in the Buf documentation at doc.perl6.org/type/Buf . Is it mentioned somewhere else?
PerlJam J-L: .list isn't a Buf only thing. It's what makes @() work 18:03
@($buf) (or @$buf) is the same as $buf.list
moritz huh
it comes from Any
dalek p: 832c331 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Properly recognize +Inf in coerce_s2n and thus smart_numify.
moritz but doc.perl6.org doesn't show it
J-L PerlJam, if there's a webpage out there on it, I'd love to read it. 18:04
18:04 virtualsue left
moritz because it assumes that whatever class a role is composed into will inherit it from Any 18:04
but that happens implicitly
18:05 [Sno] joined
jercos That seems like something worth explicitly mentioning for Buf... 18:05
I mean, .list on a scalar value will just make a one-item list usually, right?
PerlJam J-L: aye 18:06
psch m: "aaa" ~~ /./; say $/.list
camelia rakudo-moar ab55cb: OUTPUT«␤»
PerlJam er, jercos
psch m: "aaa" ~~ /(.)/; say $/.list
camelia rakudo-moar ab55cb: OUTPUT«「a」␤»
psch m: "aaa" ~~ /(.)+/; say $/.list
camelia rakudo-moar ab55cb: OUTPUT«「a」 「a」 「a」␤»
perl6_newbee nine_: are you on
18:06 cognominal joined
psch .list on a scalar container does what the type contained does 18:06
m: class A { method list { <foo bar baz> } }; say A.new.list 18:07
camelia rakudo-moar ab55cb: OUTPUT«foo bar baz␤»
18:07 skids joined
PerlJam oh ... /me was having some scalar/item confusion 18:07
jercos: .list on an item will make a one-item list :)
psch m: .say for [1,2,3].list 18:08
camelia rakudo-moar ab55cb: OUTPUT«1␤2␤3␤»
dalek kudo/nom: 5f9243c | TimToady++ | src/core/Cool.pm:
rely on nqp for correct index semantics
psch now i'm getting insecure :)
J-L So here's a Str/Buf question: I'm reading in a (technically binary) file into a Buf object. However, this file happens to have an ASCII header that I parse through with a regular expression. At the end of the header, the binary data begins. What I'm asking is: How do I use regexps on a Buf object as if the start of it were a string?
psch PerlJam: .list on an item still depends on what the item wants to do in list context, doesn'it? 18:09
*doesn't it
18:09 Foxcool left
TimToady .list is not really list context 18:09
18:09 kjs_ joined
TimToady slurpy is list context 18:09
psch oh 18:10
jercos makes a note to drop by 7-11
psch i think that ties in with the trouble with «for m:g//»?
TimToady and slurpy respects item, while .list doesn't
psch that we decided not to have
18:10 kjs_ left
TimToady yeah 18:10
that's why I decided it was bad to return a $/ where a flattenable list was desirable 18:11
18:11 Foxcool joined
psch right, thanks 18:11
J-L Hey, when I run: pack('N2 C5', 1 .. 10); I get a Buf of only 5 elements. Shouldn't it be 7 elements? Using a pack string of 'NN CCCCC' gives me 7 elements, but 'N2 C5' does not. Is this normal? 18:16
I'm sorry... instead of 7 elements, it should be 13 elements. 18:17
In other words, pack('N2 C5', 1 .. 10).elems gives me 5, whereas pack('N N CCCCC', 1 .. 10).elems gives me 13.
Maybe I'm missing something, but that doesn't look right to me. 18:18
geekosaur I think pack and unpack are known to be not fully implemented? 18:20
yet
18:20 perl6_newbee left, cognominal left 18:21 eli-se joined
retupmoca J-L: looks like the count is ignored for everything but 'A' 'a' and 'x' 18:23
J-L: see github.com/rakudo/rakudo/blob/nom/...uf.pm#L284
raydiak J-L: you could extract a portion of the Buf using subbuf, then use .decode to turn it into a string 18:25
r: my $b = Buf.new: 97..122; say $b.subbuf(0,3).decode; 18:26
camelia rakudo-moar ab55cb: OUTPUT«abc␤»
18:27 Vlavv left 18:28 yqt left 18:29 raiph joined
J-L raydiak: Yes, I could, but I don't know the length of the string until I process through it (which is easy to do with a regular expression). I suppose I could .decode it into a Str, then process the Str, find its length, and then process the binary portion after that. 18:29
b2gills Shouldn't there be a submethod BUILD for Signature?
18:30 cognominal joined
J-L Say, I see that I can use splice() on Buf objects, but I can't seem to use the last argument to replace. For example: 18:30
my $x = Buf.new(1 .. 10); splice(@$x, 0, 5, ()); # doesn't actually remove the first five elements 18:31
That is, the first five elements are returned, but $x remains unchanged. 18:32
skids That's because you are splicing $x, you are splicing a list you created from $x. 18:33
erm not splicing $x
J-L Is there any way to splice $x?
PerlJam J-L: implement splice for Buf? :) 18:34
skids m: my $x = Buf.new(1 .. 10); subbuf-rw($x, 0, 5) = Buf.new(); $x.say # but this will be very slow in tight loops.
camelia rakudo-moar ab55cb: OUTPUT«Buf:0x<06 07 08 09 0a>␤»
retupmoca m: my $b = buf8.new(1 .. 10); say $b.subbuf(0, 5); $b .= subbuf(5); say $b; 18:35
camelia rakudo-moar ab55cb: OUTPUT«Buf[uint8]:0x<01 02 03 04 05>␤Buf[uint8]:0x<06 07 08 09 0a>␤»
J-L buf8? Is that a shortcut for Buf[uint8] ? 18:36
skids yes
J-L Neat!
retupmoca m: buf8.new.say; buf16.new.say; buf32.new.say; # other sizes available as well
camelia rakudo-moar ab55cb: OUTPUT«Buf[uint8]:0x<>␤Buf[uint16]:0x<>␤Buf[uint32]:0x<>␤»
J-L Is there a way to junk remove the first n elements of a Buf object? 18:37
I mean, an efficient way?
dalek p: 986c397 | TimToady++ | / (2 files):
revert jvm index semantics, plus new tests
18:38
retupmoca I usually do '$buf .= subbuf($n);' but I'm not really sure how efficient it is
PerlJam retupmoca: it uses a Proxy, so if he's doing it often, probably not so much
J-L: why are you concerned with efficiency? 18:39
skids Right now (unless I missed something) subbuf-rw uses inefficient proxy objects and it is the only way I think to alter the buf directly, if it even actually does that and does not just lie and swap in a newly created buf.
18:39 cognominal left
skids J-L: if you do not need effeciency right now it is probably easiest to ignore all that. 18:40
dalek kudo/nom: db60501 | TimToady++ | src/core/Cool.pm:
fix rindex too, duh
raydiak PerlJam: subbuf (not -rw) uses a proxy?
PerlJam raydiak: ah, no, I was getting the two examples confused. 18:41
18:41 Vlavv joined
skids not-rw would create a new buf, so if you are shaving 3 bytes of a 4MB buffer... 18:41
timotimo subbuf-rw uses a proxy, subbuf doesn't, i believe
raydiak yes it uses more memory and less cpu, that's the tradeoff retupmoca was suggesting I think 18:42
skids m: my @x := Buf.new(1 .. 10); @x[1]:delete; @x.say; # bummer, well I tried
camelia rakudo-moar 5f9243: OUTPUT«Can not remove elements from a Buf␤ in block <unit> at /tmp/nXmm5lQ3Oz:1␤␤»
18:42 krakan joined
J-L I'm porting over a Perl5 script of mine to Perl6, and it uses substr on a binary data string. I've discovered that certain things can take about 64 seconds on Perl6 that took about 1 second on Perl5. But make a little tweak, and Perl6 can go down to 1 or 2 seconds. 18:42
raydiak I don't think we are, for the most part, claiming to be anywhere near the execution speed of p5 yet; that said, it sounds kinda extreme and if you can golf the slow part down, I'll bet someone here would enjoy improving it 18:44
skids Although --- wait actuall not-rw would not necessarily create a new buffer if its coded right.
raydiak skids: even though Buf is mutable? 18:45
colomon raydiak: I’ve got to say, going from 60x slower than p5 to 1.5x slower with some simple tweaks sounds about right to me. :)
skids As long as you don't mutate it. 18:46
raydiak copy on write I guess
skids No not even I think...
retupmoca looks like non -rw is going to be faster, as .subbuf-rw is a proxy that calls .subbuf() three times 18:47
raydiak colomon: good news :) wasn't the case last time I compared...suppose I ought to stop spouting outdated information
retupmoca and .subbuf does create a full copy of the object
colomon raydiak: I certainly don’t want to say everything is comperable in speed now!
raydiak: just that much slower still happens, while there are certain areas where the speeds are quite comperable. 18:48
raydiak colomon: oh no that's totally what you said dude, I'm holding you to it ;) 18:49
18:49 travis-ci joined
travis-ci NQP build failed. TimToady 'revert jvm index semantics, plus new tests' 18:49
travis-ci.org/perl6/nqp/builds/53689750 github.com/perl6/nqp/compare/832c3...6c39788e6f
18:49 travis-ci left
skids m: my @x := Buf.new(1 .. 10); my @y := @x.subbuf(0,5); @y.say; @x[2] = 42; @y.say; # so the question is what SHOULD happen here. 18:50
camelia rakudo-moar 5f9243: OUTPUT«Buf:0x<01 02 03 04 05>␤Buf:0x<01 02 03 04 05>␤»
raydiak nah but really, I know what you mean...notice sometimes if I adjust just the right things, I stumble upon something which is much appreciated by the optimizer or the jit or whatever
krakan Hello everybody! Does anyone know how to run an external command with a pipe to write to it? I seem to be unable to get it right ... 18:52
PerlJam krakan: It may not be invented. 18:53
moritz krakan: doc.perl6.org/type/Proc::Async see the example with :w
18:54 espadrine_ left
eli-se I like how class names in PHP are case-insensitive, so if a library has an ugly class name like HttpRequest, you can still refer to it nicely as HTTPRequest. :P 18:55
yoleaux 12:48Z <Ven> eli-se: github.com/pixie-lang/pixie
PerlJam moritz++ 18:56
18:56 vendethiel left
b2gills m: say index 'abc','d'; say rindex('abc','d').^name 18:57
camelia rakudo-moar 5f9243: OUTPUT«(Int)␤Failure␤»
18:59 Ven left
krakan moritz: Thank! I'll check that out right away - I've been trying with pipe, open and IO::Pipe so far with no luck. 18:59
eli-se .tell Ven I don't like it. :( 19:00
yoleaux eli-se: I'll pass your message to Ven.
krakan hm - "Thank!" is that like "Thanks!" but just one? - Anywa, I meant "many thanks" of course. ;) 19:01
moritz :-)
19:03 Sir_Ragnarok left, vendethiel joined 19:04 kjs_ joined
b2gills J-L: perhaps the fastest way to remove the first n elements is to read them in separately 19:04
m: say $*IN.read(5); say $*IN.read(5)
camelia rakudo-moar 5f9243: OUTPUT«Buf[uint8]:0x<43 c3 a9 61 64>␤Buf[uint8]:0x<20 73 6c c3 a1>␤»
b2gills m: $*IN.seek(5,0); say $*IN.read(5) 19:07
camelia rakudo-moar 5f9243: OUTPUT«Buf[uint8]:0x<20 73 6c c3 a1>␤»
19:07 FROGGS joined, yqt joined, raiph left 19:08 Sir_Ragnarok joined, J-L left
FROGGS o/ 19:09
moritz krakan: it seems that pipe() currently ignores :w, and always opens the program for reading 19:11
dalek p: 5b5c74f | TimToady++ | tools/build/MOAR_REVISION:
bump moar rev
19:12
19:13 kjs_ left 19:14 mglass joined
FROGGS m: multi sub task(|) { }␤my $t = task "foo", { }␤$t 19:15
camelia rakudo-moar db6050: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sBkxjb8hYb␤A list operator such as "task" must have whitespace before its arguments (or use parens)␤at /tmp/sBkxjb8hYb:3␤------> 3my $t = task "foo", { }7⏏5<EOL>␤»
FROGGS m: multi sub task(|) { }␤my $t = task "foo", { };␤$t
camelia ( no output )
FROGGS TimToady: do you have a clue what's going on here? 19:16
(or what change could introduced that?)
perhaps kok?
ahh nice, release is next week 19:17
TimToady that's very odd 19:18
19:18 mglass left
FROGGS m: multi sub task(|) { }␤my $t = task "foo", { }␤say 42 19:18
camelia rakudo-moar db6050: OUTPUT«42␤»
FROGGS that's odd :o)
timotimo maybe using a Blob instead of a Buf would make things better?
because those are, IIRC, immutable? 19:19
TimToady m: multi sub task(|) { }␤my $t = task "foo", { }␤$t; 19:20
camelia rakudo-moar db6050: OUTPUT«5===SORRY!5=== Error while compiling /tmp/imrh5V3CDV␤A list operator such as "task" must have whitespace before its arguments (or use parens)␤at /tmp/imrh5V3CDV:3␤------> 3my $t = task "foo", { }7⏏5<EOL>␤»
TimToady m: multi sub task(|) { }␤my $t = task "foo", { }␤+$t;
camelia rakudo-moar db6050: OUTPUT«use of uninitialized value of type Any in numeric context in block <unit> at /tmp/bUrxVMstXM:3␤␤»
TimToady m: multi sub task(|) { }␤my $t = task "foo", { }␤*; 19:21
camelia ( no output )
FROGGS m: multi sub task(|) { }␤my $t = task "foo", { }␤"42"
camelia rakudo-moar db6050: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rlAwsBJvrv␤A list operator such as "task" must have whitespace before its arguments (or use parens)␤at /tmp/rlAwsBJvrv:3␤------> 3my $t = task "foo", { }7⏏5<EOL>␤»
FROGGS heh
19:22 kjs_ joined 19:23 travis-ci joined
travis-ci NQP build failed. TimToady 'bump moar rev' 19:23
travis-ci.org/perl6/nqp/builds/53694815 github.com/perl6/nqp/compare/986c3...5c74f853d7
19:23 travis-ci left 19:25 vendethiel left
skids Ooh, a drive-by bot :-) 19:26
19:27 amaliapomian joined 19:29 kjs_ left
FROGGS I guess '<args(1)>' eats the newline? 19:29
TimToady it's just bogus logic there, fixing 19:31
FROGGS $<args> is ' "foo", { }␤' fwiw 19:32
dalek kudo/nom: d2a17d1 | TimToady++ | src/Perl6/Grammar.nqp:
don't test for listop ws if there were args!
19:33
19:35 J-L joined
J-L By the way, when someone starts text with "m: ", what does that mean? 19:35
19:36 kaare_ joined
FROGGS ohh, that would have shown nicely wich commit was to blame: testers.p6c.org/dist/S/sake/Jonatha...om%3E.html 19:36
J-L: it is about rakudo for the Moarvm backend
avuserow m: say "Hello J-L from Perl6 on Rakudo on MoarVM!"
camelia rakudo-moar db6050: OUTPUT«Hello J-L from Perl6 on Rakudo on MoarVM!␤» 19:37
krakan moritz: yes, that's what I found too. Proc::Async works great though.
FROGGS TimToady++ # sake (and a lot other modules) are fixed 19:38
dalek p: ce657bf | TimToady++ | tools/build/MOAR_REVISION:
bump moar
19:42
raydiak camelia: help 19:43
camelia raydiak: Usage: <(nqp-js|star-m|p5-to-p6|rakudo-moar|rakudo-jvm|nqp-moarvm|nqp-jvm|star-p|debug-cat|pugs|star-j|prof-m|std|niecza|nqp-parrot|nqp-m|m|rn|n|rPn|p56|sp|rakudo|rnP|p6|nom|rm|sm|nqp-q|Prn|r|Pnr|nrP|nqp|nPr|star|P|r-m|r-jvm|nqp-mvm|nqp-j|j|nqp-p|perl6|rj|nr|r-j)(?^::\s) $perl6_program>
19:43 larion joined
raydiak J-L: ^ are the evalbot prefixes for various implementations, backends, etc 19:44
p56: my @a = (1,2,3); $a[-1] = 1; 19:47
camelia p5-to-p6 : OUTPUT«my @a = (1, 2, 3);␤@a[* - 1] = 1␤»
raydiak neat
FROGGS ohh, nice
19:47 eli-se left 19:48 travis-ci joined
travis-ci NQP build passed. TimToady 'bump moar' 19:48
travis-ci.org/perl6/nqp/builds/53699256 github.com/perl6/nqp/compare/5b5c7...657bf0de5a
19:48 travis-ci left
raydiak is off the eat his first meal in 2 days and go for a walk 19:49
FROGGS first meal in two days? WAT? 19:51
dalek c: 65c7cab | moritz++ | lib/Type/Routine.pod:
Routine: document trait hidden_from_backtrace
jnthn doesn't make a pun about walking fast...
raydiak FROGGS: the walk is across town to the social services office to renew the foodstamps :P
FROGGS O.o 19:52
19:52 vendethiel joined
FROGGS really hopes that this is a joke 19:53
raydiak kinda broke in the head several years back and haven't substantially worked since, but I try not to talk about it much here, I'm kinda a ranting lunatic as it is
FROGGS ahh
raydiak on the up side, if the talk with my girlfriend goes well tonight, I won't be homeless tomorrow... 19:54
FROGGS okay, in retrospect, my day was not that bad after all 19:56
jnthn raydiak: Hope all will go well.
[Coke] raydiak: best of luck. 19:57
raydiak thank you everyone, it means a lot to me...y'all are in many ways the closest acquaintances I have 19:58
J-L Thanks for all your help, raydiak.
nwc10 raydiak: good luck
raydiak while I'm on the subject, might as well mention if anyone needs a half-crazy but somewhat clever programmer on their payroll, I could live more comfortably with only the wages of e.g. coders in india and pakistan :) 20:00
FROGGS :o) 20:01
dalek p: 27bc873 | TimToady++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
handle off the end start in jvm's index/rindex
raydiak I dropped out of high school, never went to college, have barely known any other programmers, and generally have a hard time getting anyone around here (here geographically) to take me seriously, don't know all the secret "I went to college" handshakes or something
J-L Where do you live, raydiak? Like, what country, what state?
raydiak WA state US
dalek kudo/nom: a49900a | TimToady++ | tools/build/NQP_REVISION:
bump nqp
20:02
J-L Hmm... not near me. What other programming languages do you know?
raydiak Lua, p5, all the common web stuff
J-L What about C++ & Qt? 20:03
Ruby? Ruby on Rails?
raydiak no but I learn anything kinda really fast...at my internship I ended up being the only (and unpaid) developer on the core product, and didn't even know perl when I started a few months before
"internship" being a flexible term here :)
I worked basically for room and board on and off for about 9 years, between factory jobs and dishwashing and fast food and such 20:04
longest shift I ever pulled was 84 hours
not that we had a timeclock, of course
flussence raydiak: be careful what you wish for; my last coding job paid peanuts, and that wasn't anywhere near well enough to make up for all the other tolls it took in the long run... I think most people here are worth much, much more than that :) 20:05
20:05 kjs_ joined, rindolf left
J-L Do you mind stating what city you're in? Don't if you're not comfortable telling. 20:06
raydiak wSpokane
J-L (Meant for radiak.)
raydiak erm, without the w :)
J-L I'll pass the word along, but I can't guarantee anything. 20:07
masak it's classier with the w
raydiak flussence: thanks, I'll keep that in mind; the grass is always greener and all that. I have found, though, that doing a brain-sapping repetitve task for 8 hour 5-day weeks to barely scratch a living out also has it's tolls
thank you J-L, I seriously appreciate your help whether anything materializes or not! 20:08
jnthn masak: heh, I parsed it as Polish "in", helped by the e at the end :P
raydiak hehe
most things around here are named after native american people and words 20:09
J-L Another Perl6 question... Is there a Perl6 equivalent to truncated an array like Perl5's $#array = 5; ?
masak jnthn: oh, right! that's it! 20:10
J-L You're welcome, raydiak. I know someone in Washington, but he's not there permanently, and I don't know if he knows of a position. But I'll check.
20:10 grondilu joined
TimToady m: my @array = 1..10; @array.end = 4; say @array 20:10
camelia rakudo-moar d2a17d: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/5TESdQSfOC:1␤␤»
grondilu had no idea $#array = 5 was a thing. I'd use splice.
masak J-L: maybe `@array.=[^5]` ?
TimToady masak: the point would be to trim it in place
J-L I already tried @array.end = 4; but I get this error: Cannot modify an immutable Int 20:11
TimToady m: my @array = 1..10; @array.splice(5); say @array
camelia rakudo-moar a49900: OUTPUT«1 2 3 4 5␤»
TimToady that's probably being smart
masak m: my @array = 1..10; @array .= [^5]; say @array
camelia rakudo-moar a49900: OUTPUT«No such method '&postcircumfix:<[ ]>' for invocant of type 'Array'␤ in method dispatch:<.=> at src/gen/m-CORE.setting:1355␤ in block <unit> at /tmp/CZE0HBLqlG:1␤␤»
J-L @array.=[^5] gives me: Cannot use .= on a non-identifier method call 20:12
masak o.O
raydiak thank you all again so much for your support...done eating, really afk for the walk now :)
20:12 breinbaas joined
TimToady std: my @array = 1..10; @array .= [^5]; say @array 20:12
J-L But this works: @array.splice(5);
camelia std 28329a7: OUTPUT«Potential difficulties:␤ Unsupported use of .= as append operator; in Perl 6 please use ~= at /tmp/5Lxqh8cU0k line 1:␤------> 3my @array = 1..10; @array .=7⏏5 [^5]; say @array␤ok 00:01 140m␤»
TimToady std: my @array = 1..10; @array.=[^5]; say @array 20:13
camelia std 28329a7: OUTPUT«ok 00:00 140m␤»
J-L my @array = 1..10; @array .= [^5]; say @array; gives me: Method '&postcircumfix:<[ ]>' not found for invocant of class 'Array'
grondilu wouldn't @array .= [^5] less efficient than using splice? 20:14
TimToady I just said that
20:14 eli-se joined
TimToady or maybe my client ate that remark 20:14
grondilu seems so 20:15
masak < TimToady> masak: the point would be to trim it in place
TimToady that were it
grondilu ok
20:15 rurban left
masak .oO( let me backlog that for you ) :P 20:15
TimToady along with "that's probably being smart"
20:16 vendethiel left
masak probably 20:16
TimToady now you're just being smart
masak shifts away, quietly, awkwardly 20:17
Mouq rt.perl.org/Ticket/Display.html?id=120383 20:18
20:18 vendethiel joined
moritz masak: now you're just ebing awkward 20:18
TimToady probably better than sedward
moritz perlward would be even better :-)
masak .oO( Look to Sedward )
masak enjoys being smart, which sometimes gets awkward 20:19
in other news, I notice I've started commenting lines of code that exceed a certain threshold of unreadableness, or rather non-at-sight-understandability. 20:20
moritz you could simplify them instead. 20:21
masak here is a recent example: github.com/masak/007/blob/master/l...#L101-L108
two commented lines.
I guess I could refactor both those lines into well-named subs, or whatever. 20:22
but, like... meh.
I put the comments there instead.
[Coke] sedward sqrtpants
masak .oO( we are put here on this urth, not to be gods or masters of nature, but to be sedwards )
[Coke] Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=200m; support was removed in 8.0 20:23
masak also, in that sub, I kinda wish there were a nice way to quickly create a "virtual file system", and run the Unix command on it. instead of messing with /tmp, which isn't so nice to non-Unix platforms and stuff. 20:24
whoever writes the "temporarily `cd` into a virtual file system" module, that works on all platforms, gets a beer from me :> 20:25
moritz masak: fwiw $*TMPDIR exists
masak ooh
still, I'm not really interested in files here at all
I do that because I have to
[Coke] tclsh let you create an in memory FS. something like that? 20:26
masak or I could re-implement `diff` in pure Perl 6.
[Coke]: yes, I think so.
timotimo we do have a diff in pure perl
masak troo
timotimo Text::Diff uses Algorithm::Diff which, i believe, is both pure perl6
but the tests for Text::Diff seem to be having a tiny bit of trouble
the error about listops needing whitespace or parens has been fixed, right? 20:27
20:29 darutoko left
dalek ast: bcbe584 | TimToady++ | S32-str/ (2 files):
fix off-the-end index/rindex tests
20:30
20:32 virtualsue joined, kjs_ left
TimToady t/spec/S02-lexical-conventions/comments.rakudo.moar appears to be looping 20:32
20:33 darutoko joined
lizmat is now starting on the P6 Weekly 20:34
20:34 darutoko left
TimToady my $a = q# 32 #; <-- this is what's looping 20:34
probably recursive throw 20:35
I'll let someone else look at that, gotta finish packing for .hu and .ro
huf you're coming here? what's here? 20:36
TimToady they're trying to restart PM in Budapest 20:37
huf ooh!
TimToady so there's a conference Thu evening 20:38
b2gills m: say index('abc','d').^name; say rindex('abc','d').^name; say index('abc','').^name; say rindex('abc','').^name
camelia rakudo-moar a49900: OUTPUT«Int␤Failure␤Int␤Int␤»
huf TimToady: where can i find more info on it?
nine_ .seen Tux 20:43
yoleaux I haven't seen Tux around.
nine_ .seen |Tux|
yoleaux I saw |Tux| 12:28Z in #perl6: <|Tux|> .u Τῳ
20:44 mohij joined
masak (famous last words) 20:46
20:46 felher left 20:48 eli-se left
dalek line-Perl5: c840b8d | (Stefan Seifert)++ | / (3 files):
First support for passing file handles from Perl 6 to Perl 5
20:49
nine_ .tell |Tux| I seem to remember you expressing interest in passing file handles to P5 code. github.com/niner/Inline-Perl5/commit/c840b8d1bd may be of interest to you.
yoleaux nine_: I'll pass your message to |Tux|.
lizmat my $a = q## # also hangs 20:50
FROGGS nine_++ 20:51
20:52 felher joined, felher is now known as Guest89153
FROGGS m: my $i = UndeclaredClass.new; 20:55
camelia rakudo-moar a49900: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HMEaDsiUV6␤Undeclared name:␤ UndeclaredClass used at line 1␤␤»
lizmat m: q## 21:00
already hangs :-(
camelia rakudo-moar a49900: OUTPUT«(timeout)»
lizmat looks like ab55cb75a06abe765 is the first failing commit
skids gist.github.com/skids/d7dac1c5f6921f430f64 # drive-by summary/followup thoughts on "the role debate." But I'll be afk, so feel free to call me names in the backlog :-) 21:03
moritz skids: names! 21:04
masak 'night, #perl6
21:05 coffee` left 21:07 skids left, coffee` joined 21:08 Hor|zon left 21:10 muraiki left 21:11 diana_olhovik left 21:17 donaldh joined, Hor|zon joined 21:23 MadcapJake left, MadcapJake joined 21:31 Ugator left
japhb
.oO( masak is sleeping earlier these days ...)
21:31
yoleaux 15:57Z <jnthn> japhb: No, I didn't attempt that (I wrote it in about 2 hours flat ;)). Please file a ticket, though, as it's a good idea.
15:59Z <jnthn> japhb: You'd probably have to .cue code directly to get it to hit that; Promise.start will have the Promise itself catch the exception and store it.
japhb .tell jnthn OK, I filed a GHI for the inheritable monitors request 21:32
yoleaux japhb: I'll pass your message to jnthn.
japhb Looks like an interesting backlog, from a quick skim.
japhb ponders whether to sink time into backlogging today
lizmat p6weekly.wordpress.com/?p=425&...e11833d5f4 # this weeks P6Weekly draft 21:33
jnthn lizmat: apostrophe cotastrophe! 21:34
yoleaux 21:32Z <japhb> jnthn: OK, I filed a GHI for the inheritable monitors request
jnthn ("videos" :))
hoelzro lizmat++
I find it great that there's not just a single person maintaining P6weekly
it's a hard job, but that'll keep it going!
lizmat jnthn++ 21:35
japhb Yeah, lizmat++ and timotimo++ for sharing that responsibility.
jnthn lizmat: That aside, I don't see anything to quibble about 21:36
lizmat++
21:36 Guest83546 left
lizmat feels like I'm missing a bunch 21:36
jnthn I feel like I did bugger all in the lsat week on Perl 6 :/
*last
21:36 FROGGS left
lizmat my main source of info was really the git log this time 21:37
backlogging the past week (again) would have taken too much time
jnthn On the upside, I'm about to write the final slide for a course I've been working on for the last ages :)
21:37 xfix left, bowtie joined, bowtie is now known as Guest71997
jnthn lizmat: Oh, I did do something! 21:37
lizmat
.oO( note to self: keep list of P6W worthy things in backlog, even when not doing the P6W)
21:38
jnthn lizmat: I fixed most cases (afaik) of the pesky "Expected Array[Str] but got Array[Str]" bug.
lizmat jnthn: do tell!
japhb Any new thoughts on the role BUILD problem since skids++'s summary at gist.github.com/skids/d7dac1c5f6921f430f64 ? This one is near and dear to my heart right now. :-) 21:39
jnthn lizmat: Also some small optimization work to improve native ++/-- code-gen (and probably other is rw native things too)
donaldh lizmat: is it worth mentioning the steady increase in voices on #perl6 ?
lizmat donaldh: do we have stats on that somewhere ?
PerlJam donaldh: you mean we should call out all those P5 people who hang out here now? P)
er :)
donaldh lizmat: also jnthn++'s gc crash fixes that unblocked nine 21:40
I don't know of any stats.
Just a perception 21:41
21:41 brrt joined
lizmat jnthn: the native int ++ codegen improvement still does not make it faster than using Int's 21:42
japhb Could probably be calculated from the irclog; moritz++ may already be doing this.
lizmat so I wonder whether I should mention that
jnthn lizmat: Correct; it's an improvement, not all the improvements we need :)
lizmat if we have a page I could link to, I would :-)
jnthn lizmat: The other bug fix I did, and what donaldh++ mentioned, are more significant. :) 21:43
jnthn forget the GC bug fix :)
*forgot
donaldh maybe some wonderful person will graph the irclogs :)
b2gills lizmat: perhaps we could `.tell p6weekly ...` when something interesting happens, then when creating a p6weekly post you just switch to that nick, and type .botsnack
jnthn nine++ did the hard work in figuring out what needed fixing
lizmat b2gills: excellent suggestion :-)
b2gills may have to do something to keep someone else from registering it 21:44
donaldh what drives the irclog summary mechanism? 21:45
avuserow lizmat: I fixed a bug in nqp-j regarding EOF being wrongly set (github.com/perl6/nqp/issues/224 if you want a link)
donaldh .seen [Coke] 21:46
yoleaux I saw [Coke] 20:26Z in #perl6: <[Coke]> tclsh let you create an in memory FS. something like that?
donaldh .tell [Coke] There's a bunch of JVM tickets that could be closed but I don't have permissions 21:47
yoleaux donaldh: I'll pass your message to [Coke].
avuserow donaldh: IIRC there used to be a way to select messages for the irclog summary. I think moritz and maybe raiph would know? 21:48
oh, it's still there, you just click "enable summary mode"
donaldh avuserow: oh, it's summary mode, right there on the irclog 21:49
'Enable summary mode'
21:51 amaliapomian left
ab5tract anyone know where i can find a code example of using Supply as a role? 21:51
donaldh jnthn: do you have any thoughts about irclog.perlgeek.de/perl6/2015-03-09#i_10245999 21:52
jnthn ab5tract: Most of the built-in methods on supplies are implemented by having a class that does the role 21:53
ab5tract: See SupplyOperations.pm
donaldh When I get "TODO passed" in spectest output, does that mean a test can be unfudged?
lizmat ab5tract: check out src/core/SupplyOperations.pm
ab5tract thanks jnthn, lizmat 21:54
jnthn donaldh: Not really; I'd need to look closer at what's going on, and I can't do that right now.
donaldh jnthn: np, I'll park it for now. 21:56
vendethiel [Coke]: ping lets you create a FS as well :-P 21:57
22:02 pecastro joined
lizmat p6weekly.wordpress.com/2015/03/09/...conflicts/ # published P6W 22:05
avuserow lizmat++ 22:06
brrt yay lizmat++
22:07 larion left 22:09 dolmen joined
ab5tract NativeCall C++? Is that for real? :D 22:09
lizmat++ # p6weekly 22:10
vendethiel lizmat++ :-)
lizmat ab5tract: yes, if I may believe FROGGS++ 22:11
vendethiel I don't understand ovid's complaint in "role inheritance"
the "foo" inherited method is always the "outermost", what's the issue? if the role is called A or B, that doesn't matter Oo
22:12 MilkmanD1n is now known as Milkmandan
vendethiel (where outermost = most derived) 22:13
japhb Where are the FOSDEM slide decks? I just got to the point in tadzik++'s talk where the mic cuts out, and I'd rather just read through the rest of the slides at full speed, since I can't hear him talk. :-) 22:15
sjn lizmat++ # great to see a p6weekly update
22:17 raiph joined
ab5tract robust and easy C++ support has been relatively fleeting from dynamic languages, as I understand it 22:17
colomon lizmat++ indeed
geekosaur the notion that C++ *can* be supported is still new to many people 22:19
even though it's been possible since C++11 22:20
sjn got the impression that C++ was nigh-impossible to "nativecall" 22:22
geekosaur it used to be
sjn wonders what "the trick" to make it work is
geekosaur in order to allow different C++ compilers to interoperate, C++11 required that each arch/platform define an official ABI 22:23
once that ABI exists, you can also use it to FFI
lizmat takes all the ++'s and goes to sleep &
geekosaur prior to C++11, every C++ compiler did its own thing and was not required to document what it did, which is why your only option was extern "C" from C++ --- things could and did change with every compiler release 22:24
sjn right
22:27 brrt left 22:38 telex left 22:39 dolmen left
raydiak idk who this "Mai L." guy is or how he got an e-mail account on my server, but man...if his inbox is any indication, *all* the girls want him :) 22:40
22:40 telex joined 22:43 vendethiel left 22:44 vendethiel joined 22:46 donaldh left
timotimo might be worth pointing out that there's at least the froggs talk about nativecall missing from the fosdem list and that at least tadzik's talk is missing about 3/4 of its audio 22:48
itz twitter.com/olegwant/status/573365...12/photo/1 22:52
TimToady sitting at SFO 22:54
raydiak timotimo: sorry you're not feeling well; nothing serious I hope
lizmat++ # weekly
itz: nice :)
22:55 wicope left
raydiak wonders where TimToady is heading 22:58
TimToady Budapest, via LHR
22:59 Yeyo joined
raydiak wow, neat 22:59
the pictures sure are pretty 23:00
23:01 Yeyo left
jnthn TimToady: Save travels, and hope LHR will be unchaotic. :) 23:03
23:04 pecastro left
jnthn uh, safe 23:06
.oO( and to think I'm currently reviewing stuff for typos... )
23:07 vendethiel left
timotimo raydiak: it'll be all right 23:10
raydiak glad to hear it 23:11
dalek kudo/nom: e395707 | TimToady++ | src/Perl6/Grammar.nqp:
quick bandaid for q##
23:13
tadzik japhb: not sure if I uploaded my slides, can do it now :) 23:14
or put them somewhere[tm]
TimToady not sure that's the best place to fix q##, but it works for now 23:15
23:15 cognominal joined
TimToady m: q 23:16
camelia rakudo-moar a49900: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_vwpDPLy9c␤Undeclared routine:␤ q used at line 1␤␤»
timotimo colomon: would you believe me if i told you you've been running a process with t/02-timeout.t again for a long time?
colomon: it has now accumulated 376 cpu-time hours
also ... two "moar" processes that have accumulated 125 cpu-time hours each :)
tadzik oh, feather's HTTP is down? :( 23:17
timotimo ah, they are running t/02-timeout.t, too
23:18 integral left 23:20 integral joined, integral left, integral joined 23:23 gfldex left, pecastro joined
raydiak runs his domain through some random appraisal site and is amused to see it guess a category of "Education -- College" given his earlier rant 23:28
TimToady historically on Windows, \n to \r\n mapping has happened down in the stdio layers when you open a text file
boarding, catch you on the flip side 23:30
afg & 23:31
raydiak o/
timotimo i'm glad you're safe to fly again 23:32
23:48 vendethiel joined 23:54 breinbaas left