Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-09-08

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 chris__ ??
00:01 yoleaux timotimo: ermergerd blergperst!
00:01 chris__ ???
00:02 colomon hi
00:02 chris__ so when will perl6 will be a replacing perl5, i dont mean to be a downer but its been awhile, we need to show what it can do
00:03 colomon For me, it already is -- if I come on one of my old p5 scripts that needs significant changes, I port it to p6 first.
00:04 colomon and pretty much anything new I do, too.
00:04 chris__ so what are the majors issue when u port it over
00:05 chris__ should i brush up on my perl5 or head first to perl6, i have not use it awhile bc of jobs wise, but now i have a linux job i want to use it more offering
00:07 colomon I'm trying to think how to answer that.
00:08 colomon I mean, there tend to be a lot of little surface changes to the code when you port it over.
00:08 colomon say, different style loops, or using given / when instead of a long list of chained ifs.
00:09 colomon tends to take some work, but the code usually ends up looking a lot nicer when you're done.
00:09 colomon dunno if that should count as an issue or not.
00:10 colomon the biggest gotcah gotcha is still speed.  Rakudo's getting a lot faster, but p5 can still smoke it going through an input file.
00:11 colomon It seems like Rakudo gets some sort of speed improvement every day now, which is really encouraging.
00:13 aborazmeh joined #perl6
00:24 chris__ also someone  Rakudo , i brand my own with a different logo too with it, once the speed gets better
00:34 sjn chris__: I'd suggest start playing (=learning) today. There's a *lot* of cool stuff to digest, and while you're exploring and familiarizing yourself with the language, it'll keep on improving :)
00:35 sjn who knows, by the time you'll be into the language properly, maybe it'll be fast enough for your speed-sensitive work? :)
00:35 sjn in the meantime, you'll learn a lot of really cool stuff
00:45 eiro joined #perl6
00:47 ClarusCogitatio joined #perl6
00:55 japhb FROGGS: Sorry, got pulled a way mid-conversation.  No, I can't use the trick of doing the reduce inside the callee, because the callee in question is actually a function that iterates over a data structure, calling the passed function to "summarize" subsets of the data.  It happens that the simplest form of summary I'm looking for is just to sum all entries in an array, but I want to be able to do statistics, classification, and other such complex things.
01:09 eiro joined #perl6
01:12 chris__ i know why but really why a butterfly for perl6 :P
01:14 chris__ at least python has a snake , we need something a bit nicer
01:14 japhb .tell lizmat The new INITIALIZE subs for $*{EXECUTABLE,PROGRAM}{,_NAME} don't make sense to me.  The second sub of each pair uses the first, which initializes both, so you don't need to do any computation in the second of the pair. And for $*EXECUTABLE, it makes no sense to do .path.absolute twice on the same data.
01:14 yoleaux japhb: I'll pass your message to lizmat.
01:16 japhb chris__: If the logo is the only thing people gripe about, we've done a lot of other things right.  Plus which, the viewpoint which considers a butterfly 'nicer' than a snake just happens to be different than yours, that's all.  ;-)
01:24 chris__ yea i guess, u right but it would be harder to get younger people into the world, at least when i talk about a camel symbol as a arg with other programmers. a least a camel showed some important value
01:25 [Coke] I wonder if chris__ is related to nick__
01:26 chris__ i know the history of perl is ugly syntax but it is beautiful ugly and people learn depends of the language with its coll syntax
01:26 chris__ who nick?
01:26 chris__ Coke
01:28 chris__ remember a language depends on the community so if i am not the only one that feel that logo need a  change. i will forget about it and not mention it
01:30 chris__ well its late so good night everyone
01:32 chris__ night night :)
01:32 nick__ joined #perl6
01:32 TimToady actually, chris__ is coming from the identical address as nick__, so there's some dissembling coing on there; hi nick__ :)
01:32 nick__ hello perl peps
01:33 nick__ ??
01:33 nick__ whats up
01:34 TimToady same as 5 minutes ago
01:35 FROGGS_ joined #perl6
01:35 nick__ so this chris is from GA USA?
01:35 TimToady you're not fooling anyone
01:35 nick__ lol really
01:37 nick__ so hows everything doing
01:38 nick__ joined #perl6
01:39 nick__ hello
01:40 nick__ ????????
01:41 nick__ wow ??? is the type i guess
01:44 link joined #perl6
01:45 Guest24348 hello
01:45 TimToady hi nick
01:45 Guest24348 i see no one whats to say hi???
01:46 Guest24348 well good bye then ttyl
01:47 nbrown joined #perl6
01:53 flussence joined #perl6
01:57 * TimToady still thinks nick__/chris__/Guest24348 is a borderline troll
01:59 nbrown joined #perl6
01:59 nbrown_ joined #perl6
02:01 japhb TimToady: ban needed?  Without backlogging, I don't know the history there.
02:03 TimToady came on with a different nick and started in on camels and butterflies again
02:03 rindolf joined #perl6
02:03 TimToady definitely a tendency toward troublemaking
02:04 pyrimidine joined #perl6
02:08 japhb :-/
02:10 TimToady he's pretty low-wattage as trolls go, mostly just tiresome, not actually good at riling people up
02:12 hobbs If I can be forgiven for saying, I think he's a rindolf type, with an extra helping of hyperactive
02:12 nbrown_ joined #perl6
02:13 TimToady so I don't think a ban is necessarily in order, just recognition and "oh, you again, please try thinking about something new"
02:13 japhb That's good at least (the part about not being good at riling people up).  WBNI we could find a way to deal with that "type" effectively and Perlishly.
02:14 rindolf joined #perl6
02:14 * TimToady wonders if he's been here before under some other name, but the logs don't say addresses
02:14 rindolf Hi all.
02:14 TimToady hi, what's new?
02:14 rindolf TimToady, hobbs : what kind of a troll are you talking about?
02:15 pyrimidine …speaking of
02:15 TimToady a person who can't stop talking about mascots
02:16 pyrimidine well, if it’s any consolation, *I* like Camelia
02:16 japhb As do I.
02:16 rindolf TimToady: hi, I'm fine - see http://www.shlomifish.org/me/rindolf/​#update_long_live_us_hacker_monarchs
02:16 TimToady well, but you folks are self-selected on the subject of Camelia alrady :)
02:17 japhb I believe I was here before Camelia, so I get a pass on that.  :-)
02:17 TimToady well, me too :)
02:18 * pyrimidine can’t recall exactly :P
02:18 japhb Heh.  But you are the ultimate in self-selected on that subject.
02:18 japhb It's like saying you think 'patch' is a good idea ...
02:18 pyrimidine heh
02:19 TimToady solipsism and narcissism has to be good for something... :)
02:19 rindolf TimToady: can't you tell him to switch subject?
02:19 TimToady that...was my suggestion above
02:20 japhb ... pretty flowers?
02:20 TimToady but someone who changes their name in order to make the same point is kinda not playing quite fair already
02:20 TimToady it's a mild form of astroturfing
02:20 geekosaur fwiw, that ip address shows up with nicks: chris__, nick__, link__, and slava / slava-work; all but the latter this month, the latter intermittently for over a year but not seen since late June.
02:21 TimToady well, it could be a dynamic address, so it doesnt' all have to the same person
02:21 TimToady it was pretty darn obvious in the past couple hours though
02:22 geekosaur true, but it's a consistent nick to name mapping in both groups
02:22 geekosaur (could still be dynamic with a re-addressing somewhere after June)
02:22 geekosaur (just not often)
02:24 geekosaur internap /16, per whois. not very helpful
02:27 TimToady not to put too fine a point on it, but slava seems much smarter than our recent visitor
02:28 TimToady slava also never mentions mascots
02:41 colomon aren't we supposed to hug trolls?
02:41 colomon ;)
02:42 pyrimidine I have a quick question: if we want to try setting up simple alias (accessor) methods for an attribute, should I use .HOW.add_method()?  Doesn’t seem to be working…
02:42 TimToady ayup, but also helps to point out how they can recover
02:42 jnthn morning, #pelr6
02:42 TimToady o/
02:42 pyrimidine code here: https://gist.github.com/cjf​ields/df13dd4df74f0b0ca2a5
02:42 jnthn ...well, I hope the rest of the day goes better than that spelling :)
02:43 colomon o/
02:43 pyrimidine hiya jnthn .  digging out a nugget from your past (before nom).  ‘is aliased’ trait
02:45 japhb Morning, jnthn.  Strange saying that.  :-)
02:48 pyrimidine jnthn: not a big deal if it doesn’t work or NYI; it was buried as a role in bioperl6.  Just curious, mainly; thought it was a cool bit of code.
02:49 jnthn Yeah, I'm curious why it doesn't work...
02:49 Ben_Goldberg joined #perl6
02:56 noganex joined #perl6
02:57 jnthn pyrimidine: Ohhh...I see it
02:57 jnthn pyrimidine: $attr.HOW means "the meta-class of $attr", which is like Attribute.HOW, which is decidedly not what you want to add it to
02:57 jnthn Use $attr.package.HOW instead
02:58 jnthn If I change it to that, tests pass
02:58 pyrimidine yes, that worked!
02:59 pyrimidine I wondered whether it might be something like that, just couldn’t work out how to get the attribute’s class
03:00 pyrimidine jnthn++
03:03 nbrown_ joined #perl6
03:03 * jnthn noms a muffin that claims to "taste of angel"...
03:05 xenoterracide joined #perl6
03:07 nbrown__ joined #perl6
03:12 nbrown__ joined #perl6
03:13 grondilu what's up with planetaria?
03:19 SevenWolf joined #perl6
03:24 avuserow joined #perl6
03:24 jack_rabbit joined #perl6
03:26 avuserow joined #perl6
03:29 mr-foobar joined #perl6
03:38 ashleydev joined #perl6
03:39 pyrimidine p: my $x = 'foo'; class B { has $.foo }; my $test = B.new(:foo<test>); say $test.::($x)
03:39 camelia rakudo-parrot 4a7429: OUTPUT«No such method 'QAST::Var<6217414773469975152>' for invocant of type 'B'␤  in block <unit> at /tmp/oEhOBtpjZZ:1␤␤»
03:40 pyrimidine p6:  my $x = 'foo'; class B { has $.foo }; my $test = B.new(:foo<test>); say $test.::($x)
03:40 camelia niecza v24-109-g48a8de3: OUTPUT«test␤»
03:40 camelia ..rakudo-jvm 4a7429: OUTPUT«===SORRY!===␤Cannot stringify this␤»
03:40 camelia ..rakudo-moar 4a7429: OUTPUT«===SORRY!===␤cannot stringify this␤»
03:40 camelia ..rakudo-parrot 4a7429: OUTPUT«No such method 'QAST::Var<-7572739885141719536>' for invocant of type 'B'␤  in block <unit> at /tmp/tmpfile:1␤␤»
03:40 pyrimidine huh
03:40 pyrimidine shouldn’t that act like a symbolic reference?
03:42 pyrimidine niecza seems to think so, but rakudo not so much
03:45 googleperl joined #perl6
03:45 googleperl hello, I am new the perl6
03:45 jnthn I...didn't even know that parses :)
03:46 jnthn pyrimidine: The proper way to do it is $obj."$method"()
03:46 googleperl opps I mean new to the new perl6 world
03:46 jnthn googleperl: welcome
03:47 pyrimidine m: my $x = 'foo'; class B { has $.foo }; my $test = B.new(:foo<test>); say $test.”$x”()
03:47 camelia rakudo-moar 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/PjObNw3QDPâ�¤Missing semicolon.â�¤at /tmp/PjObNw3QDP:1â�¤------> [32mmy $test = B.new(:foo<test>); say $test.[33mâ��[31mâ€�$xâ€�()[0mâ�¤    expecting any of:â�¤        postfixâ�¤        dotty me…»
03:47 japhb googleperl: Are you actually a Google employee?
03:48 jack_rabbit I would guess not.
03:48 jack_rabbit He can't spell 'oops'
03:48 jnthn pyrimidine: Seems something turned your quotes into weird ones... :)
03:48 pyrimidine yeah, it’s my irc client methinks
03:49 googleperl_ joined #perl6
03:49 japhb jack_rabbit: For many Google employees, English is far from their first language.  I don't consider that a clear test.  :-)
03:50 pyrimidine jnthn: works on REPL :)
03:51 googleperl_ ok, also for CGI are we still using that. or perl6 is look into other
03:51 jack_rabbit japhb, even those employees speak better English than a whole bunch of US citizens. I'd still bet not.
03:52 pyrimidine jnthn: …but, any reason this differs in syntax from how other symbolic refs are dealt with? As in what is mentioned in S02?
03:54 jnthn pyrimidine: Mebbe 'cus the sym ref syntax is kinda ugly, and something nicer was desired for this use case. I'd not really thought to do it the sym ref way until you just tried it. :)
03:57 pyrimidine jnthn: it’s a minor inconsistency (I could see someone else making the same mistake down the road based on the specs), but in this case makes sense to me.  thx for pointing that out :)
03:57 jnthn Yeah, I think the way you tried should be made to work in Rakudo also though...
04:01 pyrimidine yep, agree, even if it is a bit ugly.
04:02 kaare_ joined #perl6
04:06 mr-foobar joined #perl6
04:20 anaeem1_ joined #perl6
04:32 anaeem1_ joined #perl6
04:40 erkan joined #perl6
04:42 kaleem joined #perl6
04:48 Woodi joined #perl6
04:50 ClarusCogitatio joined #perl6
05:13 kaare_ joined #perl6
05:33 SamuraiJack_ joined #perl6
05:35 kurahaupo_ joined #perl6
05:43 [Sno] joined #perl6
05:53 fhelmberger joined #perl6
05:53 ClarusCogitatio joined #perl6
06:05 itz_ joined #perl6
06:05 gfldex joined #perl6
06:09 darutoko joined #perl6
06:20 perl13 joined #perl6
06:21 eiro joined #perl6
06:27 sergot hi o/
06:30 vike joined #perl6
06:32 jnthn o/ sergot
06:33 brrt joined #perl6
06:38 sergot jnthn: o/
06:43 brrt \o #perl6
06:44 masak sergocie! \o
06:44 sergot masaku! o/
06:49 denis_boyun_ joined #perl6
06:51 brrt such excite
06:51 brrt uhm, i'd like some real perl6 advice today
06:51 brrt i have an aging perl5 epub creation library and i want to port it to perl6
06:51 brrt however, epubs are basically xml + zip thingies
06:52 brrt are there good libraries for those yet, or must i write them myself?
06:53 Timbus there's a zlib binding iirc, and undoubtedly an XML library or two
06:54 brrt hmm zlib isn't yet good enough
06:54 brrt to low-level
06:54 brrt s/to/too/
06:54 Timbus .. oh
06:55 Timbus you mean the API? or the dependency is bad
06:55 brrt no, the api
06:55 brrt i need a zip file as an archive
06:55 brrt zlib iirc is about compressing streams
06:55 brrt which is only part of the effort
06:55 Timbus ah
06:56 brrt (epub sucks. ye shall deal with it)
06:59 brrt i see there is a Net::IMAP client, very nice
06:59 labster joined #perl6
06:59 brrt also String::CRC32
07:00 Px12 joined #perl6
07:05 nwc10 jnthn: happy Mid-Autumn Festival
07:05 nwc10 or whatever the appropriate greeting is
07:05 FROGGS morning
07:07 zakharyas joined #perl6
07:29 anaeem1 joined #perl6
07:30 fhelmberger joined #perl6
07:34 virtualsue joined #perl6
07:38 timotimo o/
07:39 timotimo i had weird dreams last night ...
07:39 masak about Perl 6?
07:40 timotimo one of them was about a blog post from 2009 being hyped by trolls - the post was about how mod_perl_perl6 is dead oh no!
07:40 nwc10 OK, dear wise people, what on earth are the differences between running a test like this:
07:40 nwc10 ./perl6-m t/spec/integration/99problems-51-to-60.t
07:40 nwc10 and as part of the spectest
07:40 moritz ./perl-m -Ilib  please
07:40 nwc10 I have two different things where I get different results
07:41 nwc10 aha. *That* is the difference?
07:41 moritz well, without the -Ilib, it uses the Test.pm that's installed
07:41 moritz not the local one
07:42 timotimo .o( maybe a precompiled Test.pm, though? )
07:43 brrt does the test runner start a new process for every test?
07:45 timotimo yes
07:46 brrt hmm
07:46 brrt that defeats my comments in #moarvm about expecting a difference in speshing / jitting
07:58 ClarusCogitatio joined #perl6
07:58 fling joined #perl6
08:00 Px12 joined #perl6
08:04 mrf joined #perl6
08:05 ClarusCogitatio joined #perl6
08:09 breinbaas joined #perl6
08:17 ashleydev joined #perl6
08:21 FROGGS nwc10: also the harness merged stdout/stderr, and perhaps does other stuff to its subprocesses
08:21 FROGGS merges*
08:26 dakkar joined #perl6
08:26 nwc10 mm, yes, good point
08:32 timotimo mayhaps having stdout and stdin on the same fd, but not sharing the same lock could be trouble?
08:33 FROGGS timotimo: you can tell it to not merge them in t/harness, but despite from getting an error message displayed when running the spectest, it still fails
08:33 FROGGS so it is not just that sadly
08:35 brrt whats more, it used to work before :-)
08:35 FROGGS true
08:37 FROGGS timotimo: do you have any problems with exposing C globals as Perl 6 subs?
08:37 FROGGS timotimo: I am just asking if I just finish it, or wait for jnthn to help me exposing it as a Perl 6 variable
08:38 FROGGS should -------------^
08:38 FROGGS meh, close enough
08:38 timotimo do you mean do i have a project or code waiting on that feature?
08:40 ClarusCogitatio joined #perl6
08:40 FROGGS timotimo: no, just my implementation
08:42 timotimo oh
08:42 timotimo now i get it
08:42 FROGGS timotimo: my impl exposes it as: sub errno is cglobal { ... }, with an optional is symbol('name')
08:42 timotimo would that give a proxy?
08:43 FROGGS the cglobal trait is like the is native, which means it takes the library name
08:43 FROGGS timotimo: no
08:43 FROGGS since it is a sub, there is no proxy
08:43 FROGGS dunno how to write to a global yet though
08:44 FROGGS ahh, it would be more like: sub errno is cglobal returns int { ... } # or so
08:45 timotimo hm, and if you give a parameter, it'll set the value?
08:45 FROGGS hmmm, maybe
08:45 FROGGS might be easier to implement (in contrast to an is rw trait)
08:46 FROGGS then it would be: sub errno is cglobal(int?) returns int { ... }
08:47 FROGGS I really would like to expose it as a variable though :/
08:47 ashleydev joined #perl6
08:47 timotimo i'd prefer a multi sub, actually
08:47 timotimo for compile-time-dispatch reasons
08:47 timotimo hm
08:47 timotimo maybe it doesn't matter
08:48 FROGGS I'd like to hear jnthn++'s voice now :o)
08:54 moritz mathw: http://www.nntp.perl.org/group/per​l.perl6.users/2014/09/msg1818.html any thoughts?
08:54 moritz mathw: I'm happy to fork the module into the perl6 organization
08:57 moritz FROGGS: did you touch $*PROGRAM_NAME recently?
08:57 moritz or was that timotimo?
08:58 moritz cause test one from t/spec/S02-magicals/progname.t fails for me
08:58 moritz s/PROGRAM_NAME/PROGRAM
08:58 moritz ok(PROCESS::<$PROGRAM> ~~ / t['/'|'\\']spec['/'|'\\']S02'-'magicals['/'|'\\']progname'.'\w+$/, "progname var matches test file path");
08:58 moritz use of uninitialized value of type Any in string context  in any !cursor_init at gen/moar/stage2/QRegex.nqp:599
08:59 timotimo i did not
09:00 FROGGS moritz: I thougt lizmat applied a patch about initialization of that var
09:02 FROGGS moritz: I made a PR for $*EXECUTABLE on parrot, but that is not applied yet :o)
09:02 FROGGS moritz: https://github.com/rakudo/rakudo/commit/​a913770f7e254f0b1bdb6995a648c3aebf22e065
09:03 FROGGS so, one has to use $*PROGRAM before PROCESS::<$PROGRAM> is filled with life
09:04 ashleydev joined #perl6
09:05 moritz FROGGS: woah, did you come up with those #ifdefs in https://github.com/FROGGS/parrot/commit/​3c00e7e19969971383e50fb58d31ace46a702828 all on your own?
09:05 FROGGS moritz: no :o)
09:05 FROGGS see http://sourceforge.net/p/pr​edef/wiki/OperatingSystems/
09:06 FROGGS and this was my resource for obtaining the execname: http://stackoverflow.com/questions/1023306/findin​g-current-executables-path-without-proc-self-exe
09:07 FROGGS moritz: linux and windows is tested okay, and I know it builds on osx
09:07 nebuchadnezzar joined #perl6
09:07 moritz FROGGS: merged.
09:07 FROGGS ohh, thanks
09:07 moritz FROGGS++
09:08 FROGGS I'll bump PARROT_REVISION now, so we spot any fallout very early
09:08 Px12 joined #perl6
09:09 FROGGS ahh, that reminds me that I wanted to unbreak panda on parrot (a problem with latest .lines optimization)
09:11 jnthn FROGGS: One way to have C globals work as a variable is to have a cglobal function used like my $errno := cglobal('library', 'errno', int32); and it returns a Proxy or something like that.
09:11 timotimo jnthn: do we have any way to optimize proxies?
09:12 FROGGS jnthn: hmmm, not bad :o)
09:14 jnthn timotimo: We should be able to do something nice with them in spesh
09:17 timotimo i'm not entirely sure how they are implemented on the "inside"
09:17 timotimo as in, close to where spesh resides
09:18 ClarusCogitatio joined #perl6
09:21 dalek roast: fad94bf | (Elizabeth Mattijsen)++ | S02-magicals/progname.t:
09:21 dalek roast: Fix $*EXECUTABLE test
09:21 dalek roast:
09:21 dalek roast: PROCESS::<$EXECUTABLE> does not exist before $*EXECUTABLE is fetched
09:21 dalek roast: review: https://github.com/perl6/roast/commit/fad94bf63c
09:22 jnthn timotimo: Well, really the VM just knows about a pair of things that can be invoked, a fetch thing and a store thing.
09:25 dalek rakudo/nom: 696a467 | (Tobias Leich)++ | src/core/Process.pm:
09:25 dalek rakudo/nom: remove duplicate call to .path.absolute
09:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/696a4670f6
09:26 Rotwang joined #perl6
09:27 lizmat FROGGS++  thanks for catching my cutnpasto
09:27 yoleaux 01:14Z <japhb> lizmat: The new INITIALIZE subs for $*{EXECUTABLE,PROGRAM}{,_NAME} don't make sense to me.  The second sub of each pair uses the first, which initializes both, so you don't need to do any computation in the second of the pair. And for $*EXECUTABLE, it makes no sense to do .path.absolute twice on the same data.
09:27 lizmat japhb: indeed, that was a copynpasto
09:27 mathw moritz: I've been meaning to look at it and see whether it was passing tests recently. I'd be happy for other people to have commit access. My schedule allows little time for working on it at the moment and that's not going to change any time soon. I have been unaware of any attempts to contact me via GitHub.
09:28 moritz mathw: does that mean you'll hand out commit bits, or should I fork it into the perl6 org, and do the commit bit handling?
09:29 mathw moritz: not sure what the best method to do it is. Checking GItHub I now see a pull request
09:29 Woodi joined #perl6
09:29 FROGGS mathw: give moritz and me a commit bit and there is less confusion :o)
09:30 spider-mario joined #perl6
09:30 moritz mathw: there is no "best". The real question is: how much do you want to be in control of the project
09:30 FROGGS (because there are less repositories/forks)
09:30 ashleydev joined #perl6
09:30 moritz mathw: if you hand out the commit bits, you're in control; if I fork to perl6, and we declare this to be the "official" version (by changing the URL in the ecosystem), all 120+ members of the "perl6" team can do as they wish
09:31 moritz (which usually isn't all that much, just potentially much :-)
09:31 mathw Generally speaking though they're not going to do anything utterly stupid are they
09:31 mathw they might even finish it
09:31 moritz I haven't seen a single case of vandalism in the perl6 orga on github
09:31 moritz and not much utterly stupid either
09:31 mathw :)
09:31 mathw I think the thing to do is to get it into perl6
09:31 mathw let the community look after it
09:32 mathw but I'll still hold a special place for it in my heart and keep an eye on things
09:32 mathw ...when I've got time
09:32 moritz ok, then I'll do the forking later
09:32 mathw I've merged in the pull request that fixes the tests on the assumption that it actually does fix the tests
09:32 mathw I'm behind on stuff, clearly
09:33 mathw I'd not seen .flat before
09:34 dalek rakudo/nom: d59cf8a | (Elizabeth Mattijsen)++ | src/core/stubs.pm:
09:34 dalek rakudo/nom: Make sure we return right thing when initializing
09:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d59cf8aebb
09:34 dalek rakudo/nom: d05d411 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
09:34 dalek rakudo/nom: Add initializer for @*INC and %*CUSTOM_LIB
09:34 dalek rakudo/nom:
09:34 dalek rakudo/nom: This takes bare start time of rakudo from 0.210 to 0.175 on my machine
09:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d05d411e96
09:35 lizmat jnthn: ^^^
09:35 dalek nqp: 770a671 | (Tobias Leich)++ | tools/build/PARROT_REVISION:
09:35 dalek nqp: bump parrot rev for execname fix
09:35 dalek nqp: review: https://github.com/perl6/nqp/commit/770a671e67
09:35 jnthn lizmat: o.O
09:35 FROGGS wow
09:35 FROGGS lizmat++
09:35 * jnthn tries it :)
09:35 mathw oooh
09:35 brrt wow :-o
09:36 mathw btw folks there is SO MUCH AWESOME now
09:36 FROGGS I am now going to bisect the jvm bustage
09:36 mathw I was messing around with Rakudo-moar last week and it seemed really fast
09:36 mathw even to build itself was quick
09:36 FROGGS mathw: it is! one can really enjoy coding *and* running Perl 6 stuff now :o)
09:36 mathw you assorted sentient lifeforms are amazing
09:36 brrt yes, moarvm+rakudo builds quite acceptably fast
09:37 mathw it's all good stuff to put in my talk to Nottingham.pm
09:37 jnthn FROGGS: [Coke] identified the actual commit that broke it; it was apparently one of mine...
09:37 jnthn FROGGS: It's in backlog somewhere...
09:37 brrt mathw: there is still so much awesome to come :-)
09:37 brrt list refactor will probably do a lot
09:37 brrt native arrays too
09:37 mathw oh sure
09:37 donaldh FROGGS++ # I was just contemplating that but don't yet have time.
09:37 FROGGS jnthn: yeah, I'm just to lazy to look, I'll just let my laptop find it :o)
09:37 mathw but the state now compared to when I was last actively using stuff is just brilliant
09:38 brrt NFG + jitting-of-native-array access will do a lot
09:38 brrt better jit codegen
09:38 mathw also, the Supply stuff is almost too exciting for words. I absolutely love that way of doing async programming
09:38 mathw and Perl 6's implementation has a definite step up in elegance compared to Rx in C#
09:38 * brrt hasn't looked at Supply yet
09:38 dalek rakudo/nom: 6b295ba | (Tobias Leich)++ | tools/build/NQP_REVISION:
09:38 dalek rakudo/nom: bump nqp/parrot rev for execname fix
09:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6b295bab33
09:38 brrt what would be the difference between a Supply and a Queue
09:39 mathw A puts values in a Queue, B asks the Queue for values. A puts values in a Supply, the Supply gives values to B
09:39 mathw (horrible oversimplification alert)
09:39 brrt ok, a supply is a queue + a runloop?
09:40 donaldh FROGGS: commit bdf153c23d893e0b6da1f5ee9d03d2f7c91f7b1d busted JVM
09:40 donaldh according to [Coke]++
09:40 FROGGS donaldh: ohh, thanks you :)
09:41 jnthn brrt: There isn't a queue at all really, it's more that it pushes the value straight out to its subscribers
09:41 FROGGS yes, that looks very much related
09:41 jnthn lizmat: 0.175s on my laptop here :)
09:41 jnthn lizmat++ lizmat++
09:41 nwc10 0.175s for what?
09:41 lizmat also, this trick removes a lot of Proxies
09:42 lizmat not sure what the runtime penalty is for a proxy, but that is now all gone
09:42 brrt what if there are no subscribers?
09:42 brrt all its subscribers or just one?
09:42 lizmat brrt: yes, what?
09:42 Timbus jnthn, hmm at the moment if i schedule_on a GTK::Simple::Scheduler, it will never run
09:42 lizmat I've put in a buffering for that eventuality
09:42 lizmat jnthn is not happy with that
09:42 Timbus known?
09:42 FROGGS nwc10: startup time
09:42 nwc10 oh, OK, it just got faster *today*?
09:43 lizmat just now
09:43 mathw Rx has ones which behave differently in the absence of subscribers and ones which don't, it's quite confusing actually
09:43 nwc10 OK, we were already faster than Moose
09:43 * brrt imagines so
09:43 lizmat mind you, all of that is gone as soon as you try to -use- something
09:43 jnthn brrt: No subscribers (for a live supply) = drop the value, nobody is interested
09:43 nwc10 the "hello world" benchmark is part of first impressions
09:43 timotimo of course, but many people will end up not using most stuff for most scripts
09:43 jnthn Yes, it *feels* faster here :)
09:43 brrt ok, that's a difference with a queue for one thing
09:43 timotimo and if they do, no big deal, it'll still be pretty fast all in all
09:44 nwc10 the "start a thread to say hello world" is also an intersting benchmark
09:44 JimmyZ joined #perl6
09:44 mathw brrt: yes, a queue is for quite a different situation really
09:44 jnthn A supply generally has much better thread affinity than a queue
09:45 lizmat nwc10: this what you mean?
09:45 lizmat $ time perl6 -e 'await start { say "Hello world" }'
09:45 lizmat Hello world
09:45 lizmat real0m0.185s
09:45 jnthn Since you push data directly to the things that want it on the same thread, in many cases.
09:45 nwc10 something like that, yes
09:45 jnthn And caches like that.
09:45 nwc10 because the same is possible with ithreads
09:45 nwc10 and ithreads doesn't win
09:46 brrt how would a supply and a go-style channel be compared?
09:46 lizmat nwc10: nope, it won't  :-)
09:46 kurahaupo joined #perl6
09:46 nwc10 lies, damn lies and statistics
09:46 lizmat yup
09:46 nwc10 I'm keen to pick statistics that look good
09:46 lizmat hehe
09:47 lizmat I was wondering: would it make sense to mark code to be run only once with an attribute
09:47 lizmat so that any GC could clean it up after it has run ?
09:48 lizmat BTW: I hope I didn't break anything in the ecosystem
09:48 lizmat if a script would look at PROCESS::<$FOO> before doing a $*FOO
09:49 lizmat it would not find anything there: it's the initial failure of the lookup of $*FOO that initialized PROCESS::<$FOO>
09:49 lizmat *initializes
09:49 FROGGS lizmat: just keep an eye on the star summary
09:50 lizmat will do
09:50 jnthn lizmat: Yes, I'd done the thing with the Proxy precisely to make sure PROCESS::<...> being the first reference worked out...
09:50 jnthn (Knowing that dynamic lookup fails over to that)
09:51 kaleem joined #perl6
09:51 timotimo did the jvm build get fixed already?
09:52 jnthn lizmat: In https://github.com/rakudo/rakudo/commit/d59cf8aebb I wonder if doing \result would have avoided the need to consider the sigil?
09:52 lizmat jnthn: will check
09:53 FROGGS timotimo: no
09:53 FROGGS timotimo: spot the error: https://github.com/rakudo/rakudo/commit/​bdf153c23d893e0b6da1f5ee9d03d2f7c91f7b1d
09:55 timotimo hmm, dunno
09:55 * mathw just got introduced to a new team leader at work as "multi-skilled" along with "if you give him something in pretty much any language he probably already knows it"
09:55 mathw this might be a slight exaggeration, but i'm very flattered :)
09:56 timotimo d'aaw :)
09:56 FROGGS *g*
09:57 mathw unfortunately the boss isn't too keen on me using my F# skills
09:57 jnthn FROGGS: Does reverting the take and take-rw pieces of the patch help?
09:57 mathw I'll win him over eventually
09:58 jnthn mathw: At least they keep stealing F# things into C#... :)
09:58 mathw yeah but it's always with a clunkier syntax
09:58 FROGGS jnthn: I wanted to test something like that right now
09:58 mathw and I don't think it's likely that C#'s getting discriminated unions any time
09:58 lizmat odd datapoint: since my removal of many Proxy's in the setting, my spectest is squeaky clean
09:58 mathw or destructuring
09:59 ashleydev joined #perl6
09:59 mathw lizmat: that's not really what one would expect, but it's rather exciting.
10:00 timotimo .o( and now let's cut the memory usage of "say 'hello world'" in half, too! )
10:00 dalek rakudo/nom: 9ea8d83 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
10:00 dalek rakudo/nom: Fix typo
10:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ea8d83c40
10:00 dalek rakudo/nom: 9fb318b | (Elizabeth Mattijsen)++ | src/core/stubs.pm:
10:00 dalek rakudo/nom: Remove unnecessary elaborateness, jnthn++
10:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9fb318b8b5
10:02 masak not sure I like the term "pseudo-scope" as used in S99. those are actual scopes from what I can see.
10:02 FROGGS timotimo: well volunteered :P
10:03 timotimo d'oh :)
10:04 lizmat timotimo: cutting memory usage in half, would mean loading more of the setting ad-hoc
10:04 timotimo yup
10:05 lizmat fwiw, Sets. Bags, Mixes are not used in the core
10:05 FROGGS jnthn: yes, the take/take-rw changes are to blame
10:05 lizmat so could be taken out and become available with e.g. a "use Sets"
10:05 timotimo jnthn's recent advances in lazily deserializing stuff as it's needed has done a bunch of good; i seem to remember him mentioning there's still places that cause deserialization unnecessarily
10:05 timotimo i wonder how big sets, bags, mixes actually are
10:06 timotimo as a contribution to initial process size
10:06 FROGGS jnthn: at least I can compile rakudo now
10:06 lizmat timotimo: let me try a build without them...  :-)
10:06 FROGGS timotimo: comment them
10:06 timotimo lizmat: yay :)
10:07 jnthn I'd have hoped that the lazy deserialization stuff mighta helped reduce the burden of Set and friends being in core.
10:07 brrt i'm not sure how lazy serialization actually works. i.e. is the .moarvm file indexed in any way?
10:08 brrt (as in, i'm not sure how it works /here/ :-))
10:08 nwc10 OK, 15% faster startup than unthreaded perl with Moose, on "my" machine
10:08 nwc10 what's the number like on Win32?
10:10 jnthn um, wtf
10:10 jnthn ptime perl -e "use Moose; 1"
10:10 jnthn Execution time: 0.347 s
10:10 jnthn ptime perl6-m -e "1"
10:10 jnthn Execution time: 0.181 s
10:10 JimmyZ jnthn, masak: 中秋节快乐! ;)
10:10 FROGGS jnthn: and without Moose?
10:11 nwc10 jnthn: is your Perl 32 bit, and your Moar 64?
10:11 jnthn I'm *sure* on my desktop it was much faster than that with Moose
10:11 jnthn nwc10: Ahh...
10:11 jnthn This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x64-multi-thread
10:11 nwc10 ie does the x86_64 instruction set make a big win?
10:11 lizmat hmmm...  nqp doesn't build for me anyjmore
10:11 lizmat At Frame 4, Instruction 3, op 'sp_log' has invalid number (0) of operands; needs 2.
10:11 lizmat at gen/moar/stage2/QAST.nqp:5503  (src/vm/moar/stage0/QAST.m​oarvm:assemble_to_file:13)
10:12 jnthn lizmat: Try a make clean or so?
10:12 brrt nwc10: i don't think x86_64 will be a big win at all
10:12 lizmat I nuked install
10:12 jnthn lizmat: And make sure you have a new enough MoarVM?
10:12 jnthn (MOAR_REVISION was bumped)
10:12 jnthn (after updating stage 0)
10:12 brrt as in, i don't expect perl-for-win32-x86 to use 64 bit integer arithmetic
10:12 FROGGS and make realclean in MoarVM
10:12 FROGGS lizmat: ^^
10:13 brrt and 32 bit programs have 32 bit pointers which are smaller and thus fit better into cache
10:13 nwc10 x86_64 has way more registers
10:13 timotimo there's an ABI that uses x86_64's "way more registers and opcodes" but still relies on 32bit pointers IIRC
10:13 nwc10 brrt: at least, *something* must be better, else this wouldn't exist: http://en.wikipedia.org/wiki/X32_ABI
10:14 timotimo that's the one
10:14 telex joined #perl6
10:14 nwc10 That same day, Linus Torvalds replied with a concern that the use of 32-bit time values in the x32 ABI could cause problems in the future.[9][10] This is because the use of 32-bit time values would cause the time values to overflow in the year 2038.[9][10] Following this request, the developers of the x32 ABI changed the time values to 64-bit.[11]
10:14 nwc10 dear Android, you should have heeded that
10:15 jnthn At the rate folks change their phone, I don't think Android need worry for a while :P
10:15 lizmat FROGGS: after make realclean in MoarVM and nuking install dir
10:15 grondilu who knows what a phone will look like in 2032 anyway?
10:15 lizmat I still get the same error :-(
10:16 timotimo on google+ a concept scrolled past me where they are envisioning using what i guess is a picoprojector in a wristband to project the user interface on a user's arm
10:16 jnthn lizmat: Are you sure you're building with a sufficinelty new MoarVM? The error looks like exactly the one you'd get if not doing so...
10:16 timotimo (i'm not yet 100% convinced)
10:16 lizmat let me try to build with =master
10:17 Timbus i just did a --gen-moar and have the same error as lizmat
10:17 jnthn Yeah. MOAR_REVISION did get bumped, I thought...
10:17 timotimo hum, we may need to bump moar some more?
10:17 jnthn I'm about to bump now so I can use the finalize stuff anyways...
10:17 nwc10 timotimo: this one? http://drop-kicker.com/2014​/08/ritot-projection-watch/
10:18 brrt i bumped it yesterday because i added support for force_gc which needs a new opcode
10:18 brrt sp_log is the next opcode
10:18 firefish5000 joined #perl6
10:18 FROGGS jnthn: so it is really about the THROW($parcel, nqp::const::CONTROL_TAKE);
10:18 brrt so if you get an sp_log w/o arguments, thats probably it
10:18 lizmat hmmm... build seems to hang now  :-(
10:18 lizmat ah, no...
10:18 dalek nqp: 74f813b | jonathan++ | tools/build/MOAR_REVISION:
10:18 dalek nqp: Bump to latest MoarVM to get finalize bits.
10:18 dalek nqp: review: https://github.com/perl6/nqp/commit/74f813bd48
10:19 lizmat building with nqp=master now
10:20 * brrt afk
10:20 timotimo nwc10: there is no link to the source, only a gif :\
10:22 lizmat nqp builds ok now
10:24 lizmat hmmm... any use command hangs now :-(
10:25 dalek rakudo/nom: 33131e0 | (Tobias Leich)++ | src/core/control.pm:
10:25 dalek rakudo/nom: unbreak jvm (emergency hot-fix)
10:25 dalek rakudo/nom:
10:25 dalek rakudo/nom: Someone should fix the underlaying issue, which pops up as:
10:25 dalek rakudo/nom: "control operator crossed continuation barrier"
10:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/33131e00d7
10:28 jnthn FROGGS: Um...does that not break take entirely?
10:28 lizmat something is really broken atm
10:29 lizmat OTOH, parse times <27 seconds, wow
10:29 denis_boyun_ joined #perl6
10:30 lizmat retrying a standard build after pulling
10:30 JimmyZ Stage parse      :  62.320 # on my notebook CPU 1.8GHZ :(
10:30 FROGGS jnthn: ohh, I looked wrongish at that diff: https://github.com/rakudo/rakudo/commit/​bdf153c23d893e0b6da1f5ee9d03d2f7c91f7b1d
10:30 FROGGS jnthn: so the combination of that multi + THROW is problematic
10:31 jnthn FROGGS: Yeah. I'd just #?if !jvm around the whole batch of multis
10:31 jnthn FROGGS: And then and a '?if jvm that does what we used to do.
10:32 jnthn And file an RT saying it needs a further look
10:32 ashleydev joined #perl6
10:32 FROGGS jnthn: yes, I'll do that in a few minutes
10:34 dalek nqp: 8f4ac08 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
10:34 dalek nqp: Map new settypefinalize op on MoarVM.
10:34 dalek nqp: review: https://github.com/perl6/nqp/commit/8f4ac0857a
10:34 dalek nqp: 367d379 | jonathan++ | src/vm/ (2 files):
10:34 dalek nqp: Cheat on settypefinalize on Parrot, JVM.
10:34 dalek nqp:
10:34 dalek nqp: The JVM has support for finalization, so we should be able to wire it
10:34 dalek nqp: up in the future.
10:34 dalek nqp: review: https://github.com/perl6/nqp/commit/367d379c25
10:37 lizmat standard build still fails :-(
10:37 lizmat (in the same manner as before)
10:38 dalek rakudo/nom: fcb7603 | jonathan++ | tools/build/NQP_REVISION:
10:38 dalek rakudo/nom: Bump to get nqp::settypefinalize.
10:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fcb76038aa
10:39 jnthn lizmat: Maybe these version bumps get things back in shape, if it wsa a version skew issue.
10:39 lizmat checking...
10:41 Timbus yep
10:44 dalek rakudo/nom: 94d83c1 | (Tobias Leich)++ | src/core/control.pm:
10:44 dalek rakudo/nom: unbreak jvm #2 (emergency hot-fix, RT #122732)
10:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/94d83c1f7c
10:44 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122732
10:45 lizmat builds ok again, but still hangs on @*INC access  :-(
10:45 lizmat getting FROGGS latest fix
10:46 lizmat no luck :-(
10:47 colomon p6: say 25 choose 6
10:47 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msay 25 [33mâ��[31mchoose 6[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or met…»
10:47 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row at /tmp/tmpfile line 1:�------> [32msay 25 [33m�[31mchoose 6[0m��Parse failed��»
10:51 leont joined #perl6
10:56 bjz joined #perl6
10:58 esaym153 joined #perl6
11:00 lizmat looks like there is no point delaying initialization of $*VM
11:00 lizmat $ perl6 -e1
11:00 lizmat initialized $*VM
11:01 jnthn lizmat: Or else we hunt down what's using it :)
11:01 lizmat doing that now  :-)
11:02 jnthn And see if it's an LHF or not. :)
11:03 esaym153 joined #perl6
11:03 FROGGS lizmat: I can say @*INC fwiw
11:03 FROGGS and I can also use lib "foo"
11:03 lizmat weird... wonder if it has anything todo with macness
11:04 virtualsue joined #perl6
11:04 lizmat the hang is in $*DISTRO creation
11:04 FROGGS do you know the line number?
11:05 jnthn lizmat: Oh...I think $*DISTRO actually tried to use $*DISTRO on some code path, or some other oddness
11:05 jnthn I forget exactly
11:05 lizmat FROGGS: not yet
11:06 lizmat trying to get out of recursive yak shaving
11:06 FROGGS p: use Test; plan 42
11:06 camelia rakudo-parrot 4a7429: OUTPUT«1..42␤# Looks like you planned 42 tests, but ran 0␤»
11:07 FROGGS that fails locally:
11:07 FROGGS ==> Testing JSON::Tiny
11:07 FROGGS t/01-parse.t ...... ok
11:07 FROGGS t/02-structure.t .. Null PMC access in find_method('print')
11:07 FROGGS in method print at gen/parrot/CORE.setting:14488
11:07 FROGGS yesterday I saw something about .lines
11:08 FROGGS p: use Test; plan *
11:08 camelia rakudo-parrot 4a7429: ( no output )
11:08 FROGGS p: use Test; plan *; done
11:08 camelia rakudo-parrot 4a7429: OUTPUT«1..0␤»
11:13 lizmat FROGGS: IO.lines was borked on parrot for a while, thanks to yours truly
11:14 FROGGS lizmat: but it did not explode during tests when bootstrapping panda
11:15 dalek rakudo/nom: 8667e66 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Local/File.pm:
11:15 dalek rakudo/nom: Fix premature *VM initialization
11:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8667e666b8
11:15 FROGGS lizmat: I think I don't get it... how was IO.lines broken on parrot?
11:16 lizmat something with .chomp and unboxed strings working on Moar/JVM but not on parrot
11:16 FROGGS ahh, but that was just within the last 48 hours
11:16 lizmat yes
11:16 FROGGS I parsed 'for a while' wrongish it seems :o)
11:21 lizmat found the hang:
11:21 lizmat $ perl6 -e 'say qx/sw_vers/'
11:21 lizmat $ perl6 -e 'say qx/foo/'
11:21 lizmat then hangs
11:21 lizmat visitors&
11:22 JimmyZ lizmat: this means you didn't do `make reaclean` on MoarVM, just like me
11:22 JimmyZ methinks
11:23 JimmyZ gah... FROGGS always said we needs realclean ;)
11:36 nwc10 I was trying to build rubinius for comparison of startup time.
11:36 nwc10 And, well, it is made of FAIL. Rather unfortunately
11:36 nwc10 and isn't packaged
11:36 nwc10 it's getting upset about C++ library versions, I think. And I don't know why
11:36 nwc10 and I do know what happened last time I tried to meddle with C++ library versions
11:36 nwc10 firefox broke
11:36 nwc10 because C++
11:37 nwc10 (name mangling being part of the API)
11:37 dalek rakudo/nom: 0b03f3a | jonathan++ | / (5 files):
11:37 dalek rakudo/nom: Wire up DESTROY (sub)methods to finalize mechanism
11:37 dalek rakudo/nom:
11:37 dalek rakudo/nom: Since it's only supported on MoarVM so far, that's the only backend
11:37 dalek rakudo/nom: you'll see it working on at the moment. As usual with these things,
11:37 dalek rakudo/nom: there's no promises about when the finalier will be called, and if
11:37 dalek rakudo/nom: the program ends before the object is GC'd it won't be called at
11:37 dalek rakudo/nom: all.
11:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b03f3adc0
11:38 timotimo sweet!
11:38 nwc10 jnthn: I think your commit message has a typo, technically. s/when/whether/
11:38 nwc10 I agree that the next sentance clarifies it
11:39 nwc10 maybe your wording is best
11:39 nwc10 rubinius-- # bother, I actually want to install you
11:45 leont What's the general wisdom on "putting all related modules in one file" versus "putting all classes in separate files"?
11:46 moritz if you need to "use" one of them separately, it must go into a separate file
11:46 moritz if you have circular dependencies, it must go into one file
11:47 moritz I tend to write no-so-tiny classes, and put them into separate files
11:47 leont Yeah, my dependencies are somewhat circular, but I want to be able to use them separately
11:48 firefish5000 how do you read lines from a file?
11:48 timotimo firefish5000: for "file".IO.lines -> $line { ... }, for example
11:48 moritz or  open("file").lines
11:48 jnthn nwc10: No, I really menat "when" as in "no promises about timeliness"
11:49 jnthn nwc10: Which is separate to "whether it'll happen at all"
11:49 timotimo when i have class Foobar { submethod DESTROY { say "destroyed my Foobar" } }; { my $a = Foobar.new() }; and then do a bunch of "unrelated" work, shouldn't that print
11:49 timotimo OK, the way i tried to do work ate up all my ram and hung the computer for a few seconds %)
11:49 jnthn hah
11:49 timotimo but no print :(
11:50 firefish5000 ah, thanks! (didn't know .lines was different from .IO.lines)
11:50 jnthn It either wsn't enough work or didn't go out of scope.
11:50 timotimo .lines gives you the lines from a string, not a file :)
11:50 jnthn timotimo: https://gist.github.com/jnthn/dbe4e347cc092fa8cf62 is what I used to observe it, fwiw
11:50 moritz m: class A { submethod DESTROY { say "gone to meet its maker" } }; loop { A.new; 1}
11:51 camelia rakudo-moar 4a7429: OUTPUT«(timeout)»
11:51 timotimo thanks, i'll try that :)
11:51 timotimo moritz: probably not yet updated, eh?
11:51 araujo joined #perl6
11:51 moritz timotimo: it's quite a few commits behind, yes
11:51 timotimo jnthn: i don't observe it - i wonder what i'm doing wrong
11:51 timotimo maybe i need some more pulls and rebuilds
11:51 timotimo indeed.
11:52 jnthn moritz: That one spews endlessly here :)
11:52 timotimo yes, that works well. way cool!
11:52 moritz jnthn: as it should :-)
11:53 moritz here too
11:54 moritz jnthn++
11:57 dalek rakudo/nom: 42657fc | moritz++ | docs/ChangeLog:
11:57 dalek rakudo/nom: [Changelog] mention DESTROY, optimizations
11:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/42657fc0e2
11:57 jnthn dinner &
11:57 timotimo bon appetit :)
11:58 Rounin joined #perl6
12:00 firefish5000 hmm, open($fn).lines works but $fh=open($fn) ; $fn.lines and $fn.IO.lines doesn't?
12:01 timotimo if $fn is the filename, $fn.lines will give you the filename split into lines
12:01 firefish5000 oops, $fh.lines and $fh.IO.lines doesn't file name is fine)
12:01 timotimo :)
12:02 moritz how exactly does $fh.lines not work?
12:02 timotimo both $fh and $fh.IO give me the lines of the file when i lines() it
12:02 timotimo however
12:02 timotimo you may be re-using the same file descriptor without seeking to the beginning in between lines() calls?
12:03 firefish5000 well, it gives the filename (not what I expected ),
12:03 firefish5000 so its lines $fh not $fh.IO.lines?
12:04 timotimo $fh is already an IO, you don't need to coerce it to IO first
12:04 timotimo but at least on my machine that works
12:05 moritz $fh.lines
12:06 firefish5000 alright, I gguess that will work. (was following a perl6maven/perl6-files, perhaps a little outdated) ($fh.lines gives me the filename, )
12:06 timotimo it really shouldn't give you the filename, though
12:06 timotimo can you paste your code somewhere?
12:06 moritz firefish5000: does the file consist only of the file name?
12:08 firefish5000 ..I retract my statement. I must have forgot to write as it gives me nothing.
12:08 timotimo %)
12:09 timotimo maybe you forgot to close after writing?
12:10 firefish5000 no, readonly in perl. forgot to save the file in vim:w
12:10 timotimo ah %)
12:11 grondilu isn't a loop like for ^$width X ^$height -> $x, $y {...} supposed to be lazy?  I put a say in the loop and nothing shos up even after a while.
12:12 timotimo uhm ... huh?
12:12 moritz grondilu: it's supposed to be lazy, yes
12:13 moritz m: my ($width, $height) = 10_000 xx 2; for  ^$width X ^$height -> $x, $y { say "$x-$y" }
12:13 camelia rakudo-moar 94d83c: OUTPUT«(timeout)»
12:13 * moritz blames TimToady
12:13 moritz erm
12:13 * moritz blames TimToady++
12:13 timotimo moritz: why exactly do you initialize $width and $height with lists?
12:13 dalek rakudo/nom: 07f73c2 | moritz++ | src/core/IO/Handle.pm:
12:13 dalek rakudo/nom: [IO::Handle] add a DESTROY submethod that closes the file
12:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/07f73c2f46
12:13 grondilu m: for ^10_000 X ^10_000 -> ($x, $y) { die }
12:14 moritz timotimo: I don't
12:14 camelia rakudo-moar 94d83c: OUTPUT«(timeout)»
12:14 timotimo oh, derp
12:14 timotimo that's right
12:14 grondilu m: for ^10_000 X ^10_000 -> ($x, $y) { last }
12:14 camelia rakudo-moar 94d83c: OUTPUT«(timeout)»
12:15 JimmyZ rn: my int $i +=1
12:15 grondilu I'm pretty sure this used to work, right?
12:15 camelia rakudo-jvm 94d83c: OUTPUT«(timeout)»
12:15 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed my at /tmp/tmpfile line 1:�------> [32mmy[33m�[31m int $i +=1[0m��Parse failed��»
12:15 camelia ..rakudo-moar 94d83c: OUTPUT«Cannot modify an immutable Int␤  in block  at /home/p6eval/rakudo-inst-1/languages/​perl6/runtime/CORE.setting.moarvm:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
12:15 camelia ..rakudo-parrot 94d83c: OUTPUT«Cannot modify an immutable value␤  in block  at gen/parrot/CORE.setting:18099␤  in block <unit> at /tmp/tmpfile:1␤␤»
12:15 FROGGS star-m: for ^10_000 X ^10_000 -> ($x, $y) { die }
12:15 camelia star-m 2014.04: OUTPUT«Not enough positional parameters passed; got 0 but expected 2 in sub-signature␤  in block  at /tmp/ZAzU6LVrDw:1␤␤»
12:15 salv0 joined #perl6
12:15 timotimo do you even need the ( ) around $x, $y?
12:16 grondilu star-m: for ^10_000 X ^10_000 -> $x, $y { last }
12:16 FROGGS no
12:16 camelia star-m 2014.04: ( no output )
12:16 grondilu timotimo: no, my mistake
12:16 carlin my @destoryers; # heh
12:16 moritz I don't think that's intentional
12:19 dalek rakudo/nom: 546f9f5 | moritz++ | src/Perl6/Metamodel/Finalization.nqp:
12:19 dalek rakudo/nom: fix typo in variable name, carlin++
12:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/546f9f5e3e
12:20 FROGGS I liked destoryers (and also the word finalier)
12:21 * moritz too humorless, it seems
12:23 grondilu m: for ^1000000 { last }
12:23 camelia rakudo-moar 94d83c: ( no output )
12:23 carlin all humour must be destoryed
12:24 grondilu m: for ^my @ = 10000000000 { last }
12:24 camelia rakudo-moar 94d83c: ( no output )
12:24 tinyblak joined #perl6
12:24 nine After updating Rakudo I get "Missing serialize REPR function for REPR VMThread" when doing perl6 rebootstrap.pl in panda
12:25 grondilu m: for ^my @ = 10000000000 { last }  # this hangs locally
12:25 camelia rakudo-moar 94d83c: ( no output )
12:25 grondilu This is perl6 version 2014.08-271-g94d83c1 built on MoarVM version 2014.08-105-gc12720f
12:25 moritz so you're on the same version as camelia
12:26 grondilu m: say $*VERSION
12:26 camelia rakudo-moar 94d83c: OUTPUT«Dynamic variable $*VERSION not found␤  in method gist at src/gen/m-CORE.setting:13374␤  in sub say at src/gen/m-CORE.setting:14896␤  in block <unit> at /tmp/6QTw6wo5aF:1␤␤»
12:26 FROGGS nine: is it your thread that tries to serialize a VMThread?
12:27 FROGGS m: say $*VM
12:27 camelia rakudo-moar 94d83c: OUTPUT«moar (2014.8.105.gc.12720.f)␤»
12:27 nine FROGGS: err...no: Compiling lib/Shell/Command.pm to mbc
12:27 nine ===SORRY!===
12:27 nine Missing serialize REPR function for REPR VMThread
12:27 * grondilu tried again and did not hang.  Is confused.
12:27 BizarreCake joined #perl6
12:27 moritz nine: did you 'make install' in rakudo?
12:28 grondilu lol
12:28 grondilu forgot ^
12:28 FROGGS uff
12:28 FROGGS Compiling lib/Shell/Command.pm to mbc
12:28 FROGGS ===SORRY!===
12:28 FROGGS Missing serialize REPR function for REPR VMThread
12:28 grondilu m: for ^my @ = ^10000000000 { last }  # this hangs locally
12:28 FROGGS moritz: I did
12:28 camelia rakudo-moar 94d83c: OUTPUT«(timeout)»
12:28 grondilu n: for ^my @ = ^10000000000 { last }
12:29 camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
12:29 nine moritz: yes
12:30 FROGGS nine: I fear that one wants to be bisected... though, I need to go now :(
12:31 moritz ok, I get the error too
12:32 lizmat jnthn / TimToady: I'm not sure we should call this DESTROY
12:32 lizmat lurking again&
12:33 carlin .EXTERMINATE would make dalek happy
12:40 moritz http://www.perlmonks.org/?node_id=1099742 # I was very amused
12:42 Timbus m: { say BEGIN { "hi" }; say ENTER { "hi2" } }
12:42 camelia rakudo-moar 94d83c: OUTPUT«hi␤Nil␤»
12:42 jerrycheung joined #perl6
12:48 firefish5000 m: grammar anyanyany { rule TOP { [ .* ]* }; }; my $txt="astring"; my $parse=anyanyany.parse($txt);
12:48 camelia rakudo-moar 94d83c: OUTPUT«(timeout)»
12:48 firefish5000 m: grammar anyany { rule TOP { .* }; }; my $txt="astring"; my $parse=anyany.parse($txt);
12:48 camelia rakudo-moar 94d83c: ( no output )
12:48 firefish5000 why does the first timeout?
12:51 jerrycheung joined #perl6
12:53 [Coke] FROGGS: "bump parrot_revision to spot fallout" note that we haven't had a clean run of parrot's spectest in over a week.
12:54 grondilu m: say first * > pi, (0, pi/30 ... pi)
12:54 camelia rakudo-moar 94d83c: OUTPUT«3.14159265358979␤»
12:54 grondilu n: say first * > pi, (0, pi/30 ... pi)
12:54 camelia niecza v24-109-g48a8de3: OUTPUT«3.141592653589794␤»
12:56 kaleem joined #perl6
12:56 kaleem joined #perl6
12:57 leont «'Session::Console::Parallel' cannot inherit from 'Session::Console' because it is unknown.», I just defined SC directly above SCP, I don't understand
13:01 grondilu m: my $x = "3"; say 10 div $x;  # thought that would work
13:01 camelia rakudo-moar 42657f: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b --> int)␤  in block <unit> at /tmp/YpHBFhhMEG:1␤␤»
13:01 grondilu n: my $x = "3"; say 10 div $x;
13:01 camelia niecza v24-109-g48a8de3: OUTPUT«3␤»
13:01 grondilu niecza is right here, isn't it?
13:01 [Coke] needs a coercion in the signature, maybe.
13:02 moritz nope; rakudo is correct by spec
13:03 moritz infix:<div> is specifically for numeric operands of the same type
13:03 grondilu ok
13:05 rindolf joined #perl6
13:05 [Coke] moritz: I don't see that mentioned in infix:<div>, integer division in S03.
13:09 moritz [Coke]: then I don't know where I got that piece of information from
13:11 guru joined #perl6
13:12 moritz http://irclog.perlgeek.de/​perl6/2011-10-01#i_4507929
13:13 [Coke] TimToady: ^^ If you are to believed, you might want to spec that.
13:16 nine FROGGS: fcb76038aa81a885102802f7284b4f33db183f39 is the first bad commit
13:17 FROGGS[mobile] joined #perl6
13:17 nine FROGGS: fcb76038aa81a885102802f7284b4f33db183f39 is the first bad commit
13:17 FROGGS[mobile] nine: can you give me the link to the commit?
13:18 JimmyZ https://github.com/rakudo/rakudo/commit/​fcb76038aa81a885102802f7284b4f33db183f3
13:19 FROGGS[mobile] JimmyZ: thanks
13:19 moritz "Bump to get nqp::settypefinalize" bumps NQP_REVISION from 2014.08-40-g770a671 to 2014.08-43-g367d379
13:20 FROGGS[mobile] so we need to bisect moarvm
13:20 FROGGS[mobile] (unless it is not obvious from that range)
13:21 FROGGS[mobile] if*
13:21 brrt joined #perl6
13:21 vendethiel- joined #perl6
13:23 * lizmat nuked the nqp and install dir completely and is rebuilding now
13:31 dalek specs: 5f288e5 | (Elizabeth Mattijsen)++ | S28-special-names.pod:
13:31 dalek specs: Add paragraph about lazily populating $*FOO
13:31 dalek specs: review: https://github.com/perl6/specs/commit/5f288e5036
13:32 lizmat ok, built now, still hangs   :-(  :-(  :-(
13:32 nine Having Rakudo, nqp and MoarVM in separate repos makes bisecting really difficult.
13:32 lizmat $ perl6 -v
13:32 lizmat This is perl6 version 2014.08-276-g546f9f5 built on MoarVM version 2014.08-105-gc12720f
13:33 brrt should be new enough...
13:33 FROGGS[mobile] nine: at least you can rebuild moar without rebuilding anything else...
13:33 moritz nine: but imagine if parrot and MoarVM were in the same repo together with rakudo :-)
13:33 lizmat oddly enough, it doesn't eat any memory *or* CPU when it hangs
13:33 FROGGS[mobile] nine: try that with parrot
13:34 lizmat so it feels like some kind of deadlock
13:34 moritz but, here's a nice idea
13:34 moritz build a "monster" git repo (probably with subtree) that consists of rakudo + nqp + moarvm, plus references to the original commits
13:34 moritz and then you can bisect in the monster repo
13:34 JimmyZ lizmat: you didn't do `make realclean` in MoarVM repo?
13:35 nine FROGGS[mobile]: doesn't help me much when I get "Unhandled exception: Missing or wrong version of dependency '/home/nine/install/rakudo/i​nstall/lib/MAST/Nodes.nqp'" after rebuilding MoarVM
13:35 lizmat I completely re-downloaded MoarVM
13:35 lizmat that should be clean enough ???
13:35 brrt hmm yeah
13:35 JimmyZ weird
13:36 FROGGS[mobile] nine: Mast::Nodes almost never changes
13:36 * brrt will try a clean os x build
13:36 brrt tomorrow
13:36 nine FROGGS[mobile]: I guess I'm just lucky then :) Have no idea how to proceed on this...
13:36 nine lizmat: there should actually never ever be a reason to re-download. git clean -ffdx should be enough.
13:37 FROGGS[mobile] nine: I can do that this evening
13:37 lizmat nine: agree, but I wanted to be 200% sure  :-)
13:37 FROGGS[mobile] nine: that does not clean submodules
13:37 brrt nine: nqp detects your reinstallation of moar, isnt sensitive to the acti
13:37 brrt actual version
13:38 brrt if you try to rebuild nqp then it will :-)
13:41 lizmat starting now with a fresh clone of rakudo  :-(
13:43 anaeem1 joined #perl6
13:43 FROGGS[mobile] lizmat: that's insane
13:43 nine 2eee415 is good
13:44 FROGGS[mobile] (not you, the situation)
13:44 lizmat well, yes.. I agree
13:44 lizmat but it is blocking an other wise very fruitful hacking day  :-(
13:45 FROGGS[mobile] lizmat: did you reboot your machine already? Justin Case
13:45 lizmat that will be the next thing I try
13:45 anaeem1 joined #perl6
13:49 guru joined #perl6
14:00 lizmat completely clean build also hangs, rebooting now..
14:01 lizmat joined #perl6
14:01 raiph joined #perl6
14:02 lizmat ok, still hanging after reboot on a clean git clone...
14:03 nine FROGGS[mobile]: disregad the privious. This should be it:
14:03 nine d05d411e968b3408420bbc7b02c1248f3dc005de is the first bad commit
14:03 nine https://github.com/rakudo/rakudo/commit/​d05d411e968b3408420bbc7b02c1248f3dc005de
14:04 nine lizmat: seems like your "Add initializer for @*INC and %*CUSTOM_LIB" breaks panda's bootstrap
14:04 lizmat then panda is probably naught in checking PROCESS::<@INC> rather than @*INC
14:04 lizmat *naughty
14:05 lizmat nine: could that be the case ?
14:08 brrt joined #perl6
14:08 guru joined #perl6
14:09 lizmat hmmm.. seems like panda is only checking CUSTOM_LIB
14:09 lizmat that needs DISTRO, and that hangs for me... :-(
14:09 lizmat nine: what goes wrong with panda's bootstrap ?
14:10 jnthn lizmat: What hangs, ooc? Something local or something committed?
14:10 lizmat a clean git clone and build of rakudo
14:10 lizmat $ perl6 -e 'say qx/foo/'
14:11 lizmat /bin/sh: foo: command not found
14:11 lizmat and then hangs
14:11 lizmat no CPU usage of note, not memory increase
14:12 jnthn No hang here...
14:12 brrt weird...
14:12 jnthn Just pulled latest; building
14:12 tinyblak joined #perl6
14:13 leont m: sub foo(Int :@all) { }; foo()
14:13 camelia rakudo-moar 546f9f: OUTPUT«cannot stringify this␤  in sub foo at /tmp/pT0JKTtWUG:1␤  in block <unit> at /tmp/pT0JKTtWUG:1␤␤»
14:13 leont ^ not a very useful error :-/
14:13 moritz agreed.
14:13 jnthn lizmat: Not even on latest
14:14 moritz leont: avoid typed arrays. They only cause pain.
14:14 jnthn That also. But I suspect whatever is happening, is happening when trying to generate an error.
14:15 leont I was suspecting the same
14:15 leont Still, I like types
14:16 lizmat https://gist.github.com/li​zmat/956f714d31f0bc43e6c5   # spindump
14:16 leont Giving it an explicit default value of Array[Type].new seems to work around the issue
14:18 moritz p6: sub foo(Int :@all) { }; foo()
14:19 camelia rakudo-jvm 546f9f: OUTPUT«(timeout)»
14:19 camelia ..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  @all is declared but not used at /tmp/tmpfile line 1:â�¤------> [32msub foo(Int :[33mâ��[31m@all) { }; foo()[0mâ�¤â�¤Â»
14:19 camelia ..rakudo-parrot 546f9f: OUTPUT«Type check failed in binding @all; expected 'Positional[Int]' but got 'Array'␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
14:19 camelia ..rakudo-moar 546f9f: OUTPUT«cannot stringify this␤  in sub foo at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
14:19 moritz to me it looks like a bug during error reporting
14:20 lizmat jnthn: could the uvlib upgrade have something to do with it ?
14:22 PZt joined #perl6
14:23 jnthn lizmat: Quite possible
14:24 lizmat jnthn: the first thread in https://gist.github.com/li​zmat/956f714d31f0bc43e6c5 shows some very deep uvlib trace
14:24 dalek rakudo/nom: cfd96ca | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
14:24 dalek rakudo/nom: Fix some broken cases of bind error reporting.
14:24 dalek rakudo/nom:
14:24 dalek rakudo/nom: Reported by leont++.
14:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cfd96ca623
14:25 lizmat the lck_mtx_sleep feels like we're deadlocking
14:26 Px12 joined #perl6
14:26 molaf joined #perl6
14:27 carlin m: sub foo returns Array[Str] { my Str @a; return @a }; foo # speaking of typed arrays...
14:27 camelia rakudo-moar 546f9f: OUTPUT«Type check failed for return value; expected 'Array[Str]' but got 'Array[Str]'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:646␤  in sub foo at /tmp/1wvh8YLNk2:1␤  in block <unit> at /tmp/1wvh8YLNk2:1␤␤»
14:29 anaeem1_ joined #perl6
14:29 jnthn lizmat: Um, how the heck has libuv managed to create 4 threads here? :/
14:29 treehug88 joined #perl6
14:30 lizmat running an external process may do that ?
14:30 jnthn Maybe.
14:30 jnthn But 4? :)
14:30 Px12 joined #perl6
14:30 jnthn All sat in select..
14:30 lizmat the code I ran was 'qx/foo/'
14:30 lizmat yup
14:31 lizmat deadlock city, it appears ?
14:31 FROGGS[mobile] joined #perl6
14:32 jnthn It's not clear it's deadlock, in that there's no other thread seemingly holding a lock
14:32 SamuraiJack_ joined #perl6
14:32 mberends joined #perl6
14:32 jnthn More like it's done a context switch and marked the thread as blocking on something...
14:32 nine lizmat: "Missing serialize REPR function for REPR VMThread" when doing perl6 rebootstrap.pl in panda
14:33 moritz carlin++ # pandamonium
14:33 jnthn lizmat: Either way, it's blocking on *something*
14:33 jnthn (A read, it seems)
14:33 lizmat trying to read the STDOUT of the process??
14:33 masak stray thought: I think the Perl 5 people are still the group most likely to produce early adopters for us. I'd use the word "migrate", but that implies you can only be in one language camp at a time.
14:34 mberends :-) IRC works on the classroom LAN in Brussels
14:34 yoleaux 2 Sep 2014 08:27Z <timotimo> mberends: have these debian arm laptop special interest group looked closely at the Pyra? the Open Pandora successor? it'll be quite beefy indeed
14:34 masak mberends! \o/
14:34 jnthn lizmat: That'd be my guess, yes
14:35 lizmat hmmm...  rebootstrap.pl in panda is also doing a lot of shelling
14:35 mberends masak!
14:35 lizmat perhaps nine is seeing the same underlying issue ?
14:36 jnthn Doesn't feel like it.
14:36 lizmat shell() seems to work ok
14:36 jnthn And run?
14:37 lizmat run also ok
14:37 lizmat $ perl6 -e 'run "sw_vers"'
14:37 lizmat ProductName:Mac OS X
14:37 lizmat ProductVersion:10.9.4
14:37 lizmat BuildVersion:13E28
14:37 ajr joined #perl6
14:37 lizmat is brrt on OS X ?
14:37 lizmat duh, no, he isn't  :-)
14:38 jnthn OK, so it's something about the read of the process stdout
14:38 lizmat wondering where qx is handled in the settings
14:38 moritz src/core/control.pm:sub QX($cmd)
14:39 jnthn And apparently something OS X specific...
14:39 mberends timotimo: the Pyro was not mentioned, but certainly deserves a look.  A 64-bit ARM laptop seems to be an idea whose time has come, so there could be multiple projects to make them. That means duplication of effort, but each one will contain different ideas.  The Debian approach will focus on having 100% Open Source design, thus making it "safer" in some peoples' eyes.
14:39 chenryn joined #perl6
14:40 moritz mberends! Long time no see!
14:40 lizmat putting some debug code in QX
14:41 moritz there are only three places it might reasonably hang
14:41 moritz openbpipe, readallfh, closefh
14:41 lizmat jnthn: it seems to hang on my $result = nqp::p6box_s(nqp::readallfh($pio));
14:42 mberends hi moritz, nice to see you again!  I'm beginning to learn to be a Debian Maintainer for Perl :-)
14:43 moritz mberends: cool
14:43 masak what do people think about my suggestion in RT #122679 -- to add a prefix:<< ==> >> op that'll give a decent error message for the hapless people who inadvertently put a "}\n" before their "==>" ?
14:43 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122679
14:43 moritz mberends: I've started to try to build a debian package for MoarVM, but so far it's an utter fail
14:43 moritz (branch moritz/debian)
14:45 mberends moritz: thanks, I'll clone that as something to practice with :-)
14:45 nine lizmat: I've now confirmed that reverting your d05d411e968b fixes panda's bootstrap
14:45 timotimo mberends: the Pyra is also mostly (or even completely!) open source
14:46 lizmat nine: I'm afraid I can't look at it now, as nothing works for me now  :-(
14:47 moritz mberends: you need to build with 'dpkg-buildpackage -B', because building the source package is completely broken
14:47 jnthn lizmat: Yes, it being readall matches the stack trace...
14:48 mberends moritz: okay, thanks for the tip
14:48 jnthn lizmat: If you go back to a MoarVM before the libuv update, we can see if that's certainly to blame...
14:51 timotimo huh. the yapceu youtube account still only has the videos from the other room
14:51 mberends timotimo: yes, http://www.pyra-handheld.com/ says "as open as possible".
14:51 timotimo ah, right
14:51 mberends decommute &
14:52 JimmyZ_ joined #perl6
14:52 mberends left #perl6
14:52 dalek rakudo/nom: 11d7482 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
14:52 dalek rakudo/nom: Revert "Add initializer for @*INC and %*CUSTOM_LIB"
14:52 dalek rakudo/nom:
14:52 dalek rakudo/nom: Need to figure out what's breaking panda first
14:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/11d7482548
14:52 lizmat nine: ^^
14:53 lizmat jnthn: what would be the best way of doing that ?
14:54 nine lizmat: thanks, should work
14:54 * moritz tries too
14:55 guru joined #perl6
14:55 jnthn lizmat: Revert fce509b and 8a98741 in MoarVM repo, and do a make realclean, then re-Configure and install it.
14:55 jnthn I *think* that would be sufficient
14:56 moritz yes, panda (re)bootstrap works again, lizmat++
14:57 lizmat and we also lost .035 on startup  :-(
14:57 nine lizmat: only until you find the bug
14:57 jnthn lizmat: Aye, though we now also to get most of the way to having that win
14:57 jnthn lizmat: And that it actually is one.
14:58 lizmat hmmm... if I look in my nqp/MoarVM dir, there is an uncommitted change
14:58 lizmat is that to be expected?
14:58 lizmat in 3rdparty/libuv
14:58 lizmat -Subproject commit 666aa2f0683dc8b80954c01e5799d476e4068350
14:58 lizmat +Subproject commit 49cb40c47902dd04c7787e6543e9e13368dc1840
14:59 moritz uhm
14:59 moritz it means the subproject wasn't updated to the desired version (iiuc)
14:59 hoelzro morning #perl6
15:00 lizmat moritz: so, should I revert that change and see what happens ?
15:01 lizmat hmmm... I can't stash the change ?
15:01 moritz lizmat: 'git submodule update'
15:02 lizmat diff disappears then
15:02 moritz make realclean, Configure.pl
15:02 moritz see what happens :-)
15:03 lizmat building again...
15:04 dalek Inline-Perl5: 6cd2ce7 | Carlin++ | / (4 files):
15:04 dalek Inline-Perl5: add build scripts
15:04 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/6cd2ce7c66
15:04 dalek Inline-Perl5: 6214761 | Carlin++ | lib/Inline/Perl5.pm6:
15:04 dalek Inline-Perl5: work around is native() applying at compile time
15:04 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/6214761201
15:04 dalek Inline-Perl5: ba95dfb | Carlin++ | .gitignore:
15:04 moritz let's build again, like we did last summer
15:04 dalek Inline-Perl5: add generated files to .gitignore
15:04 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/ba95dfb58c
15:04 dalek Inline-Perl5: 0e52591 | niner++ | / (6 files):
15:04 dalek Inline-Perl5: Merge pull request #1 from carbin/pandamonium
15:04 dalek Inline-Perl5:
15:04 dalek Inline-Perl5: Make buildable with Panda
15:04 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/0e525916fb
15:04 * moritz sings
15:04 leont Is there any code I can look at to figure out (synchronous) pipe open?
15:05 moritz carlin, nine: I think we also need a META.info file in Inline-Perl5, no?
15:05 lizmat leont: src/core/control.pm, sub QX ?
15:05 tinyblak joined #perl6
15:06 moritz that's synchronous though
15:06 lizmat moritz: that's what leont asked, no ?
15:06 nine moritz: for sure
15:06 moritz oh
15:06 * moritz can't read anymore, and should go homoe
15:06 moritz *home
15:06 moritz typing is hard, too.
15:07 lizmat interesting: it now hangs on building the restricted setting  :-(
15:07 lizmat I'm getting to the point of saying AARRARARARHAGJHGKJGHSKGHJDHAGklj;/slravudk;gfoi.yv op;qiy3cpr0793[019mxz,.
15:09 timotimo lizmat: would it help any to be hacking based on a commit from a week ago or something, and later when we've figured out what's going wrong here, you merge or rebase?
15:09 lizmat not yet  :-)
15:10 nine carlin: I now get "Type check failed for return value; expected 'Inline::Perl5' but got 'Whatever'" from all test files. 6214761201d566f7f0b9f4108c3444e860facd99 is the first bad commit
15:10 lizmat first trying with 2 reverts that jnthn mentioned
15:10 nine https://github.com/rakudo/rakudo/commit/​6214761201d566f7f0b9f4108c3444e860facd99
15:10 timotimo OK
15:10 leont lizmat: isn't there anything more readpipe like? Preferably I want to read line-by-line and then waitpid, but if there's nothing else I suppose this will have to do.
15:10 timotimo nine: did you do the sub foobar() is native { * } to sub foobar() is native { ... } transformation?
15:11 lizmat src/core/IO/Handle.pm, method lines ?
15:11 carlin wasn't the native { * } problem fixed in rakudo?
15:11 timotimo not sure
15:12 nine timotimo: I thought that is already fixed? Anyway doing that seems to help.
15:12 hoelzro leont++ # TAP::Harness
15:13 nine The bad commit is https://github.com/niner/Inline-Perl5/commi​t/6214761201d566f7f0b9f4108c3444e860facd99
15:13 leont lizmat: what would work for the input, but I'd need the return value of the process too :-/
15:13 timotimo i'm looking for hints for the weekly for stuff that's been done which i wouldn't find in the usual repositories (roast, specs, moarvm, nqp, rakudo)
15:13 nine I guess your sub native trick does somehow remove the magic from is native { * }
15:14 carlin nine: what rakudo version are you using?
15:14 lizmat grr... something ate my reverts in MoarVM
15:15 leont hoelzro: thanks :-D
15:15 nine carlin: nom (11d7482548c8)
15:15 hoelzro no, thank you!
15:15 * lizmat is going to get some fresh air while cycling&
15:15 hoelzro I want to start writing a test tester module after work today, and you saved me the effort of doing TAP::Parser myself =)
15:16 ajr_ joined #perl6
15:16 hoelzro META.info doesn't differentiate between testing and runtime dependencies, does it?
15:18 jnthn leont: I'm guessing you're looking for a synchronous versoin of IO::Proc::Async?
15:18 jnthn uh, Proc::Async...
15:19 * jnthn noticed while writing that, that somehow we've ended up with async more capable than sync with process stuff now...
15:20 leont Proc::Async is the thing I want to target, but I was hoping to have some other backend while P::A is getting ironed out
15:20 doug_ joined #perl6
15:20 carlin nine: uh. the native { * } fix was specific to postcircumfix:<( )>, so code that uses trait_mod to make it native doesn't benefit from it
15:21 jnthn Yes, you're it's first actual user besides my various demos, and then I only really needed it to run and get the termination Promise kept later...
15:21 jnthn *its
15:22 dalek features: 7efe869 | (Carl Mäsak)++ | features.json:
15:22 dalek features: add DESTROY
15:22 dalek features:
15:22 dalek features: As it was just implemented by Moar.
15:22 dalek features: review: https://github.com/perl6/f​eatures/commit/7efe86918a
15:22 jnthn Guess I should queue up doing the synchronous version that has the same capabilities...
15:23 masak I notice DESTROY is not mentioned once in the spec, btw.
15:23 flussence last time I looked for it, it was mentioned exactly once...
15:24 leont open :p comes close, but it's not communicating the pid to the outside world (and I'm not sure we have a waitpid yet anyway)
15:24 jnthn Yeah, it got accidentally removed...
15:24 leont p5 cheats by making the (always true) pid the return value of open, not sure how to communicate that in an open. Probably it needs to be somewhere else anyway, IO::Pipe would be more sensible.
15:25 japhb FWIW re: Proc::Async, I haven't used it yet because r-j doesn't support it, and r-m still goes crashy-crashy on my code that could really benefit from it.  :-(
15:26 japhb I'm trying to figure out how I would even create a test that I could post that would expose the r-m crashiness, but it's hard to write completely fresh code (such that I can make it public) that crashes in the same way.
15:26 jnthn japhb: Yes, and guess what the bus number on the code is :/
15:26 japhb *sigh*
15:27 japhb If my $day-job was just Perl 6 work, I'd be all over increasing that bus number.
15:27 jnthn I suspect leont++'s TAP::Harness work may give me a more public source of things I can use to try and stress it with...
15:27 japhb I hope so.
15:28 japhb It is frustrating not being able to just say "Here's my actual code, let's pair-debug that crash into the ground."
15:29 timotimo i wonder if we'll get weak references/hashes/lists at some point in the near future
15:29 jnthn timotimo: No.
15:29 timotimo not quite sure how to teach MoarVM's GC that ... you have to give the pointer's address to the GC in order for it to track moving objects
15:30 timotimo but then the GC will also consider the targetted object "necessary"
15:30 jnthn As with the rest of Moar's GC, you do it by first reading the appropriate chunks of the GC handbook :P
15:30 timotimo ah, of course :)
15:33 timotimo i'm not 100% clear on the change that changes parcel flattening behavior
15:34 dalek rakudo-star-daily: c99b1f5 | coke++ | log/ (12 files):
15:34 dalek rakudo-star-daily: today (automated commit)
15:34 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/c99b1f5744
15:34 dalek perl6-roast-data: 7ef5987 | coke++ | / (6 files):
15:34 dalek perl6-roast-data: today (automated commit)
15:34 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/7ef59870bb
15:34 * lizmat reiterates that it shouldn't be called DESTROY
15:34 lizmat as it will put too many p5ers on the wrong foot
15:35 * jnthn doesn't actually care what it's called, and leaves it to language design :)
15:36 jnthn Well, if you call it ELEPHANTWILLY then I'll mind, but...
15:36 [Coke] conservation of backends: rakudo.jvm is now only failing 185 tests (down from 31459), but rakudo.moar and rakudo.moar-jit are failing 138. parrot holding steady int he 280s.
15:36 jnthn Note the name changes will only need changes in Finalization role, in one place, so it's very cheap to switch it to a new name. :)
15:36 lizmat afk&
15:37 jnthn o/ lizmat
15:37 [Coke] S32-temporal/DateTime.rakudo.moar aborted 108 test(s) <- most of the rakudo.moar failures.
15:37 jnthn Hmm...wonder what bbusted that...
15:37 lizmat could be the initializer for $*TZ
15:37 lizmat can't test right now..  :-(
15:38 lizmat really afk&
15:38 [Coke] ... actually all 3.5 backends are failing that test that way.
15:38 jnthn Passes all 219 tests for me here
15:38 [Coke] jnthn: try in a cron-like no-env setting.
15:39 jnthn [Coke]: Er...in Windows-speak? :)
15:39 [Coke] (though it could be a linux/windows diff). let me check on OS X.
15:39 jnthn [Coke]: I ran it under prove, fwiw. Same outcome.
15:39 geekosaur service? DETACH?
15:39 [Coke] jnthn: when I run the tests, I do it from the scheduler; so any user-level ENV vars are not set.
15:40 jnthn [Coke]: ah, I see...
15:40 masak lizmat: I think it should be called DESTROY. a lot of things don't have exactly the same semantics in Perl 6 as in Perl 5. we expect developers to be responsible enough to figure out when semantics differ. and the *purpose* hasn't changed between Perl 5's DESTROY and Perl 6's.
15:40 lizmat masak: disagree, the purpose in Perl 6 *is* different
15:41 [Coke] rant: submodules suck.
15:41 lizmat DESTROY in P5 is for timely release of internal *and* external resources
15:41 lizmat P5 people depend on DESTROY to release database handles timely
15:41 lizmat so the database server doesn't get clogged with too many database connections
15:41 PerlJam good * #perl6
15:41 lizmat P6 will never do that
15:41 lizmat in P6, it's only for release of *internal* resources only
15:42 masak I hear what you're saying, but I don't see how that makes DESTROY an unsuitable name.
15:42 lizmat and only when the system thinks it's a good idea
15:42 leont hoelzro: actually, in my latest plans you might even be able to skip the parsing itself
15:42 hoelzro leont: oh? how's that?
15:42 lizmat masak: because DESTROY has a timely component in it for most of the Perl world
15:42 leont Or actually, the lexer
15:42 lizmat if you want timely, you need to do things yourself
15:43 masak yes -- *that* is what we should teach people.
15:43 leont In the parser I'm converted the datastream into Entry objects (Plan, Test, Comment), and then the parser interprets those
15:43 perl78 joined #perl6
15:43 perl78 hello
15:43 masak who knows, maybe naming it DESTROY will even make *more* p5ers come and ask us in surprise why it doesn't behave the way they expect.
15:43 lizmat naming it DESTROY is going to be a WAT for a lot of people, at the wrong part of the development cycle: namely in production :-(
15:43 leont If Test has a Test::Builder behind it, you can feed that to a parser object without any data-stream being involved
15:43 masak perl78: I dig that nick. you're way ahead.
15:44 hoelzro cool
15:44 perl78 so i working on some perl6 idea and i was wondering, how does it handle big data?
15:44 jnthn .oO( TAP from the future doesn't say OK, it says AFFIRMATIVE )
15:45 * jnthn needs sleep; early $dayjob tomorrow
15:45 PerlJam perl78: faster than before, but slower t han we'd like?
15:45 jnthn 'night
15:45 timotimo gnite jnthn!
15:45 perl78 mmm, cool still
15:45 lizmat good night, jnthn
15:45 lizmat cycling&
15:45 PerlJam perl78: or ... it handles big data in parallel ... asynchronously.  :)
15:45 japhb 'night, jnthn
15:45 masak perl78: if you can process it line by line, without holding resources between lines, you should be able to scale right up!
15:46 PerlJam perl78: or ...  I need more context :-)
15:46 perl78 thats good
15:46 perl78 oh crap i got to go ttyl perl peeps
15:46 masak nice to meet you
15:49 hoelzro what's the difference between temp and my $*VAR?
15:49 PerlJam masak: having read the last few minutes of scrollback, I tend to agree with lizmat's assessment.  Having something with the same name but different semantics will mostly cause consternation and frustration.   Giving it a new name will (hopefully) allow us to have an unambigous token from which to hang the P6 semantics.
15:49 japhb .oO( Are perl peeps made out of marshmallow? )
15:49 masak lizmat: Perl 6's EVAL works differently from Perl 5's eval. (it is transparent to exceptions.) Perl 6's subs work differently from Perl 5's subs (they're lexical by default.) Perl 6's `our` scoping works differently from Perl 5's. (it's... weird.) Perl 6's do keyword is actually a completely new thing.
15:50 masak in all of these cases, there's the same name but different semantics. why is DESTROY a big problem but not these?
15:52 masak oh, and bless works differently but has the same name.
15:52 hoelzro m: my $f; sub f is rw { $f } ; f = 7
15:52 camelia rakudo-moar 11d748: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/86J7bdMeZB�Preceding context expects a term, but found infix = instead�at /tmp/86J7bdMeZB:1�------> [32mmy $f; sub f is rw { $f } ; f =[33m�[31m 7[0m�»
15:52 hoelzro ='(
15:53 japhb masak: The spelling of eval changed, so that flags to the user that it also has changed.  Lexicality is so fundamental to Perl 6 that people will be taught the new scoping early.  do is used relatively rarely in Perl 5, was always an annoyance, people will be likely to embrace the new do.  DESTROY, however, is a special nuisance because it is spelled uppercase, doesn't give any indication that you need to think about late GC, and generally is an attractive nuisan
15:53 hoelzro is that a 'kudobug?
15:53 japhb m: my $f; sub f is rw { $f } ; f() = 7
15:53 camelia rakudo-moar 11d748: ( no output )
15:54 masak hoelzro: no, just a listop expecting a term there.
15:54 hoelzro ah ha
15:54 hoelzro thanks japhb, masak
15:54 japhb np
15:54 masak lizmat, PerlJam, japhb: I still disagree, but I find the discussion interesting.
15:55 masak I think my hangup is simply that I like the name DESTROY and I'd hate to see it go.
15:55 masak fwiw, I disliked the renaming of EVAL, too. I still think it was a silly, useless, mostly political move.
15:55 PerlJam masak: how do you feel about CLEANUP or just CLEAN  :)
15:55 japhb Basically I think there are changes to meanings of things that are fundamental to the new way Perl 6 looks at the world, and these we can expect people to figure out.  But delayed GC isn't fundamental to Perl 6 -- it's just *allowed* by Perl 6.
15:55 masak PerlJam: I note that it's not a very good opposite of BUILD :)
15:56 timotimo we should call it DESTORY, so that p5ers will rightfully stumble over it and think twice ...
15:56 PerlJam masak: DISMANTLE?
15:56 PerlJam ;)
15:56 masak *sigh*
15:56 japhb CONFLAGRATE
15:56 PerlJam DEMOLISH
15:56 japhb DEFENESTRATE
15:56 PerlJam OBLITERATE
15:57 japhb PerlJam: Oooh, nice one
15:58 PerlJam masak: fwiw, I like DESTROY too.  But ... what japhb said.
15:58 masak japhb: I disagree about fundamental vs allowed by Perl 6. that's not how I interpret the history around that decision.
15:59 masak japhb: it's fundamental in the sense that the days of timely DESTROY and refcounted GC -- when you ran things on one thread and times were simpler -- are gone.
16:00 masak Perl 6 is the language of tomorrow (and always will be!) -- hence, it fundamentally orients itself towards not-so-timely GC.
16:00 masak and thus, fundamentally, its DESTROY doesn't guarantee timeliness.
16:00 masak it *does* however guarantee that your process will either terminate or eventually pick up your garbage.
16:00 kaleem joined #perl6
16:01 masak that's a pretty OK deal if you ask me. and it's something that we can teach new devs, including immigrants from p5.
16:01 masak and the exact name of DESTROY is more or less immaterial in that. (and I like the name, and it's hard to beat.)
16:01 leont japhb++ # defenestrate
16:02 masak leont: that one is obviously Windows-specific :)
16:04 PerlJam Perl 6 always being the language of tomorrow doesn't bode well.   Sounds like it's perpetually out of reach.
16:04 timotimo TEARDOWN?
16:04 ribasushi just out of curioisty - is a refcounted option available (like it is in C#)?
16:04 PerlJam RAZE
16:05 nine When I was looking for a destructor I assumed it would be called DESTROY. I didn't (and still don't) care when excactly it is called, just that it's called after the object went out of use. Which still is true in Perl 6 as it is in Perl 5. I'd guess that most Perl 5 developers are actually not that familiar with its refcounting.
16:05 PerlJam ribasushi: oh!  That's a good question.  I hadn't even consider it before.
16:05 ribasushi that is - yes, delayed GC is nice for performance, but refcounted GC allows some code that can not be written in any other way (I have actual examples)
16:06 dalek Inline-Perl5: a4efe46 | Carlin++ | lib/Inline/Perl5.pm6:
16:06 dalek Inline-Perl5: use { ... } instead of { * }
16:06 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/a4efe467e0
16:06 dalek Inline-Perl5: aa5bea3 | niner++ | lib/Inline/Perl5.pm6:
16:06 dalek Inline-Perl5: Merge pull request #2 from carbin/pandamonium
16:06 dalek Inline-Perl5:
16:06 dalek Inline-Perl5: use { ... } instead of { * }
16:06 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/aa5bea38fd
16:07 denis_boyun joined #perl6
16:07 dalek Inline-Perl5: 3f1cb2f | Carlin++ | META.info:
16:07 dalek Inline-Perl5: add META file for panda install
16:07 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/3f1cb2f8f7
16:07 dalek Inline-Perl5: 01542a3 | niner++ | META.info:
16:07 dalek Inline-Perl5: Merge pull request #3 from carbin/panda-meta
16:07 dalek Inline-Perl5:
16:07 dalek Inline-Perl5: add META file for panda install
16:07 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/01542a3143
16:07 masak PerlJam: re "perpetually out of reach" -- that's the joke, yes. and a very real risk. I see it sometimes when people come in and ask "will Perl 6..."
16:07 ribasushi masak: also I think whether DESTROY can be reused or not hinges on whether guaranteed GC will be available either now or at any point in the future
16:08 PerlJam nine: ooc, why { ... } instead of { * } ?
16:08 nine PerlJam: < carlin> nine: uh. the native { * } fix was specific to postcircumfix:<( )>, so code that uses trait_mod to make it native doesn't benefit from it
16:08 masak ribasushi: I... know parts of the answer, but I'm not the one who should answer that definitively.
16:08 PerlJam ah.
16:08 masak ribasushi: just-went-to-sleep jnthn probably is.
16:10 carlin nine: do you mind if I add Inline::Perl5 to panda's ecosystem?
16:12 firefish5000 does anyone else think that perl6's grammar is currently a bit picky (though, for the better from my experience)?
16:12 [Coke] belatedly: OBLUETERATE THEM
16:13 nine carlin: please do it :)
16:13 PerlJam firefish5000: picky how?
16:13 leont masak++ # good one :-p
16:15 masak firefish5000: ...no? :)
16:15 masak firefish5000: not knowing what you mean exactly, let me throw this in to save us both some time:
16:16 masak firefish5000: grammars are great, but you need to grow them against a corpus of passing/failing examples. that usually implies TDD/unit tests.
16:16 masak (the one exception that I know of is STD.pm6, which uses the spectest suite as its corpus. those are tests, but only incidentally in this case.)
16:17 * PerlJam was guessing that firefish5000 was meaning "picky" to describe things like requiring whitespace in certain contexts.
16:17 dalek ecosystem: c5048a6 | Carlin++ | META.list:
16:17 dalek ecosystem: add Inline::Perl5, nine++
16:17 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/c5048a66bc
16:18 masak if "picky" is the opposite of "lenient", then save us from most kinds of lenience. it leads to tears and gnashing of teeth in 10 cases out of 9.
16:18 firefish5000 ... I just realized im still not matching, properly...
16:19 masak 'night, #perl6
16:20 PerlJam good night masak.  Sleep well.  Dream well.  Be rested  ;)
16:20 PerlJam er, :)
16:21 timotimo http://p6weekly.wordpress.com/?p=​228&amp;shareadraft=540dd77a45b41 - need input for the parcel thingie - though other input is appreciated as well, of course.
16:23 btyler timotimo: do you do modules? I hacked this up quickly when someone mentioned markdown in p6, might be useful to someone: https://github.com/kanatohode​ts/p6-text-markdown-discount
16:23 btyler NativeCall is so great
16:24 Pleiades` joined #perl6
16:26 timotimo cool, i'll mention it :)
16:26 timotimo i only looked at the ecosystem repository, where i didn't see it show up :)
16:27 btyler yeah, I haven't stuck jansson or discount in there yet, still deciding how to make it easy for people to use (package a version of the native source with the repo? leave them responsible for installing it on their own? etc.)
16:28 timotimo yeah, that's a tough problem
16:29 timotimo for more than just perl6 modules
16:31 timotimo i'll be AFK for a bit; feel free to keep the feedback coming
16:35 * firefish5000 retracts his after reading S05 on <.ws>
16:36 firefish5000 s/his /his statement /
16:36 timotimo matching <.ws>* is always a fun experience
16:38 firefish5000 <.ws> was eating the newlines I was trying to match.
16:39 timotimo ah, yes
16:39 timotimo whitespace can make matching stuff quite fiddly
16:39 timotimo Grammar::Tracer is always quite helpful, I find
16:39 timotimo as is the Rakudo::Debugger
16:41 colomon +1 to Grammar::Tracer
16:41 carlin timotimo: I don't really mind but for consistency, s/carbin/carlin/g (or s/carlin/carbin/)
16:41 * colomon has had bad luck historically with Rakudo::Debugger
16:43 firefish5000 Are those builtin?
16:45 anaeem1_ joined #perl6
16:45 * firefish5000 googles them
16:49 firefish5000 Grammar::Debugger and perl6-debug.
16:49 mberends joined #perl6
16:50 kaare_ joined #perl6
16:52 * firefish5000 also has bad memories with the debugger (through his own fault).
16:57 timotimo OK :)
16:57 timotimo firefish5000: what you need is the Debugger Cmdline UI thingie
16:58 ajr joined #perl6
16:59 carlin panda's projects.json isn't updating again... Last-Modified: Wed, 03 Sep 2014 10:50:03 GMT
17:01 tadzik hmm, cron must be borked
17:02 ivanshmakov joined #perl6
17:03 timotimo oh, junctive operators are iffy?
17:04 timotimo m: say 1 !& 2
17:04 camelia rakudo-moar 11d748: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ngBNCneAi1�Cannot negate & because it is not iffy enough�at /tmp/ngBNCneAi1:1�------> [32msay 1 !&[33m�[31m 2[0m�»
17:04 timotimo seems like an LHF to fix in S99
17:04 timotimo (in the section "iffy")
17:05 jack_rabbit joined #perl6
17:05 colomon std: say 1 !& 2
17:05 camelia std 53b3ca6: OUTPUT«ok 00:01 123m␤»
17:05 colomon n: say 1 !& 2
17:05 camelia niecza v24-109-g48a8de3: OUTPUT«False␤»
17:05 timotimo interesting.
17:05 colomon rakudobug?
17:05 timotimo seems like
17:09 * grondilu notices lots of POD errors in S99:  S99-glossary.pod has 145 pod syntax errors.
17:09 timotimo hehe, look at the "NQP" entry of S99: Short for Not Quite Perl, a subset of Perl 6 suitable for tasks such as implementing "Rakudo". Targets "Parrot" and the "JVM", with work underway on targeting "MoarVM".
17:09 pmurias joined #perl6
17:10 pmurias one problem in regards to speccing DESTROY is that it's something to may/or may not be called at some point
17:10 pmurias according to the whims of the implementation
17:11 pmurias so it seems that it will be impossible to write non-implementation-specific tests for it
17:12 nine { my $foo = Foo->new; fumble($foo); } Will $foo->DESTROY be called at the end of this block?
17:12 vendethiel- pmurias: that's true for C++ destructors too, btw
17:12 vendethiel- an implementation is free not to call one if it's about to terminate the program
17:12 * vendethiel- toyes around with clion...
17:12 PerlJam nine: if you pass the option that tells the compiler to run the GC at the end of each block.
17:13 PerlJam nine: note, such an option probably does not currently exist.
17:13 timotimo the Rakudo entry also has a "(soon)" in front of MoarVM
17:13 sivoais joined #perl6
17:14 nine PerlJam: the correct answer is the same for Perl 5 and Perl 6: we don't know. fumble() could store the reference in some global variable.
17:15 dalek specs: a660c9b | grondilu++ | S99-glossary.pod:
17:15 dalek specs: Update S99-glossary.pod
17:15 dalek specs:
17:15 dalek specs: missing 2 in =head2 for fat comma
17:15 dalek specs: review: https://github.com/perl6/specs/commit/a660c9b0ca
17:15 gfldex joined #perl6
17:17 pmurias vendethiel-: after calling a foo method defined as "void foo() {Bar bar;}" isn't the Bar destructor always called?
17:20 timotimo LHF: http://rosettacode.org/wiki/Rosetta_Co​de/Rank_languages_by_popularity#Perl_6 ← replace the wget invocations with HTTP::UserAgent and compare the performance of recent moarvm releases against parrot releases ... or something like that :)
17:26 carlin could also make it use the API instead of scraping
17:26 timotimo could do that, aye
17:27 timotimo well volunteered for building a mediawiki api module ;))
17:28 carlin hmm, I might do that one day
17:28 dalek specs: 5e65af5 | grondilu++ | S99-glossary.pod:
17:28 dalek specs: Update S99-glossary.pod
17:28 dalek specs:
17:28 dalek specs: terminate <list|list context>
17:28 dalek specs: review: https://github.com/perl6/specs/commit/5e65af5c47
17:29 carlin sometime between now the heat death of the universe, or someone else doing it first
17:29 [Coke] moarvm build is busted on my os x box.
17:29 [Coke] hangs on building the restricted setting.
17:29 * [Coke] tries a cleaner build.
17:30 [Coke] rant: how to force a rebuild of nqp/moar from rakudo when you already have an installed verison?
17:31 [Coke] *version
17:31 timotimo usually you can just "make clean"
17:31 [Coke] I should be able to --force a rebuild from scratch, even if I already have an installed version.
17:31 timotimo my p6weekly post is published now, btw :)
17:32 [Coke] timotimo: I installed it somewhere else. now it's finding the installed version and saying "I don't need to rebuild that, you're fine"
17:32 dalek specs: 90e090d | grondilu++ | S99-glossary.pod:
17:32 dalek specs: Update S99-glossary.pod
17:32 dalek specs:
17:32 dalek specs: fix named link syntax
17:32 dalek specs: review: https://github.com/perl6/specs/commit/90e090d1bd
17:33 timotimo that's with --gen-nqp and --gen-moar?
17:33 timotimo in that case, you can just cd into that directory and build anew
17:33 gmunoz joined #perl6
17:36 [Coke] so, if we were to keep a summarized version of the information we just provided to kid51, where would we keep it? perl6.org?
17:36 tadzik rakudo.org?
17:36 [Coke] that is, "what is the current status of rakudo on the JVM"
17:36 timotimo uh, kid51? what did i miss?
17:36 tadzik it's rakudo-specific after all
17:36 timotimo oh, that was on the users mailing list
17:36 liztormato joined #perl6
17:37 liztormato [Coke]: Welcome to the club
17:37 [Coke] I'd like it to be mostly automated; does rakudo.org have some way to write code?
17:37 [Coke] liztormato: ah, didn't realize I was on a tape delay. :) Glda to have caught up. :)
17:37 liztormato See my rant of earlier today
17:38 liztormato So. OS X is busted. ;-(
17:38 carlin it works for everyone else... you OS X users are nothing but trouble :p
17:38 timotimo oh, there's of course also the "clean rebuild" problem ...
17:38 telex joined #perl6
17:38 liztormato Cycling again&
17:38 liztormato left #perl6
17:40 [Coke] timotimo: right. I can't do a clean rebuild without blowing away my installed version.
17:42 timotimo you ... can't?
17:42 anaeem1_ joined #perl6
17:44 vike joined #perl6
17:46 flussence joined #perl6
17:52 japhb timotimo: +1 to a benchmark post.  Especially if you've got history to show.  I'm betting history graphs will show a hockey stick at this point.
17:53 timotimo i fear the real hockey stick moment will have to wait for the list iteration refactor.
17:53 japhb timotimo: Yeah, when that happens, the current jumps will look like just the curve at the corner of the stick.
17:54 timotimo OK :)
17:54 timotimo oh
17:54 timotimo when i moved my system from hdd to ssd, i didn't move over the components tree
17:55 japhb Ah.
17:56 japhb Well, at least with the networking optimizations, it should "just" take you an a chunk of time to do the actual compiles.  And `bench quickstart` can at least get you away from the keyboard right at the outset, rather than having to enter new commands every few minutes.
17:56 timotimo i used to prefer running historical versions again ...
17:57 timotimo oh, quickstart! i forgot about that!
17:57 timotimo that will also run benchmarks for me, won't it?
17:57 japhb Yeah.
17:57 japhb It basically churns for a while and produces your first historical comparisons.
17:58 timotimo OK, i'll shut down some programs and get off the keyboard for a bit :)
17:58 tadzik blasphemy!
17:58 japhb It's harcoded to do just < perl5 nqp-moar rakudo-moar >, but that's just a one-line change.  Or you could make it an option.  :-)
17:58 timotimo hm, did we actually switch moarvm to enable the jit by default nowadays?
17:58 timotimo anyway. bbl :)
17:59 japhb timotimo: Nope, and I believe we should.
17:59 tadzik +1
18:00 japhb (My only open question is whether there's still any point in being able to disable the JIT during VM build, since you can always disable at run time.)
18:00 timotimo right
18:01 japhb But I'm fine with step 1 being to flip the default, and a later step 2 being to get rid of the option entirely
18:01 * japhb is in favor of keeping Configure.pl clean of will-never-really-be-used options
18:05 rindolf joined #perl6
18:08 [Coke] timotimo: no, I can't - how can I force a rebuild of nqp if a recent enough version is already installed?
18:09 nine Is NativeCall known to be memory leak free?
18:09 [Coke] (though I'm more concereda bout moar - want a fresh checkout to build from because submodules suck)
18:10 gmunoz_ joined #perl6
18:13 [Coke] r: say &die ~~ Callable
18:13 camelia rakudo-{parrot,jvm,moar} 11d748: OUTPUT«False␤»
18:15 molaf_ joined #perl6
18:18 japhb [Coke]: I keep master repos of each piece (moar, parrot, nqp, rakudo, panda, etc.), then in my update-rakudo script, I pull each master repo, local-clone them into the right places in my actual build area, and build them there fresh.  Essentially I end up doing for my normal Rakudo builds the kind of trick perl6-bench does to reduce network traffic, with the side effect of getting really-truly-clean builds.
18:18 japhb .oO( Take off and nuke it from orbit.  It's the only way to be sure. )
18:19 japhb Speaking of which, does rakudobrew do this yet?  That might push me to stop keeping a local ad-hoc solution for this.
18:20 tadzik does what?
18:21 tadzik oh, it doesn't do local-cloning
18:21 japhb tadzik: It's really worth it.  :-)
18:21 tadzik it's a big saving, I agree
18:21 tadzik patches welcome :)
18:22 japhb And getting really-clean builds each time is very nice too, because then build problems are rarer and more reproducable when they do happen.
18:23 japhb All right, fair enough, I'll put that on my "if looking for some mental escape" list, but of course I'm happy to be scooped.
18:23 anaeem1 joined #perl6
18:24 * japhb ponders whether to work on the stuff he probably should have already completed, or the stuff that will make next week much easier ....
18:26 dalek Inline-Perl5: c2a9fb1 | nine++ | / (2 files):
18:26 dalek Inline-Perl5: Fix refcnt of SVs returned from Perl 5 functions to Perl 6
18:26 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/c2a9fb1e25
18:28 leedo am i alone in having trouble building moar rakudo? it hangs building RESTRICTED.setting
18:29 japhb leedo: Did you try a 'make realclean' in each repo first, before building?
18:29 leedo i'll give that a try, but i did nuke my nqp and install directories
18:31 timotimo oh my. i come back and it's still compiling
18:32 [Coke] japhb: even if I did that, it STILL wouldn't fix my problem of having to remove the installed version.
18:33 [Coke] plus, it's a PITA to remember to do each time.
18:33 timotimo (that's what you get for not compiling stuff with more than one job simultaneously)
18:33 [Coke] timotimo: I came back and I'm still checkout out nqp. :P
18:33 FROGGS leedo: a `make realclean` in MoarVM is needed, because we updated one of its submodules
18:33 virtualsue joined #perl6
18:34 timotimo Stage parse      :  42.904 - i wonder which version this is
18:34 leedo odd, i totally deleted my rakudo directory and did a clean checkout
18:34 timotimo ah, 2014.03
18:34 leedo and it still hangs
18:36 FROGGS leedo: you are up-to-date?
18:36 leedo FROGGS: yeah, did a fresh git clone from github
18:36 leedo i'll try this again
18:36 FROGGS hmmmm
18:36 FROGGS leedo: are you on osx?
18:36 leedo yep
18:37 FROGGS leedo: that might be it
18:37 FROGGS lizmat++ has trouble on osx also
18:37 leedo ah ok
18:37 leedo thanks!
18:38 leedo i'll try it without --enable-jit
18:39 dalek Inline-Perl5: 9e80b93 | nine++ | p5helper.c:
18:39 dalek Inline-Perl5: Fix leaking strings when returning strings from Perl 5 to Perl 6
18:39 dalek Inline-Perl5:
18:39 dalek Inline-Perl5: Seems like NativeCall doesn't actually free the strings returned from
18:39 dalek Inline-Perl5: native functions. So pass a pointer to the original string back instead.
18:39 dalek Inline-Perl5: This will be free'd with the SV.
18:39 dalek Inline-Perl5:
18:39 dalek Inline-Perl5: Might be a bug in NativeCall though, so maybe we'll have to revert this
18:39 dalek Inline-Perl5: later on.
18:39 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/9e80b93499
18:39 FROGGS leedo: either that, or go back to bf66354bd2fe61a8fd2f0e0acc7bccbf39fa642d in rakudo
18:39 Px12 joined #perl6
18:40 FROGGS leedo: I can't help much here, because I've got no osx virtualbox at hand :/
18:40 FROGGS m: say Date.today
18:40 camelia rakudo-moar 11d748: OUTPUT«Dynamic variable $*TZ not found␤  in method Int at src/gen/m-CORE.setting:13370␤  in method in-timezone at src/gen/m-CORE.setting:16170␤  in method new at src/gen/m-CORE.setting:15977␤  in method now at src/gen/m-CORE.setting:16031␤  in method to…»
18:40 FROGGS damn
18:41 leedo FROGGS: yeah disabling jit doesn't help, i'll just go with that commit
18:43 Px12 joined #perl6
18:45 [Coke] arglebargle. rebuild fails because submodules/git protocol.
18:46 leedo FROGGS: fwiw it still hangs on that revision if i use nqp and moar master
18:46 FROGGS leedo: that could mean that the new libuv version is to blame (a submodule of moarvm)
18:46 Px12 joined #perl6
18:46 leedo i'll try narrowing it down some more
18:47 brrt joined #perl6
18:47 FROGGS leedo++
18:47 brrt leedo: are you on mac os x?
18:47 leedo brrt: yeah
18:47 brrt ah
18:48 brrt lizmat had the same problem, she's also on os x
18:48 brrt i too suspect a libuv problem
18:48 brrt (that's the issue with dependencies that hold abstractions. they leak and you don't know where :-))
18:49 firefish5000 how might one use grammar for replace (for instance, I need to replace $parsed<Old> completely with $!new )
18:51 firefish5000 (thinks it would be bad practice to put it in the actions class, but finds that rather tempting to try)
18:52 FROGGS firefish5000: that $parsed<Old> is a match, right? so you can ask its .from and .to, and then do a substr-rw($string, $from, $to) = $!new
18:52 FROGGS or better substr-rw($string, $from, $to - $from) = $!new
18:53 firefish5000 Yes! that sounds like it would work quite well! (though I didnt get the  second one)
18:53 dalek rakudo/nom: f7dc2f7 | (Tobias Leich)++ | src/core/control.pm:
18:53 dalek rakudo/nom: stringify args passed to run()
18:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f7dc2f7adb
18:54 brrt left #perl6
18:54 timotimo i'm running benchmarks now!
18:55 dalek roast: 0dfa273 | (Tobias Leich)++ | S29-os/system.t:
18:55 dalek roast: use $*EXECUTABLE in run() tests
18:55 dalek roast:
18:55 dalek roast: This variable gives correct results now on all rakudo backends.
18:55 dalek roast: review: https://github.com/perl6/roast/commit/0dfa273427
18:55 firefish5000 FROGGS, oh, now I get it (to-from an offset)
18:55 Px12 joined #perl6
18:56 FROGGS firefish5000: I often do that mistake... the third param is the amount of chars and not an absolute position
18:56 [Coke] r: say $*EXECUTABLE_NAME
18:56 camelia rakudo-jvm 11d748: OUTPUT«perl6-j␤»
18:56 camelia ..rakudo-moar 11d748: OUTPUT«perl6-m␤»
18:56 camelia ..rakudo-parrot 11d748: OUTPUT«perl6-p␤»
18:57 moritz and I often wish there was a substr form with from, to
18:57 [Coke] r: say $*EXECUTABLE
18:57 camelia rakudo-jvm 11d748: OUTPUT«IO::Path</home/p6eval​/rakudo-inst/bin/perl6-j>␤»
18:57 camelia ..rakudo-parrot 11d748: OUTPUT«IO::Path</home/p6eval/​rakudo-inst-2/bin/perl6-p>␤»
18:57 camelia ..rakudo-moar 11d748: OUTPUT«IO::Path</home/p6eval​/rakudo-inst/bin/perl6-m>␤»
18:57 [Coke] moritz: is RT #121528 closable now? ^^
18:57 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121528
18:57 timotimo moritz: and then it ought to be a required named parameter and both should be possible
18:57 FROGGS [Coke]: I was searching for it right now :o)
18:57 moritz [Coke]: aye
18:58 moritz FROGGS++, [Coke]++
18:58 [Coke] FROGGS++ moritz+++
18:58 [Coke] heh.
18:58 FROGGS hehe
18:58 FROGGS [Coke]++ moritz++
18:58 FROGGS I had to :P
18:58 [Coke] I like how I unintentionally full justified.
18:58 nine timotimo: destructors are not guaranteed to be called in Python either. From its documentation: "Do not depend on immediate finalization of objects when they become unreachable (ex: always close files)."
18:58 timotimo nine: psst. almost nobody actually adheres to that note
18:59 [Coke] FROGGS: also RT #121811
18:59 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121811
18:59 timotimo i was on the pypy channel for a long time and SO MANY people came in complaining that their program crashes on pypy because of "too many open files" OSLT
18:59 FROGGS [Coke]: yes, that is was my parrot patch actually solved
18:59 FROGGS err, fixed
18:59 raiph joined #perl6
18:59 [Coke] so maybe you get a ticket for free.
19:01 leedo FROGGS: if i revert the libuv upgrade commit in moar it doesn't hang
19:02 timotimo >_>
19:02 FROGGS leedo: okay, good to know
19:02 FROGGS lizmat: sorry :3
19:03 timotimo japhb: would it make sense to only build and profile the highest number of perl5's major releases?
19:03 timotimo instead of 5.18.0, 5.18.1, 5.18.2?
19:03 timotimo and who knows what else :P
19:03 PerlJam timotimo: btw, add OSLT to S99  :)
19:03 Px12 joined #perl6
19:04 japhb timotimo: I found it really odd looking at a historical chart with lines for nqp and rakudo, and a single point for perl5.  Besides, build/test of perl5 is pretty fast.  That said, I start with 5.18.0 and only include stable perl5 releases, so that list should grow pretty slowly.
19:04 japhb (In `bench quickstart`, I mean.)
19:05 dalek Inline-Perl5: 58bf188 | nine++ | p5helper.c:
19:05 dalek Inline-Perl5: Fix leaking arguments passed to Perl 5 functions
19:05 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/58bf188092
19:05 dalek Inline-Perl5: 9d88882 | nine++ | p5helper.c:
19:05 dalek Inline-Perl5: Fix leaking array contents passed to Perl 5
19:05 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/9d8888293b
19:05 timotimo OK, fair enough
19:05 japhb And if the perl5-porters manage any nice performance increases, the line won't be dead flat anymore.  :-)
19:06 timotimo i don't think they'd improve the benchmarks we have much ;)
19:06 timotimo at least not the microbenchmarks
19:06 timotimo Failed to run command: install/bin/perl -E my %h; for (0 .. (0 - 1)) { %h{$_} = $_ }; while (my ($k, $v) = each %h) { $k == $v }; 1
19:06 timotimo that doesn't seem right
19:06 timotimo does the scale parameter for that benchmark need fixing?
19:06 japhb (There have been a few in previous years that would have shown up in perl6-bench, like avoiding the original behavior of turning for(range) into for (expanded list), but not any big stuff recently that I'm aware of.)
19:07 leedo FROGGS: could it be the 1 passed after the buf, in uv_fs_read here? https://github.com/MoarVM/MoarVM/commit/f​ce509b4fb59609bf14560043e382f5a0157c74f#d​iff-beff3d4230b1ad1b250922477a3e1de5R98
19:07 lizmat leedo: how did you revert the libuv upgrade ?
19:07 [Coke] r: Any.exists("A");
19:07 camelia rakudo-{parrot,jvm,moar} 11d748: OUTPUT«Saw 1 call to deprecated code during execution.␤======================================​==========================================␤Method exists (from Any) called at:␤  /tmp/tmpfile, line 1␤Please use the :exists adverb instead.␤------…»
19:07 japhb timotimo: Interesting, that's not failed in the past that I'm aware of .... Which perl5 version, and which perl6-bench rev?
19:07 leedo lizmat: i did a clean MoarVM checkout and did a git revert
19:08 timotimo latest master, 5.18.2 i think
19:08 japhb Huh.
19:08 lizmat git revert of what commit?
19:08 leedo fce509b4fb59609bf14560043e382f5a0157c74f
19:08 [Coke] r: Any:exists("A");
19:08 camelia rakudo-{parrot,jvm,moar} 11d748: ( no output )
19:08 japhb Do we still have a perl5 evaluator on channel?
19:08 FROGGS leedo: no, the 1 is the number of buffers to read, not the amount of bytes anymore
19:08 leedo FROGGS: ah ok
19:08 timotimo 5.18.2, yes
19:08 leedo lizmat: and the following commit as well, not sure if that was necessary
19:08 japhb How do we call it?
19:09 japhb p5: say "hello"
19:09 FROGGS lizmat: the upgraded libuv seems to be faulty on osx
19:09 japhb Apparently not that
19:09 lizmat FROGGS: so how are we going to fix that ?
19:09 FROGGS p5eval: say 42
19:09 lizmat revert the libuv upgrade?
19:09 lizmat it's not just me who's having trouble anymore
19:09 [Sno] joined #perl6
19:09 FROGGS lizmat: I hope not... I mean, we have to upgrade anyway at some point
19:10 FROGGS lizmat: I want to debug it first
19:10 lizmat ok
19:12 pmurias python seems to have a 'with ... as ...: block' for controlled managment of resources
19:12 [Coke] this came up on #parrot earlier today. we need to get some kind of smoke setup, and put changes like this into "smoke-me" branches, so we can push changes like this and have the infrastructure tell us about issues before breaking core devs.
19:12 pmurias maybe we should have something like that?
19:13 FROGGS [Coke]: what infrastructure?
19:13 dalek Inline-Perl5: 96c389c | nine++ | / (2 files):
19:13 dalek Inline-Perl5: Fix leaking keys of hashes passed to Perl 5
19:13 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/96c389c61c
19:13 FROGGS [Coke]: we don't have travis, and we don't have osx smokers
19:13 timotimo pmurias: aye, it does. we have LEAVE phasers that you can use in the very same way
19:14 [Coke] FROGGS: right, it's not like we can flip a switch. need to work towards it, though.
19:14 timotimo the important part is that resources ought to be destroyed/deallocated/cleaned up even when we leave the block with an exception
19:14 FROGGS [Coke]: I'd love to have that, for sure
19:15 lizmat timotimo: LEAVE should fire, even with an exception
19:16 dwarring joined #perl6
19:16 nine How do I free callbacks passed to NativeCall functions? Just free()?
19:17 timotimo lizmat: that's why i suggested LEAVE :)
19:17 lizmat timotimo: ah, ok, I read it like you were implying that LEAVE doesn't fire on an exception
19:17 virtualsue joined #perl6
19:18 timotimo ah
19:18 timotimo not my intention
19:19 dalek roast: c888e81 | coke++ | S02-types/deprecations.t:
19:19 dalek roast: unfudge tests (RT #120413)
19:19 dalek roast: review: https://github.com/perl6/roast/commit/c888e817a3
19:19 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=120413
19:20 pmurias what types are the callbacks?
19:21 [Coke] r: my @a = ^512; my %b = @a; my %c = eval %b.perl;
19:21 camelia rakudo-{parrot,jvm,moar} 11d748: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    eval used at line 1â�¤â�¤Â»
19:21 [Coke] r: my @a = ^512; my %b = @a; my %c = EVAL %b.perl;
19:21 camelia rakudo-jvm 11d748: OUTPUT«(timeout)»
19:21 camelia ..rakudo-{parrot,moar} 11d748: ( no output )
19:22 pmurias nine: does NativeCall support callbacks?
19:22 BizarreCake joined #perl6
19:24 nine pmurias: yep. You get ordinarly function pointers in C and when you call them Perl 6 code gets executed. Pure awesome magic!
19:25 [Coke] RT #120656 is taking up 650% of a CPU on my box.
19:25 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=120656
19:34 anaeem1 joined #perl6
19:37 pmurias nine: freeing those seems to be suspect
19:39 joescript joined #perl6
19:40 * lizmat finally has a working system again  :-)
19:40 joescript /msg NickServ joescript Craft123!!
19:40 timotimo joescript: that's not quite how you identify to NickServ
19:40 timotimo you need to put "identify" after the NickServ, too
19:40 lizmat two commits need to be reverted: fce509b4fb59609bf14560043e382f5a0157c74f and 8a98741d24de403c20c4b32769cd4801a9cdcdd4
19:40 timotimo also, may be a good idea to change your password now :(
19:41 joescript ok thanx
19:42 lizmat then do a configure with --gen-moar=HEAD (I guess)
19:42 joescript hello
19:43 joescript so i was working on some perl6, and really like the repl part of it
19:43 timotimo hello joescript :)
19:43 timotimo you do? wow. our REPL is kind of crappy as compared to python or julia for example
19:44 joescript also had a question, how does perl6 handle big data?
19:44 vendethiel- timotimo: you havn't played with racket's :p
19:44 vendethiel- (it's bad)
19:44 timotimo joescript: sadly, rakudo on moarvm is somewhat memory-hungry :(
19:44 timotimo i have not tried "big data" stuff with it at all yet
19:44 joescript well its a start and i really like perl, it has a unique syntax and function to it
19:45 joescript what can we do to improve, i know the jvm is all the buzz now, but many dont realzie its a huge memory hog
19:45 pmurias nine: so in rakudo star the memory is just leaked
19:46 pmurias nine: and don't call free() on the pointer
19:46 lizmat hmmm...  all sorts of segfaults in the spectest suit...
19:46 lizmat suite
19:46 timotimo oh damn
19:47 nine pmurias: I already tried free() and saw it explode :)
19:47 nine pmurias: leaking that memory would suck big time. It's two callbacks per Perl 6 object passed to Perl 5 code.
19:48 pmurias nine: as that sort of pointer would have to be handled with dcbFreeCallback(...) by moarvm
19:48 pmurias nine: it's a moarvm bug
19:48 timotimo nine: how would you expect to mark such a callback as "not used any more"?
19:49 denis_boyun joined #perl6
19:49 timotimo i'm not entirely sure how to refer to a callback you plopped into some C land function before
19:49 dalek Inline-Perl5: e05a93d | nine++ | / (2 files):
19:49 dalek Inline-Perl5: Fix leaking Perl 5 wrappers of Perl 6 objects.
19:49 dalek Inline-Perl5:
19:49 dalek Inline-Perl5: We still leak the Perl 6 objects themselves though.
19:49 dalek Inline-Perl5: Susupect the callbacks to be the source of the leak.
19:49 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/e05a93d6ad
19:49 timotimo except by putting it into a list or variable or something in perl6 code
19:51 joescript so i can see the major distro have rakudo, but is their any for macport or homebrew for mac users beside source
19:51 joescript ?
19:51 hoelzro joescript: I maintained a homebrew up until February
19:52 nine timotimo: that might be...difficult. I can't just call some MoarVM function since my code is in a shared lib and not linked to MoarVM. And even if, this would add a dependency on MoarVM.
19:52 hoelzro not sure if anyone else has taken care of it since
19:52 timotimo joescript: the versions you'll find on distros are often quite outdated, sadly :(
19:52 timotimo nine: more importantly, you also have to pass the threadcontext with everything you do
19:52 nine timotimo: oh yes, that, too.
19:52 joescript :( really
19:53 joescript well lucky i do source
19:53 timotimo if you do source, you'll probably like rakudobrew
19:53 joescript but it would be great to get more people involve in testing, that y i ask
19:54 joescript any package manager for perl6?
19:54 [Coke] I think we'd prefer testing source, not distro-latest, though, no
19:54 [Coke] ?
19:54 nine timotimo: in other words: it's very nice that MoarVM allocates callbacks with malloc and one doesn't have to manage the reference but it sucks because one cannot manage the reference...
19:54 timotimo yes, the package manager is called "panda"
19:54 timotimo rakudobrew will build a panda for you if you "rakudobrew build-panda"
19:54 timotimo find the modules on modules.perl6.org
19:54 timotimo (we are going to get onto cpan at some point)
19:54 pmurias timotimo: managing the lifetime of the callback from Perl 6 code seems to be the only solution
19:55 pmurias as a goal of an ffi is that the library you are calling can be c agnostic
19:55 [Coke] I hesitate to put together a macports build because of what happens to installed modules.
19:58 pmurias what happens to installed modules?
19:59 [Coke] you have to reinstall and rebuild them every time you upgrade.
19:59 [Coke] er, rebuild and reinstall.
19:59 joescript are we going to have package C depend , because having libs that strictly perl6 script make it a bit more portable. also the reason i ask all these question is bc i trying to get young crowed and comapny to embrace perl6, since perl is a long time loyal friend these past few decades :)
20:00 [Coke] so, new version of rakudo? reinstall the 10 modules you already installed, if you remember what they ware.
20:02 pyrimidine joined #perl6
20:06 pyrimidine [Coke]: doesn't 'perl6 rebootstrap.pl' reinstall your installed modules?  Did for me (though all I had was NativeCall)
20:10 FROGGS lizmat: I'm setting up an osx box now, but that seems to take its time...
20:10 FROGGS lizmat: I guess I should move the libuv upgrade in a branch
20:11 gfldex r: my @a = <1 4 5>; say @a.join(':'); say (any(@a) ~~ /\d/).Str;
20:11 lizmat *I* can live with the current situation atm, but there are a lot of OS X people out there  :-(
20:11 camelia rakudo-moar f7dc2f: OUTPUT«1:4:5␤===SORRY!===␤Start of substr out of range. Is: 5, should be in 0..1␤»
20:11 camelia ..rakudo-jvm f7dc2f: OUTPUT«1:4:5␤Start of substr out of range. Is: 5, should be in 0..1␤  in method gist at gen/jvm/CORE.setting:13297␤  in method gist at gen/jvm/CORE.setting:3635␤  in sub say at gen/jvm/CORE.setting:14825␤  in block <unit> at /tmp/tmpfile:1␤␤»
20:11 camelia ..rakudo-parrot f7dc2f: OUTPUT«1:4:5␤Start of substr out of range. Is: 5, should be in 0..1␤  in method gist at gen/parrot/CORE.setting:13314␤  in method gist at gen/parrot/CORE.setting:1142␤  in method gist at gen/parrot/CORE.setting:3657␤  in method gist at gen/parrot/CORE…»
20:11 FROGGS these are the three commits than need to be moved: fce509b4fb59609bf14560043e382f5a0157c74f 8a98741d24de403c20c4b32769cd4801a9cdcdd4 cf8088a28e894610309b0b7327de0d5b7dfcafb2
20:11 gfldex i think fail is failing to throw
20:11 FROGGS lizmat: okay, I'm doing that now then
20:12 pyrimidine lizmat++
20:12 FROGGS note to all ppl: after I revert the libuv patches, make realclean in MoarVM is needed after pulling...
20:12 * pyrimidine was getting scared to update my OS X install
20:15 joescript so the only 2 vm we are focus is MoarVM and JVM
20:16 FROGGS lizmat: done
20:16 FROGGS leedo: you can use HEAD now again, I reverted the libuv upgrade
20:17 lizmat shall I bump REVISIONS ?
20:17 FROGGS lizmat: ohh yes
20:17 FROGGS I forgot about that
20:17 lizmat ok, will do
20:17 FROGGS lizmat++
20:19 dalek nqp: aa1c70f | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION:
20:19 dalek nqp: Bump MOAR_REVISION to downgrade libuv
20:19 dalek nqp: review: https://github.com/perl6/nqp/commit/aa1c70f74f
20:20 dalek rakudo/nom: f449794 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION:
20:20 dalek rakudo/nom: Bump NQP_REVISION to downgrade libuv
20:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f4497946c4
20:20 djanatyn joined #perl6
20:22 guru joined #perl6
20:24 dolmen joined #perl6
20:24 Timbus joined #perl6
20:27 FROGGS m: say Date.new # lizmat, that fails quite some tests... it seems like $*TZ as a default value in signatures does not work
20:27 camelia rakudo-moar f7dc2f: OUTPUT«Dynamic variable $*TZ not found␤  in method Int at src/gen/m-CORE.setting:13370␤  in method in-timezone at src/gen/m-CORE.setting:16170␤  in method new at src/gen/m-CORE.setting:15977␤  in method now at src/gen/m-CORE.setting:16031␤  in method to…»
20:29 lizmat hmm... can't reproduce that here  :-(
20:30 lizmat m: say now
20:30 camelia rakudo-moar f7dc2f: OUTPUT«Instant:1410208248.449143␤»
20:30 PZt joined #perl6
20:30 lizmat now uses $*TZ as a default value  ?
20:30 FROGGS hmmmm
20:30 lizmat m: say local
20:30 camelia rakudo-moar f7dc2f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/f0ps5pbgYiâ�¤Undeclared routine:â�¤    local used at line 1 (in Perl 6 please use temp (or dynamic var) instead)â�¤â�¤Â»
20:31 mberends joined #perl6
20:31 FROGGS m: say DateTime.now
20:31 camelia rakudo-moar f7dc2f: OUTPUT«Dynamic variable $*TZ not found␤  in method Int at src/gen/m-CORE.setting:13370␤  in method in-timezone at src/gen/m-CORE.setting:16170␤  in method new at src/gen/m-CORE.setting:15977␤  in method now at src/gen/m-CORE.setting:16031␤  in block <un…»
20:31 FROGGS ahh, in in-timezone
20:32 FROGGS however, gnight all
20:32 lizmat $ perl6 -e 'say DateTime.now'
20:32 lizmat 2014-09-08T22:32:02+0200
20:32 lizmat good night. FROGGS!
20:34 TimToady joined #perl6
20:38 Px12 joined #perl6
20:46 gtodd joined #perl6
20:53 mberends joined #perl6
21:04 lizmat timotimo++ # p6weekly
21:06 virtualsue_ joined #perl6
21:06 itz joined #perl6
21:07 vendethiel- ooh, there's DESTROY now?
21:07 lizmat but with different semantics...
21:07 timotimo lizmat: thank you :)
21:07 lizmat from p5
21:07 carlin timotimo++ indeed
21:08 timotimo yay :)
21:10 timotimo carlin: so your github user is carbin and your irc name is carlin?
21:10 timotimo that would explain why i get it wrong all th etime :)
21:10 dalek rakudo/nom: 372d5a7 | (Elizabeth Mattijsen)++ | src/core/Env.pm:
21:10 dalek rakudo/nom: Add initializer for $*CWD
21:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/372d5a76be
21:12 [Coke] "To achieve great things, two things are needed: a plan and not quite enough time."
21:12 [Coke] - Leonard Bernstein
21:13 _thou joined #perl6
21:13 timotimo i wonder how long this benchmark run is going to take ... i wanted to play some vidya games tonight :)
21:14 nine This is embarassing...now that we have DESTROY in Perl 6 and it works exactly like it should, my Perl 5 DESTROY somehow does not get called.
21:14 lizmat that sounds like a refcount is not --ing enough ?
21:15 nine lizmat: that's what I thought. But it doesn't even get called in pure Perl 5 { Foo->new }
21:22 muraiki joined #perl6
21:22 nine I'll have another look at this tomorrow. Good night!
21:25 lizmat good night, nine!
21:27 itz_ joined #perl6
21:27 * lizmat is tired of looking at the @*INC / panda issues
21:28 lizmat good night, #perl6!
21:28 virtualsue_ joined #perl6
21:29 joescript Coke: well for time , if we can get more people to test and post error,bugs etc..... we mostly likly can reduce the it. but more people arent focus. unless the code is in production and their jobs depend on it
21:31 BenGoldberg joined #perl6
21:42 bonsaikitten joined #perl6
21:42 carlin timotimo: yes, carlin wasn't available on github so I had to improvise
21:49 timotimo OK :)
21:50 timotimo benchmarking 2014.04 of rakudo-moar now ...
21:50 timotimo that'll go up until 2014.08 and then have master following that
21:53 timotimo so maybe no video games today :\
21:56 japhb It's for a good cause.  :-)
21:57 leont joined #perl6
22:31 raiph joined #perl6
22:37 chenryn joined #perl6
23:10 ab5tract joined #perl6
23:10 timotimo camelia doesn't do p5eval, right
23:10 timotimo ?
23:10 timotimo p5: print "hello"
23:10 timotimo eval: print "hi"
23:10 timotimo apparently nobody does ...?
23:11 ab5tract left #perl6
23:16 pyrimidine joined #perl6
23:19 Px12 joined #perl6
23:22 ab5tract joined #perl6
23:25 raiph joined #perl6
23:38 masak timotimo: we've had that on and off here.
23:38 masak buubot did it, f'rex.
23:38 ab5tract TimToady: I submitted a pull request for LoL-ing that symmetric difference set operator we were poking at the other day
23:40 dalek specs: 3137e18 | (Timo Paulssen)++ | S99-glossary.pod:
23:40 dalek specs: Did a small test across all of S99.
23:40 dalek specs:
23:40 dalek specs: Fixes typos, outdated references to "moarvm coming soon",
23:40 dalek specs: adds text for postcircumfix, SC, slurpy.
23:40 dalek specs: Adds the lemma + explanation "unspace".
23:40 dalek specs: review: https://github.com/perl6/specs/commit/3137e180e2
23:40 timotimo ^- hopefully a pleasant read
23:40 masak TimToady: have you had time to ponder https://gist.github.com/masak/1322886ed7092c522bd8 -- modulo details, it still feels to me like the way to change things.
23:41 masak s/ --/ ? --/
23:46 timotimo cool, my benchmark run is up to "nom"
23:47 timotimo damn, what the heck am i going to do once we beat perl5 in most benchmarks?!
23:49 jerrycheung joined #perl6
23:52 ab5tract am i crazy or should `p6doc -f perl6/spec/S01-overview.pod` open the synopsis?
23:53 BenGoldberg joined #perl6
23:54 ab5tract timotimo: which benchmarks are winning against perl 5 these days?
23:58 timotimo hm, i wonder if p6bench will be done after this last one or if it'll have to go through all the nqp stuff first ...
23:58 timotimo we beat perl5 pretty handily on rational numbers

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo