»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
dalek osystem: 1bae927 | coke++ | META.list:
Temporarily bump perl6-GD to my fork
00:02
j4jackj i'm addicted to caffeine. 00:04
at least it isn't an opiate, but as you know, caffeine is dependence forming. i honestly don't remember the last time i tried to stop and succeeded. 00:05
[Coke] drinks a Coke Zero.
it's also got documented benefits. :)
j4jackj [Coke]: I assume you mean caffeine 00:06
j4jackj It's got documented benefits, but it has made my life shit in that the few people I can sympathise with about addiction are addicted to some of the worst drugs (H, crack, crank, etc) 00:06
It's largely a case of "I don't want to be in this shitty position" 00:07
All addictions have a documented harm to society. Mine, caffeine, is fulfilled in ways that make my mum cringe -> harm to society
j4jackj wat 00:08
tony-o i had caffeine withdrawal in the desert during weapons training, that wasn't fun 00:10
tony-o i went blind for 6 hours or so 00:15
leont knows a perl hacker who uses powder caffeine, typically won't get out of bed before it has kicked in 00:18
j4jackj tony-o: suriesly? 00:22
tony-o j4jackj: yea 00:24
j4jackj tony-o: did you explain to your dictatorial idiotic overlords that you were suffering from caffeine withdrawals 00:25
tony-o they gave me two big caffeine pills and i was fine for the rest of the 5 months
j4jackj: i didn't know what was going on
j4jackj lawl
tony-o i was awake inside but i went blind relatively quickly and then slowly lost motor skills and they took me to a corpsman who gave me two caffeine pills
j4jackj tony-o: that... isn't caffeine withdrawal 00:26
sounds like you were doing craq
tony-o definitely wasn't doing that
you have me a little paranoid now 00:27
j4jackj why?
sounds like someone spiked something
tony-o: so, was everything blurred, or was your vision a nothingness? 00:28
tony-o it went through blurry to nothingness
as far as i could tell, i was up 18 hours usually over the course of nights 00:29
j4jackj sleep deprivation
tony-o and there isn't much light in a desert
j4jackj you shouldn't have been in the army
tony-o i was in the Marine Corps, i was fine aside from the one time
tony-o moritz: any reason you stopped working on MiniDBI ? 00:34
TimToady now in Rayville, LA 02:47
and we were never in TX, missed by about 20 feet, since the highway from NM to OK just barely misses the panhandle of TX 02:49
but we saw the cornfield in the northeast corner of TX...
(of the panhandle, that is) 02:50
saw the Ozarks today, tomorrow will attempt the Natchez Trace, but may be a madhouse 02:51
er, nw corner of the panhandle, that is 02:52
jnthn Hello, #perl6 03:58
moritz tony-o: superceeded by DBIish 05:18
timotimo o/ 06:37
hey jnthn, you're up late ... or early?
jnthn timotimo: It's early afternoon here :) 06:38
timotimo oh
jnthn I got up pretty late today, though
timotimo i'm quite bad at intuition for timezones
jnthn weekend = catch up on sleep :) 06:39
timotimo so ... shellshock reminded me that things like rakudo shouldn't introduce terrible security vulnerabilities into programs running on top of it
i don't think we've ever done much in the way of security auditing, right? 06:40
dalek kudo/nom: 4da10b4 | jonathan++ | src/core/Kernel.pm:
Fix $*KERNEL.name on Windows.
06:41
kudo/nom: 1986a6c | jonathan++ | src/core/Kernel.pm:
Fix return type violation in $*KERNEL.signals.
jnthn timotimo: Haven't done much in that way, no 06:43
itz eurobsdcon streams up if anyone is interested
timotimo anything obvious we may be doing wrong at the moment?
moritz timotimo: regex interpolation uses EVAL, iirc 06:44
jnthn timotimo: We haven't taken sufficiently good care over hash randomization yet
moritz timotimo: yes, grep for EVAL src/core/Cursor.pm
jnthn timotimo: As I understand it, Perl 5 has done a great job there, so the knowledge exists in the Perl community on this stuff. :) 06:45
timotimo sounds good 06:51
timotimo but these people still need to be won over ;) 06:51
jnthn m: say "",qx/kill -l/.words; 06:56
camelia rakudo-moar 1613b0: OUTPUT«qx, qqx is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:1␤ in sub QX at src/RESTRICTED.setting:9␤ in block <unit> at /tmp/KTBZIza7E1:1␤␤»
jnthn grmbl
star: say "",qx/kill -l/.words;
camelia star-m 2014.08: OUTPUT«qx, qqx is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:1␤ in sub QX at src/RESTRICTED.setting:9␤ in block at /tmp/tmpfile:1␤␤»
..star-p 2014.08: OUTPUT«./bin/perl6-p: error while loading shared libraries: libicuuc.so.48: cannot open shared object file: No such file or directory␤»
timotimo :\ 06:57
jnthn Damn our security... :)
moritz I get
0 HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM 16 CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS 32 33 RTMIN RTMIN+1 RTMIN+2 RTMIN+3 RTMIN+4 RTMIN+5 RTMIN+6 RTMIN+7 RTMIN+8 RTMIN+9 RTMIN+10 RTMIN+11 RTMIN+12 RTMIN+13 RTMIN+14 RTMIN+15 RTMAX-14 RTMAX-13 RTMAX-12 RTMAX-11 RTMAX-10 RTMAX-9 RTMAX-8 RTMAX-7 RTMAX-6 RTMAX-5 RTMAX-4 RTMAX-3 RTMAX-2 RTMAX-1 RTMAX
jnthn hmm 06:58
moritz 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 06:59
moritz that's what kill -l looks like 06:59
jnthn Cool, seems I've got kernel.t fails on Windows cleared up 07:03
dalek kudo/nom: 0ee8ce2 | jonathan++ | src/core/Kernel.pm:
Fix $*KERNEL.signals on Windows.

Means that we now pass kernel.t - or at least all the unfudged tests - on Windows too.
07:05
ast: f9c7e3c | jonathan++ | integration/advent2010-day03.t:
Make tests robust to Windows paths.
07:09
dalek ast: daa28fd | jonathan++ | integration/advent2012-day23.t:
Make test robust to Windows line endings.
07:14
jnthn Is it just me, or can integration\advent2012-day06.t only pass when make install was alreayd run? 07:18
jnthn oh, no...it should work. Hmm 07:19
FROGGS_ [Coke]: *I* have a Perl 6 available when doing a star release... and normal ppl don't do releases 07:34
[Coke]: Is there a way to get a Perl 6 on your box? 07:35
ab5tract FROGGS_: i can build, install, and load XML::LibXML, but when i try to instantiate an object of that class i get this error: 'Malformed UTF-8 at line 1 col 1' 08:26
the jvm probably has an equivalent XML parser, but I haven't seen any 'NativeCall-style' examples for perl6-j yet 08:28
rindolf Hi all. 08:40
masak m: sub hi { say $^something }; hi all 08:53
camelia rakudo-moar 0ee8ce: OUTPUT«===SORRY!=== Error while compiling /tmp/vDTix_vIBE␤The 'all' listop may not be called without arguments (please use () or whitespace to clarify)␤at /tmp/vDTix_vIBE:1␤------> sub hi { say $^something }; hi all⏏<EOL>…»
masak m: sub hi { say $^something }; hi all()
camelia ( no output )
masak rindolf: no output ;) 08:54
rindolf masak: what a bunch of line noise camelia emitted.
masak: what's up?
It's a great day to die. 08:55
masak I'd rather live to evaluate another day.
rindolf masak: heh, that's not what I meant by "dying". 08:56
masak: I meant something like "lose an argument", "Become offended", "Change your mind", "Become convinced", etc.
moritz none of them are remotely like dying, IMHO 09:01
nine Does anyone here know a bit about XS?
moritz though people more attached to their opinions might feel differently
nine: only that it's supposed to be horrible :-) 09:02
nine I golfed my Inline::Perl5 problem down to pure Perl 5/C. Just posted the question to #perl, but I don't have high hopes of getting help... 09:02
moritz nine: you can try asking on perlmonks 09:03
virtualsue stackoverflow is my favourite 09:04
post it somewhere less ephemeral.
moritz and then maybe post the link in #p5p, there are some folks there who know XS, I hope :-) 09:05
nine Ok, signing up to stackoverflow. Thanks for the suggestions! 09:06
virtualsue i haven’t look at it since 2007 but i might be able to dredge it back up
xs that is
nine The following test program segfaults in S_mg_findext_flags: gist.github.com/niner/493268db5ba449caef49
When I change "zero" to "main::zero" it works. Does anyone see something obviously wrong in my program?
lizmat nine: nothing I can see, but then my only XS experience has been a 3 line function 09:08
nine lizmat: thanks for having a look anyway.
danaj_ nine: there is a #xs channel on irc.perl.org. There are some very knowledgeable people there, including bulk88 who is often online. 09:23
virtualsue i still find it surprising that this channel isn’t on irc.perl.org 09:24
masak virtualsue: historical reasons.
virtualsue: I think it was created here by the pugs people in early 2005? 09:25
moritz my back-imported logs go back to Feb 2005 09:26
masak yeah, just checked :)
<feb> autrijus: you're welcome
virtualsue i don’t doubt that. none of that answers ‘why’, but it’s not important
masak ^ first IRC-logged thing ever
virtualsue: true, it doesn't. 09:27
lizmat perhaps freenode had better connectivity in TW then? 09:28
moritz virtualsue: pugs came from the haskell comunity, which was based in freenode
masak oh, that probably factored into it, yes.
moritz also, breaking out of the echo chamber
masak in some weird hard-to-pin-down way, it feels oddly appropriate that #perl6 is off irc.perl.org 09:29
ab5tract it was also a "tough time for the Perliverse" (or so it seemed to me at the time)
masak I say that as someone who thinks that Perl 5 and Perl 6 are not all that different.
masak I honestly was not aware of the "tough time" thing until around the time Perl 5.10 came out. 09:30
ab5tract well, it makes it much easier for the curious bystander on freenode to '/j #perl6' without connecting to another irc server 09:31
maybe "much easier" is a stretch, but for the lazy folks like me ... ;)
moritz wonders if there's a federation plugin for popular IRC servers that makes it possible to mirror IRC channels between different networks 09:32
ab5tract masak: i'm not sure i could pin down when i noticed it... even the initial RFCs for Perl 6 caused a bit of a stir.. but it's also around the time where p5 seemed to cross some arbitrary threshold of 'pariah' in the web development community 09:34
bonsaikitten which is quite confusing 09:35
I'd rather have some shoddy perl than php :)
masak yeah, it's odd. 09:36
unfortunately, it makes no difference that we here in the echo chamber know this.
ab5tract bonsaikitten: good point, but i think PHP is where all the folks programming the code that gave p5 a bad rap went when p5 became unfashionable :)
we should map the effects of this herd
bonsaikitten ab5tract: and sadly they never stopped stapling together things with anger
Rounin I suppose Perl has become famous for being hard to read 09:37
The other thing is that when you use a random web server, PHP is already installed
I use PHP on my web page for that very reason... Just chuck it in a folder and it starts up
bonsaikitten Rounin: which flavour of php?
Rounin Whatever flavour is installed 09:38
bonsaikitten not like they are compatible ... sigh :)
ab5tract there were a lot of initial efforts strung together with a decade of technical debt.. in p5 that started at a much younger version.. so there were a lot of complete rewrites initiated in languages where programmer output would be, shall we say, more predictable?
Rounin That being said, I've been here and there on IRC, and Perl seems to have the best community
masak "best community" is not a safeguard against irrelevance, though. 09:39
I mean, it's nice and all.
Rounin True... One of the other places I hang is #d
A very nice language if relevance isn't your criterion though :)
bonsaikitten perl has sanity
masak oh, I always imagined the #d community would be nice :)
bonsaikitten cpan is still by far the most engineered package mangling system for a language 09:40
ab5tract i have really high hopes for what Perl 6 can do for Perl
bonsaikitten I can't figure out why no one wants to learn from that :(
Rounin It is quite nice, and still small enough that everybody talks to everybody
There's no steering committee with 4 tiers, hehe
masak ab5tract: for two YAPC::EUs in a row now, I've felt "wow, this thing that we [Perl 6] are doing... it actually matters. and it's starting to show results now, significant ones that can't be had on the p5 VM." 09:41
ab5tract i like how Larry described it in his talk a yapc-year or two ago
of perl programmers as a culture ("forgiving of mistakes.. you've been living with some of my mistakes for 20 years now") :) 09:42
Rounin :)
ab5tract masak: indeed
masak notably async/parallel/concurrent and JIT/spesh.
ab5tract the rapid bootstrapping onto VMs
... that's not something many languages have "launced" with
*launched
not that Rakudo is not already 'shipping', I mean Perl 6 is already a mature language in terms of years 09:43
masak it took some years of trying, and some generations of compilers, to be fair.
ab5tract masak: very true. but that is also a point: how many other languages have had 13 years of learning on those terms? before "launch", i mean 09:44
and please take "launch" here to mean that ineffible moment where some demo or project comes out that forces people to pause for a moment and take stock 09:45
nine OTOH Perl 6 is in a rather unique position to take its time, because Perl 5 is still good enough to earn real money. And it's still evolving. But it can never evolve to a point to make Perl 6 obsolete :)
ab5tract nine: well said! :)
bonsaikitten I appreciate both for what they do 09:46
masak yeah, we keep complaining about the state of the two communities a lot. but I think we have it quite good, actually. 09:49
ab5tract Rakudo is getting to the point where it can really show it's more undeniable strengths against p5 09:52
NativeCall vs XS, for instance
nine note to self: never call a method "one"
ab5tract the "OH HAI I LIKEZ THIS VM" backend swappability for another 09:53
and finally: concurrency :)
not just that it's done, but how it is done, mind you 09:54
moritz nine: I hate it how it we pollute the Any methodspace
m: say Any.^methods.elems 09:55
camelia rakudo-moar 0ee8ce: OUTPUT«69␤»
moritz m: say Any.^methods.map(*.name).uniq.sort
camelia rakudo-moar 0ee8ce: OUTPUT«ACCEPTS Array Bag BagHash FLATTENABLE_HASH FLATTENABLE_LIST KeyBag KeySet Mix MixHash Parcel Set SetHash Supply all any assign_key assign_pos at_key at_pos bind_key categorize classify combinations deepmap delete delete_key delete_pos duckmap eager elems e…»
nine moritz: and just a couple weeks ago I complained loudly that Python does not allow you to call a method "if", "and" or "not" :)
masak ah yes, languages with keywords... :) 09:56
moritz nine: well, Perl 6 does allow you to override those methods
nine Even the Python documentation says that this restriction is just to make writing the parser easier...
ab5tract nine: btw, when a p5 object is converted to a p6 one, does $obj.^methods work on it as expected? 09:57
moritz ab5tract: nope, it works through fallbacks 09:58
ab5tract makes sense, but damn.. that would have been a killer feature
nine virtualsue: I found the source of my problem. It's really a plain Perl problem actually. I'm calling a method on a Perl6::Object. This method then calls a function called "zero". But even in plain Perl, perl would look for this function in the current package, which is Perl6::Object.
ab5tract nine++
nine ab5tract: if the P5 object is based on Moose/Class::MOP, one could probably hook up the MOPs... 09:59
Which just leaves me with the worse: *** Error in `/data/home/nine/install/rakudo/install/bin/moar': munmap_chunk(): invalid pointer: 0x00007fffb80cf820 ***
nine I got the other problem when trying to golf down this one because I have no idea at all where this is coming from... 10:00
ab5tract true. that would be cool indeed, for going forward. but if it could work on classic classes.. that would be some useful, new functionality that Inline::Perl5 would provide over regular p5 :) 10:01
i've never delved too far into the module/class metaprogramming available to p5 10:02
but ruby spoiled me on objects that can't express themselves clearly :) 10:03
nine Oh, seems like the MoarVM crash occurs when I'm trying to call a non-existing P5 method (typo'ed). So I just have to improve error handling. 10:40
lizmat nice one: "Method 'item' not found for invocant of class 'IO::Spec::Unix'"
m: say IO::Spec::Unix.^mro 10:41
camelia rakudo-moar 0ee8ce: OUTPUT«(IO::Spec::Unix) (Any) (Mu)␤»
lizmat Mu has a 'method item'
of course, this happens during startup :-(
lizmat after adding a 'method item { self } to IO::Spec::Unix: 10:46
No such method 'dispatch:<.^>' for invocant of type 'IO::Spec::Unix'
I think I have a sick puppy :-(
lizmat afk for the rest of the day& 11:26
nine Python 3: threat or menace? lwn.net/Articles/613403/ 12:17
rindolf Where's fglock? 12:23
nine: lwn.net is always too TL;DRy.
nine: twitter.com/shlomif/status/504931822757638144 12:24
well, their newswire is fine.
pmurias rindolf: fglock is very rarely on irc 12:45
rindolf pmurias: ah, that sucks. 12:48
pmurias: he's been neglecting Perlito.
pmurias rindolf: he's working on Perlito5 12:48
by neglecting you mean he hasn't been commiting as often nowdays? 12:51
pmurias jnthn: ping 12:54
rindolf pmurias: well, there's a serious bug I reported that was open for months without activity.
pmurias: and i'd like to use Perlito to convert metacpan.org/release/Games-Solitaire-Verify to JS. 12:55
moritz and it can't be worked around? 13:36
jnthn pmurias: pong 14:51
nine This is getting ridiculous. I can golf down my problem inside the application to a couple lines of code that show that there's clearly something wrong with Inline::Perl5. But doing the same in a test just plain works. 15:04
dalek ast: 534e79d | jonathan++ | S22-package-format/local.t:
Make a path comparision work out on Windows.
15:05
nine jnthn: why does / as separator work in the previous lines, but not on the one you changed? 15:07
jnthn nine: Because the others aren't used to do a comparison 15:09
The spectest has become increasingly noisy on Windows... :( 15:10
pmurias jnthn: if the serialized context caching is disabled what will happen? (I'm working on compiling both to js & moar now) 15:12
Ven er, can we escape a space other than `\ `? (in regexps) 15:13
nine jnthn: just wondering because $srcsrc clearly now contains both / and \. But if the test works now, I guess that's ok.
pmurias jnthn: would it be ok to add some op/way to get the contents of the serialized cache? 15:14
jnthn Ven: I normally quote them 15:16
nine: Yeah, the test does pass with it...
Ven jnthn: can you do that in character classes?
sorry I'm not really being clear 15:17
jnthn Ven: Well, you didn't ask that :P
Ven :_
jnthn In char classes, I think \ is the righ tway
I can't think of a neater one off hand, at least...
pmurias: It's not really caching so much as being able to store the binary data more efficiently in the moarvm bytecode file 15:18
pmurias: I thought you had a trick for getting the serialized bytecode? 15:19
FROGGS_ ab5tract: can you run the t/00* and t/01* test? 15:21
ab5tract: I bet the error you get happens when we unpack an xmlParserContext C struct into a Perl 6 object... because this struct has several char* members 15:24
jnthn: what am I supposed to do today?
jnthn FROGGS: I dunno, what's -Ofun? Maybe make nativecall more robust on 32-bit, or figure out how we can export size_t and similar as aliases to the appropriate Perl 6 sized type... 15:29
FROGGS hmmm, that sounds -Ouseful enough to tackle (again) 15:30
jnthn Or make MAIN_HELPER only generate USAGE if we need it, since it's a major cost in the forest fire benchmark so far as I can se
*see
pmurias if storing the data inefficently won't break anything I could just use my hack
jnthn At least, on smaller ieration counts 15:31
FROGGS ohh, that sounds like a nice task
jnthn Or implement no strict for -e
Or implement val() :)
FROGGS jnthn: I had implement no strict already :o) 15:32
jnthn Oh?
FROGGS you said it might be the wrong approach...
jnthn m: no strict; $a = 'omg I did not know!'; say $a
camelia rakudo-moar 0ee8ce: OUTPUT«===SORRY!=== Error while compiling /tmp/FHidUpZgAZ␤Variable '$a' is not declared␤at /tmp/FHidUpZgAZ:1␤------> no strict; $a⏏ = 'omg I did not know!'; say $a␤ expecting any of:␤ postfix␤»
FROGGS jnthn: gist.github.com/FROGGS/6f8989611659551dae1f
jnthn looks 15:32
Hmm 15:35
Does the spec say somewhere what scope they should have?
FROGGS I dunno
but I can try to find out 15:36
jnthn OK. 'cus I'm trying to figure out what else I might have objected to :)
oh...
jnthn It seems to do things in Grammar that looks more like it beongs in Actions... 15:37
FROGGS like adhoc-declaring the variable?
jnthn Yeah
Well, it feels odd doing AST-building in the grammar is all
In Actions and World it's OK
The stuff in if !$*STRICT { ... } would feel cleaner to me as an auto_declare(...) method call on $*W 15:38
FROGGS yeah, makes sense
jnthn I think that and the "is package the righ tdefualt" (quite possibly) are all I have though... 15:39
FROGGS ossum!
will report back :o)
jnthn It appears Perl 5 goes for package scope 15:41
FROGGS aye 15:42
jnthn And I can't find any spec declaration that says something else 15:44
So, by "5 semantics as fallback" I'll happily accept package scope being used by the patch. :) 15:45
So, just the refactor and I think that can go in.
FROGGS \o/ 15:46
Ven m: my @array; @array[0..2] = <a b c>; say @array.perl 15:48
camelia rakudo-moar 0ee8ce: OUTPUT«Array.new()␤»
jnthn Did tr/// get done?
Ven Not sure why I get an empty array.
jnthn m: my $omg = 'bear'; $omg ~~ tr/a/e/; say $omg
camelia rakudo-moar 0ee8ce: OUTPUT«beer␤»
FROGGS jnthn: I think so 15:49
Ven m: my @array = ^10; @array[0..2] = <a b c>; say @array.perl
camelia rakudo-moar 0ee8ce: OUTPUT«Array.new("a", "b", "c", 3, 4, 5, 6, 7, 8, 9)␤»
Ven sooo, I kinda need the slots to be "pre-allocated" to assign them?
jnthn FROGGS: Ok; it's listed as undone in le ROADMAP
FROGGS m: my $omg = 'bear'; say $omg ~~ tr/a/e/; say $omg
camelia rakudo-moar 0ee8ce: OUTPUT«StrDistance.new(before => "bear", after => "beer")␤beer␤»
jnthn Ven: I'm a bit surprised by that.
Ven glad to know it :D/
jnthn Oh, right, I even remember talking about StrDistance
dalek kudo/nom: 4d02272 | jonathan++ | docs/ROADMAP:
Remove tr///; it's been done.
15:50
jnthn FROGGS: There's a "no strict" item in ROADMAP you get to remove later on too ;) 15:51
FROGGS nice :D
timotimo oh, no strict is actually going to happen? 15:52
FROGGS timotimo: surely
we do whatever our master asks for :o)
dalek kudo/nom: ec60114 | jonathan++ | docs/ROADMAP:
Remove a couple of static optimizer tasks.

These are better handled by dynamic optimization, and indeed already are by inlining on MoarVM (thanks to spesh) and the JVM (thanks to invokedynamic). Thus they are not Rakudo codebase tasks.
15:53
FROGGS when we can keep that tempo we'll reach 1.0 this evening! 15:54
go go go /o/
jnthn I noe there is this one: 15:55
*note
1 *** basic Perl 5 interop (use, eval, etc.)
Ven jnthn: do I count this behavior (array assign) as a bug, or is it spcced somewhere?
jnthn Ven: Looks buggy to me 15:56
timotimo i noe, right?
jnthn :P
Anyway, somebody who has been keeping up with the Inline::Perl5 progress better than I have may want to update ROADMAP in light of it 15:57
Did Inline::Perl5 make it into the latest Star release?
Fine if not, but we might like to get it into the next one :)
Also, if anybody has any objects to --enable-jit becoming the MoarVM default within the next couple of days, plesae let me know. 15:58
*objections
FROGGS +1
Ven so long it doesn't break hell loose when p5 is not installed :)
jnthn Good job I'm IRCing and not coding with this error rate... :)
Ven: Good point :)
Ven: Though "may not build right even if p5 is installed" is more likely something we need to be robust in the face of... 15:59
timotimo yes please have --enable-jit be the default :)
jnthn OK, if nobody has objected by the time the weekend is over, then either I'll do it or anybody else can feel free to beat me do it. 16:00
nine Are there other modules with C parts in Star? 16:01
Ven So, uh, any code example with labeled loops?
the spec has very little of those.
LABEL.next? where do I put the label? 16:02
FROGGS jnthn: about the USAGE... I just replaced it by a proxy and before 60 invocations of a script having a MAIN took 30.7s, now it takes 30.0s... is that what you would do too? 16:02
jnthn: it generates the usage only once of course
jnthn FROGGS: Well, I saw if I perl6-m --profile forest-fire.p6 16 16 5, then generating usage was a notable part of it 16:03
liztormato Wrt to "no strict". Do we have a generic lexical pragma framework?
FROGGS k, will check
jnthn FROGGS: So I'd try looking at it that way
liztormato Or is each pragma going to do its own thing? 16:04
FROGGS also, it does some magic to get the basename of $*PROGRAM_NAME... we can do better now
liztormato: for no/use strict we'd put a dynami variable in the parser, so it would be lexically scoped for that reason 16:05
maybe we could find a generic approach 16:06
travis-ci [travis-ci] Rakudo build errored. Jonathan Worthington 'Remove a couple of static optimizer tasks. 16:06
[travis-ci] travis-ci.org/rakudo/rakudo/builds/36439555 github.com/rakudo/rakudo/compare/4...60114b7983
FROGGS bad jnthn! :P 16:06
liztormato Disk full I bet
FROGGS "No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself. 16:07
The build has been terminated"
liztormato But jnthn only changed some docs?
FROGGS yeah, it got stuck in nqp 16:08
I guess their VM is broken
jnthn ohnejs what have I done... o.O 16:11
:)
liztormato: On pragmas, I suspect the COMPILING namespace will come into it somehwat, and/or macros...
liztormato: For now we can hardcode the ones we immediately need by spec. 16:12
FROGGS jnthn: MAIN_HELPER is 0.05%/0.4ms inclusive time
nine Where is the difference between $self = $Perl6::ObjectCreator->create(__PACKAGE__, $self); return $self; and return $Perl6::ObjectCreator->create(__PACKAGE__, $self); ??? And no it's not context. 16:13
jnthn FROGGS: o.O
FROGGS jnthn: before my patch
now it is 0.04%/0.33ms :o) 16:14
jnthn FROGGS: Search for gen-usage in the profile
FROGGS: On routines tab
FROGGS 0.01%/0.09ms inclusive time, before my patch 16:15
I am running perl6-bench's perl6-m --profile perl6/rc-forest-fire 16 16 5
jnthn Same 16:16
gen-usage is 22.5% inclusive here
FROGGS O.o
jnthn oh wtf
FROGGS I can post my profiles 16:17
jnthn If you look at call graph and inside gen-usage, how costly is strip_path_prefix for you?
171.27ms here o.O
jnthn what the heck is that doing... 16:17
FROGGS 0.01% 16:18
jnthn OK...
FROGGS froggs.de/perl6/profile-unmodified.html 16:19
that's nom without any changes
jnthn Stripping is expensive on Windows, evidently...
FROGGS I can fix that... and I will test it on windows too
liztormato Is it IO::Spec related? 16:20
FROGGS liztormato: sort of
liztormato Cause I'm sure that will get some more attention from me soon 16:21
FROGGS jnthn: we could use $*PROGRAM.basename instead of the strip_path_thingy 16:22
liztormato++
jnthn OK :) 16:23
I leave it in the two of you's capable hands :)
I was hoping for a nice perl6-bench win from it for forest fire; alas, it will only show up on my (or other Windows) runs 16:24
liztormato Atm basename first splits into 3 parts and then returns one of them
jnthn otoh, it seems like Windows is the place where Moar compares best against Perl 5, so it can be strategic to fix this. ;)
jnthn (Also to fix our compiler flags off Windows too, perhaps. ;)) 16:27
(Unless the issue is that something about Perl 5 means MSVC doesn't do so well with it as on GCC, Clang, etc...) 16:28
FROGGS I don't get that about the compiler flags
hmm
jnthn FROGGS: Well, it's just a bit surprising that when I do perl6-bench on Windows against Perl 5, I tend to be seeing better numbers than folks doing perl6-bench runs on Linux. 16:29
And it's not just that something is up with the Perl 5 that perl6-bench builds; I get the same figures out of activestate builds. 16:30
FROGGS could also be an issue with activeperl 16:31
jnthn True. Could also be that Moar *has* had a lot of C-level profiing done on Windows, and tweaks applied as a result of that. 16:32
liztormato Afp& 16:33
FROGGS jnthn: might be more likely :o) 16:40
FROGGS jnthn: I can't reproduce your USAGE weirdness on windows :/ 16:51
FROGGS jnthn: froggs.de/perl6/rcff-windows.html 16:55
Ven A: for ^10 { A.last } 17:33
m: A: for ^10 { A.last }
camelia rakudo-moar ec6011: OUTPUT«(timeout)» 17:34
Ven uh-oh.
m: A: while 1 { last }
^ this segfaults here
camelia rakudo-moar ec6011: OUTPUT«(timeout)»
moritz m: A: for ^10 { say "inside the loop"; last A }; say "done"
camelia rakudo-moar ec6011: OUTPUT«(timeout)»
Ven moritz: can you confirm both my snippets don't segfault for you?
nine Will Rakudo always prefer loading a .pm6 over a .pm with similiar name? 17:35
moritz Ven: ./perl6-m -e 'A: for ^10 { A.last }' neither segfaults nor loops for me 17:36
Ven I'll try to pull.
moritz and the while 1 { last } is fine too
This is perl6 version 2014.09-50-g5d8eebf built on MoarVM version 2014.09-3-g182085e
Ven eh. but my p6 is what, 2 weeks old :/
(my rakudo, I mean) 17:37
Ven get split'! 17:37
FROGGS nine: yes 17:39
nine FROGGS: cool :) Otherwise I'd probably have to use a lib6 directory for Perl 6 modules. 17:39
Ven moritz: still segfaults here. "A: while 1 { last }" I mean. 17:42
This is perl6 version 2014.09-60-gec60114 built on MoarVM version 2014.09-1-g699360b
in fine, any kind of label usage makes it segfault 17:43
moritz m: my Int @a = 1, 2, 3; 17:51
camelia rakudo-moar ec6011: OUTPUT«(timeout)» 17:51
vendethiel- m: say "camelia o/" 17:52
camelia rakudo-moar ec6011: OUTPUT«camelia o/␤»
vendethiel- m: say 1 17:55
camelia rakudo-moar ec6011: OUTPUT«1␤»
vendethiel- m: A: while 1 { last }
camelia ( no output )
vendethiel- m: A: for 1 { last }
camelia ( no output )
vendethiel- wtf? 17:56
timotimo o/ 18:09
vendethiel- \o 18:10
Ven in my tutorial, I say that "array start with @" 18:15
that's utterly wrong. That should be "lists"
Is there a list of every call that doesn't flatten? 18:16
I don't want to put "some calls" :(
# Lists flatten. That means that a nested list, when gone through, will act as a shallow one 18:17
is that correct, both p6-wise and english-wise? :o)
moritz lists don't flatten; context flattens 18:27
context flattens lists, or doesn't
Ven moritz: that looks like nitpicking tho :) 18:37
also, more people getting bitten by the `$a = 1, 2, 3`
Ven moritz: "list context flattens list" reads pretty weird :/ 19:13
moritz Ven: sorry, I'm not a wordsmith, just a lowly p6 wannabe-hacker 19:14
Ven did you take my last remark poorly? if so, I'm sorry
moritz no
Ven that wasn't the idea. I'm just looking for something rather brieve but still comprehensible
moritz just telling you that I don't know how to express it better while keeping correctness 19:15
Ven Well, I'm ready to sacrifice a bit of correctness for clarity
I think you always need to over-simplify when explaining concepts
m: say (1, 2, (3, (4, 5))).elems 19:16
should be 3.
camelia rakudo-moar ec6011: OUTPUT«(timeout)» 19:18
Ven eh.
m: say (1, 2, (3, (4, 5))).elems
camelia rakudo-moar ec6011: OUTPUT«3␤»
Ven right. Thanks, camelia
leont Is there any way to capture a look-ahead? 19:22
Ven leont: don't think so, that's why it's a look-ahead :P
moritz: "[] is a shortcut for $()" is that "true"?
Does it matter if it's not 100% correct?
FROGGS leont: with lexicals
leont: I mean, you can stick something in a lexical inside of the look-ahead 19:23
moritz Ven: it's about 80% correct
leont Yuck
moritz Ven: $(...) and [...] both produce a scalar, though [] always returns a mutable array
leont Then again, I could rewrite this not to need the lookahead
FROGGS which is ugly of course, and possibly problematic when your rule is called as a look-ahead too
Ven moritz: Right. Is the mutable VS immutable part the only difference :)? 19:24
I can brush over that...
FROGGS leont: there is a rule of thumb that an non alphanumeric character as the first one in a assertion tells it to not capture 19:25
like: <?foo> <!foo> <.foo>
leont It makes sense, but also makes my life more complicated right now :-/ 19:26
FROGGS I know that feeling :/ 19:27
moritz Ven: no. $(...) just gives you the thing inside the parens, packed in an item. So the type stays the same. [] always create a new Array object 19:29
Ven oh, uhm, right.
moritz so basically they are only the same from the flattening/non-flattening perspective 19:31
vendethiel- okay, thanks for bearing with me here :-). 19:33
I think I can explain it *correctly*/. 19:39
dalek p-js: 4c59811 | (Pawel Murias)++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
Refactor the serialization of serialization context in the MoarVM backend.

It makes it easier to monkey patch that part when cross-compiling.
19:48
pmurias jnthn: would merging 4c59811 into the main nqp be acceptable? 19:50
Ven moritz: the only parcel VS list difference (for the user) is the immutability, right? 19:56
When is it a parcel? Only when it's not assigned?
moritz Ven: also, Lists are lazy, parcels (in rakudo) aren't 20:00
Ven is that by spec?
timotimo aren't parcels meant to be eager by spec?
except i suppose you can put multiple lazy lists into a parcel?
Ven :-'
timotimo that'd have to be itemized
otherwise the , operator would want to flatten them, right?
Ven I, uh, don't talk about LoL now, and probably not going to do so for a while 20:01
Still, I don't want the tutorial to be over 2k lines :/
I think the grammars and regexp stuff would warrant by itself another tutorial
timotimo :) 20:03
dalek kudo-star-daily: 8660454 | coke++ | log/MoarVM-version.log:
today (automated commit)
20:11
kudo-star-daily: 3113bc6 | coke++ | log/MoarVM-version.log:
today (automated commit)
rl6-roast-data: 6bf78c9 | coke++ | / (5 files):
today (automated commit)
[Coke] moar, moar-jit, parrot, 1 failure. jvm: 9 20:12
S03-operators/misc.t aborted 1 test(s) on all 4 backends.
(but it runs fine on rakudo-moar-jit latest on my mac) 20:15
I updated ecosystem. how long until panda sees the new list? 20:16
tadzik [Coke]: try 'panda update' now :) 20:18
j4jackj kzzk 20:36
grondilu btw panda --help swaps describtions of 'list' and 'update'
j4jackj lol grondilu
grondilu *description 20:37
(jeez my spelling is getting terrible lately)
dalek kudo/lax: 4f6fde2 | (Tobias Leich)++ | src/Perl6/ (3 files):
implement "no strict"
20:49
tadzik :o 20:52
vendethiel FROGGS++ #sloppy code :P
FROGGS :P 20:54
bartolin Hi, #perl6 21:03
[Coke]: The aborted test in S03-operators/misc.t was my failure: I deleted a test and forgot to update the plan. moritz++ fixed that yesterday (but probably too late for your runs). 21:04
danaj_ I was happy to see one of the RosettaCode tasks that indicated "this test takes a couple hours to run" now takes ~20 seconds with perl6-m. 21:12
vendethiel oooh I still havn't talked of any :o) 21:17
and junctions in general. And auto-threading
Mouq OSX: perl6 -e'</usr/share/dict/words>.IO.open.get.say' 23:23
Failed to stat in filehandle: no such file or directory
Which is weird, 'cause it seems to work fine for other {sym,hard}links
Ahhh, only when in the same directory as the link, though! 23:24
cd /usr/share/dict
perl6 -e'</usr/share/dict/words>.IO.open.get.say'
A
danaj_ Mouq: I noticed that a few weeks ago on my Fedora machine and also thought it was strange. 23:50