»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
chris__ ?? 00:00
yoleaux timotimo: ermergerd blergperst! 00:01
chris__ ???
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
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:03
and pretty much anything new I do, too. 00:04
chris__ so what are the majors issue when u port it over
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:05
colomon I'm trying to think how to answer that. 00:08
I mean, there tend to be a lot of little surface changes to the code when you port it over.
say, different style loops, or using given / when instead of a long list of chained ifs.
tends to take some work, but the code usually ends up looking a lot nicer when you're done. 00:09
dunno if that should count as an issue or not.
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:10
It seems like Rakudo gets some sort of speed improvement every day now, which is really encouraging. 00:11
00:13 bjz_ left, aborazmeh joined
chris__ also someone Rakudo , i brand my own with a different logo too with it, once the speed gets better 00:24
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:34
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
in the meantime, you'll learn a lot of really cool stuff
00:44 ClarusCogitatio left 00:45 eiro joined 00:47 ClarusCogitatio joined 00:53 eiro left 00:54 nbrown left
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. 00:55
00:57 avuserow left 01:09 eiro joined
chris__ i know why but really why a butterfly for perl6 :P 01:12
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.
yoleaux japhb: I'll pass your message to lizmat.
01:16 eiro left
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:16
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:24
[Coke] I wonder if chris__ is related to nick__ 01:25
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
who nick?
Coke
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:28
well its late so good night everyone 01:30
night night :) 01:32
01:32 chris__ left, nick__ joined
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
whats up
TimToady same as 5 minutes ago 01:34
01:35 FROGGS_ joined
nick__ so this chris is from GA USA? 01:35
TimToady you're not fooling anyone
nick__ lol really
so hows everything doing 01:37
01:38 nick__ left, FROGGS left, nick__ joined
nick__ hello 01:39
???????? 01:40
wow ??? is the type i guess 01:41
01:41 nick__ left 01:44 link joined, link is now known as Guest24348
Guest24348 hello 01:45
TimToady hi nick
Guest24348 i see no one whats to say hi???
well good bye then ttyl 01:46
01:46 Guest24348 left 01:47 nbrown joined 01:52 aborazmeh left, flussence left 01:53 flussence joined 01:55 nbrown left 01:56 rindolf left
TimToady still thinks nick__/chris__/Guest24348 is a borderline troll 01:57
01:57 Rotwang left 01:59 nbrown joined, nbrown_ joined
japhb TimToady: ban needed? Without backlogging, I don't know the history there. 02:01
TimToady came on with a different nick and started in on camels and butterflies again 02:03
02:03 rindolf joined, nbrown left
TimToady definitely a tendency toward troublemaking 02:03
02:04 nbrown_ left, pyrimidine joined
japhb :-/ 02:08
TimToady he's pretty low-wattage as trolls go, mostly just tiresome, not actually good at riling people up 02:10
02:11 leont left
hobbs If I can be forgiven for saying, I think he's a rindolf type, with an extra helping of hyperactive 02:12
02:12 nbrown_ joined, rindolf left
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
TimToady wonders if he's been here before under some other name, but the logs don't say addresses 02:14
rindolf Hi all.
TimToady hi, what's new?
rindolf TimToady, hobbs : what kind of a troll are you talking about?
pyrimidine …speaking of 02:15
TimToady a person who can't stop talking about mascots
pyrimidine well, if it’s any consolation, *I* like Camelia 02:16
japhb As do I.
rindolf TimToady: hi, I'm fine - see www.shlomifish.org/me/rindolf/#upda...r_monarchs
02:16 nbrown_ left
TimToady well, but you folks are self-selected on the subject of Camelia alrady :) 02:16
japhb I believe I was here before Camelia, so I get a pass on that. :-) 02:17
TimToady well, me too :)
pyrimidine can’t recall exactly :P 02:18
japhb Heh. But you are the ultimate in self-selected on that subject.
It's like saying you think 'patch' is a good idea ...
pyrimidine heh
TimToady solipsism and narcissism has to be good for something... :) 02:19
rindolf TimToady: can't you tell him to switch subject?
TimToady that...was my suggestion above
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
it's a mild form of astroturfing
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.
TimToady well, it could be a dynamic address, so it doesnt' all have to the same person 02:21
it was pretty darn obvious in the past couple hours though
geekosaur true, but it's a consistent nick to name mapping in both groups 02:22
(could still be dynamic with a re-addressing somewhere after June)
(just not often)
internap /16, per whois. not very helpful 02:24
TimToady not to put too fine a point on it, but slava seems much smarter than our recent visitor 02:27
slava also never mentions mascots 02:28
colomon aren't we supposed to hug trolls? 02:41
;)
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
jnthn morning, #pelr6
TimToady o/
pyrimidine code here: gist.github.com/cjfields/df13dd4df74f0b0ca2a5
jnthn ...well, I hope the rest of the day goes better than that spelling :)
colomon o/ 02:43
pyrimidine hiya jnthn . digging out a nugget from your past (before nom). ‘is aliased’ trait
japhb Morning, jnthn. Strange saying that. :-) 02:45
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:48
jnthn Yeah, I'm curious why it doesn't work... 02:49
02:49 Ben_Goldberg joined, BenGoldberg left 02:50 Ben_Goldberg is now known as BenGoldberg 02:51 xenoterracide left 02:52 immortal left 02:56 noganex joined
jnthn pyrimidine: Ohhh...I see it 02:57
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
Use $attr.package.HOW instead
If I change it to that, tests pass 02:58
pyrimidine yes, that worked!
02:59 noganex_ left
pyrimidine I wondered whether it might be something like that, just couldn’t work out how to get the attribute’s class 02:59
jnthn++ 03:00
03:03 nbrown_ joined
jnthn noms a muffin that claims to "taste of angel"... 03:03
03:04 ashleydev left 03:05 xenoterracide joined 03:07 nbrown__ joined, nbrown_ left 03:11 nbrown__ left 03:12 nbrown__ joined
grondilu what's up with planetaria? 03:13
03:17 nbrown__ left, jack_rabbit left 03:19 SevenWolf joined 03:20 SevenWolf left 03:23 vukcrni left 03:24 avuserow joined, jack_rabbit joined 03:26 avuserow left, avuserow joined 03:28 mr-foobar left 03:29 mr-foobar joined 03:38 ashleydev joined
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␤␤»
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␤»
..rakudo-jvm 4a7429: OUTPUT«===SORRY!===␤Cannot stringify this␤»
..rakudo-moar 4a7429: OUTPUT«===SORRY!===␤cannot stringify this␤»
..rakudo-parrot 4a7429: OUTPUT«No such method 'QAST::Var<-7572739885141719536>' for invocant of type 'B'␤ in block <unit> at /tmp/tmpfile:1␤␤»
pyrimidine huh
shouldn’t that act like a symbolic reference?
niecza seems to think so, but rakudo not so much 03:42
03:45 googleperl joined
googleperl hello, I am new the perl6 03:45
jnthn I...didn't even know that parses :)
pyrimidine: The proper way to do it is $obj."$method"() 03:46
googleperl opps I mean new to the new perl6 world
jnthn googleperl: welcome
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«===SORRY!=== Error while compiling /tmp/PjObNw3QDP␤Missing semicolon.␤at /tmp/PjObNw3QDP:1␤------> my $test = B.new(:foo<test>); say $test.⏏”$x”()␤ expecting any of:␤ postfix␤ dotty me…»
japhb googleperl: Are you actually a Google employee?
jack_rabbit I would guess not. 03:48
He can't spell 'oops'
jnthn pyrimidine: Seems something turned your quotes into weird ones... :)
pyrimidine yeah, it’s my irc client methinks 03:49
03:49 googleperl_ joined
japhb jack_rabbit: For many Google employees, English is far from their first language. I don't consider that a clear test. :-) 03:49
pyrimidine jnthn: works on REPL :) 03:50
03:50 googleperl left
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.
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:52
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:54
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...
pyrimidine yep, agree, even if it is a bit ugly. 04:01
04:02 kaare_ joined 04:05 mr-foobar left 04:06 mr-foobar joined, googleperl_ left 04:13 labster left 04:14 [Sno] left 04:20 anaeem1_ joined 04:26 kurahaupo_ left 04:29 BenGoldberg left 04:32 anaeem1_ left, anaeem1_ joined 04:34 raiph left 04:40 erkan joined 04:42 kaleem joined 04:47 kaare_ left, ClarusCogitatio left 04:48 Woodi left, Woodi joined 04:50 ClarusCogitatio joined 05:12 pyrimidine left 05:13 kaare_ joined 05:26 xenoterracide left 05:33 SamuraiJack_ joined 05:35 kurahaupo_ joined 05:43 [Sno] joined 05:52 ClarusCogitatio left 05:53 fhelmberger joined, ClarusCogitatio joined 05:58 fhelmberger left 06:05 itz_ joined, gfldex joined 06:07 itz left 06:09 darutoko joined 06:20 gfldex left, perl13 joined, perl13 left 06:21 eiro joined 06:22 vike1 left
sergot hi o/ 06:27
06:30 vike joined
jnthn o/ sergot 06:32
06:33 brrt joined
sergot jnthn: o/ 06:38
06:40 rindolf left
brrt \o #perl6 06:43
06:43 jack_rabbit left
masak sergocie! \o 06:44
sergot masaku! o/
06:49 denis_boyun_ joined
brrt such excite 06:51
uhm, i'd like some real perl6 advice today
i have an aging perl5 epub creation library and i want to port it to perl6
however, epubs are basically xml + zip thingies
are there good libraries for those yet, or must i write them myself? 06:52
Timbus there's a zlib binding iirc, and undoubtedly an XML library or two 06:53
brrt hmm zlib isn't yet good enough 06:54
to low-level
s/to/too/
Timbus .. oh
you mean the API? or the dependency is bad 06:55
brrt no, the api
i need a zip file as an archive
zlib iirc is about compressing streams
which is only part of the effort
Timbus ah
brrt (epub sucks. ye shall deal with it) 06:56
i see there is a Net::IMAP client, very nice 06:59
06:59 labster joined
brrt also String::CRC32 06:59
07:00 Px12 joined
nwc10 jnthn: happy Mid-Autumn Festival 07:05
07:05 FROGGS_ is now known as FROGGS
nwc10 or whatever the appropriate greeting is 07:05
FROGGS morning
07:07 zakharyas joined 07:28 anaeem1_ left 07:29 anaeem1 joined 07:30 fhelmberger joined 07:32 SamuraiJack_ left 07:34 virtualsue joined 07:37 Px12 left
timotimo o/ 07:38
i had weird dreams last night ... 07:39
masak about Perl 6?
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:
./perl6-m t/spec/integration/99problems-51-to-60.t
and as part of the spectest
moritz ./perl-m -Ilib please
nwc10 I have two different things where I get different results
aha. *That* is the difference? 07:41
moritz well, without the -Ilib, it uses the Test.pm that's installed
not the local one
timotimo .o( maybe a precompiled Test.pm, though? ) 07:42
brrt does the test runner start a new process for every test? 07:43
timotimo yes 07:45
brrt hmm 07:46
that defeats my comments in #moarvm about expecting a difference in speshing / jitting
07:51 fling left 07:54 ClarusCogitatio left 07:55 nebuchadnezzar left 07:56 denis_boyun_ left, ashleydev left 07:58 ClarusCogitatio joined, fling joined 08:00 Px12 joined 08:03 tinyblak_ left 08:04 mrf joined, ClarusCogitatio left 08:05 ClarusCogitatio joined 08:08 breinbaas left 08:09 breinbaas joined 08:17 ashleydev joined 08:19 virtualsue left
FROGGS nwc10: also the harness merged stdout/stderr, and perhaps does other stuff to its subprocesses 08:21
merges*
08:26 dakkar joined
nwc10 mm, yes, good point 08:26
timotimo mayhaps having stdout and stdin on the same fd, but not sharing the same lock could be trouble? 08:32
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
so it is not just that sadly
brrt whats more, it used to work before :-) 08:35
FROGGS true
timotimo: do you have any problems with exposing C globals as Perl 6 subs? 08:37
08:37 ClarusCogitatio left
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:37
should -------------^ 08:38
meh, close enough
timotimo do you mean do i have a project or code waiting on that feature?
08:40 ClarusCogitatio joined
FROGGS timotimo: no, just my implementation 08:40
08:41 ashleydev left
timotimo oh 08:42
now i get it
FROGGS timotimo: my impl exposes it as: sub errno is cglobal { ... }, with an optional is symbol('name')
timotimo would that give a proxy?
FROGGS the cglobal trait is like the is native, which means it takes the library name 08:43
timotimo: no
since it is a sub, there is no proxy
dunno how to write to a global yet though
ahh, it would be more like: sub errno is cglobal returns int { ... } # or so 08:44
timotimo hm, and if you give a parameter, it'll set the value? 08:45
FROGGS hmmm, maybe
might be easier to implement (in contrast to an is rw trait)
then it would be: sub errno is cglobal(int?) returns int { ... } 08:46
I really would like to expose it as a variable though :/ 08:47
08:47 ashleydev joined
timotimo i'd prefer a multi sub, actually 08:47
for compile-time-dispatch reasons
hm
maybe it doesn't matter
FROGGS I'd like to hear jnthn++'s voice now :o) 08:48
moritz mathw: www.nntp.perl.org/group/perl.perl6....g1818.html any thoughts? 08:54
mathw: I'm happy to fork the module into the perl6 organization
FROGGS: did you touch $*PROGRAM_NAME recently? 08:57
or was that timotimo?
cause test one from t/spec/S02-magicals/progname.t fails for me 08:58
08:58 ashleydev left
moritz s/PROGRAM_NAME/PROGRAM 08:58
ok(PROCESS::<$PROGRAM> ~~ / t['/'|'\\']spec['/'|'\\']S02'-'magicals['/'|'\\']progname'.'\w+$/, "progname var matches test file path");
use of uninitialized value of type Any in string context in any !cursor_init at gen/moar/stage2/QRegex.nqp:599
08:59 kurahaupo_ left
timotimo i did not 08:59
FROGGS moritz: I thougt lizmat applied a patch about initialization of that var 09:00
moritz: I made a PR for $*EXECUTABLE on parrot, but that is not applied yet :o) 09:02
moritz: github.com/rakudo/rakudo/commit/a9...aebf22e065
so, one has to use $*PROGRAM before PROCESS::<$PROGRAM> is filled with life 09:03
09:04 kaleem left, ashleydev joined 09:05 Px12 left
moritz FROGGS: woah, did you come up with those #ifdefs in github.com/FROGGS/parrot/commit/3c...e46a702828 all on your own? 09:05
FROGGS moritz: no :o)
see sourceforge.net/p/predef/wiki/OperatingSystems/
and this was my resource for obtaining the execname: stackoverflow.com/questions/1023306...c-self-exe 09:06
moritz: linux and windows is tested okay, and I know it builds on osx 09:07
09:07 nebuchadnezzar joined
moritz FROGGS: merged. 09:07
FROGGS ohh, thanks
moritz FROGGS++
FROGGS I'll bump PARROT_REVISION now, so we spot any fallout very early 09:08
09:08 Px12 joined
FROGGS ahh, that reminds me that I wanted to unbreak panda on parrot (a problem with latest .lines optimization) 09:09
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?
FROGGS jnthn: hmmm, not bad :o) 09:12
jnthn timotimo: We should be able to do something nice with them in spesh 09:14
09:16 ClarusCogitatio left
timotimo i'm not entirely sure how they are implemented on the "inside" 09:17
as in, close to where spesh resides
09:18 ClarusCogitatio joined 09:20 ashleydev left
dalek ast: fad94bf | (Elizabeth Mattijsen)++ | S02-magicals/progname.t:
Fix $*EXECUTABLE test

PROCESS::<$EXECUTABLE> does not exist before $*EXECUTABLE is fetched
09:21
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:22
dalek kudo/nom: 696a467 | (Tobias Leich)++ | src/core/Process.pm:
remove duplicate call to .path.absolute
09:25
09:26 Rotwang joined
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.
lizmat japhb: indeed, that was a copynpasto
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 Woodi left
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:28
mathw moritz: not sure what the best method to do it is. Checking GItHub I now see a pull request 09:29
09:29 Woodi joined
FROGGS mathw: give moritz and me a commit bit and there is less confusion :o) 09:29
09:30 spider-mario joined
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
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:30
(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
they might even finish it
moritz I haven't seen a single case of vandalism in the perl6 orga on github
and not much utterly stupid either
mathw :)
I think the thing to do is to get it into perl6
let the community look after it
but I'll still hold a special place for it in my heart and keep an eye on things 09:32
...when I've got time
moritz ok, then I'll do the forking later
mathw I've merged in the pull request that fixes the tests on the assumption that it actually does fix the tests
I'm behind on stuff, clearly
I'd not seen .flat before 09:33
dalek kudo/nom: d59cf8a | (Elizabeth Mattijsen)++ | src/core/stubs.pm:
Make sure we return right thing when initializing
09:34
kudo/nom: d05d411 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
Add initializer for @*INC and %*CUSTOM_LIB

This takes bare start time of rakudo from 0.210 to 0.175 on my machine
lizmat jnthn: ^^^ 09:35
dalek p: 770a671 | (Tobias Leich)++ | tools/build/PARROT_REVISION:
bump parrot rev for execname fix
jnthn lizmat: o.O
FROGGS wow
lizmat++
jnthn tries it :)
mathw oooh
brrt wow :-o
mathw btw folks there is SO MUCH AWESOME now 09:36
FROGGS I am now going to bisect the jvm bustage
mathw I was messing around with Rakudo-moar last week and it seemed really fast
even to build itself was quick
FROGGS mathw: it is! one can really enjoy coding *and* running Perl 6 stuff now :o)
mathw you assorted sentient lifeforms are amazing
brrt yes, moarvm+rakudo builds quite acceptably fast
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...
FROGGS: It's in backlog somewhere...
brrt mathw: there is still so much awesome to come :-)
list refactor will probably do a lot
native arrays too
mathw oh sure
donaldh FROGGS++ # I was just contemplating that but don't yet have time.
FROGGS jnthn: yeah, I'm just to lazy to look, I'll just let my laptop find it :o)
mathw but the state now compared to when I was last actively using stuff is just brilliant
brrt NFG + jitting-of-native-array access will do a lot 09:38
better jit codegen
mathw also, the Supply stuff is almost too exciting for words. I absolutely love that way of doing async programming
and Perl 6's implementation has a definite step up in elegance compared to Rx in C#
brrt hasn't looked at Supply yet
dalek kudo/nom: 6b295ba | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp/parrot rev for execname fix
brrt what would be the difference between a Supply and a Queue
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
(horrible oversimplification alert)
brrt ok, a supply is a queue + a runloop?
donaldh FROGGS: commit bdf153c23d893e0b6da1f5ee9d03d2f7c91f7b1d busted JVM 09:40
according to [Coke]++
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
FROGGS yes, that looks very much related
jnthn lizmat: 0.175s on my laptop here :)
lizmat++ lizmat++
nwc10 0.175s for what?
lizmat also, this trick removes a lot of Proxies
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?
all its subscribers or just one?
lizmat brrt: yes, what?
Timbus jnthn, hmm at the moment if i schedule_on a GTK::Simple::Scheduler, it will never run
lizmat I've put in a buffering for that eventuality
jnthn is not happy with that
Timbus known?
FROGGS nwc10: startup time
nwc10 oh, OK, it just got faster *today*?
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
nwc10 OK, we were already faster than Moose
brrt imagines so
lizmat mind you, all of that is gone as soon as you try to -use- something
jnthn brrt: No subscribers (for a live supply) = drop the value, nobody is interested
nwc10 the "hello world" benchmark is part of first impressions
timotimo of course, but many people will end up not using most stuff for most scripts
jnthn Yes, it *feels* faster here :)
brrt ok, that's a difference with a queue for one thing
timotimo and if they do, no big deal, it'll still be pretty fast all in all
nwc10 the "start a thread to say hello world" is also an intersting benchmark 09:44
09:44 JimmyZ joined
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
lizmat nwc10: this what you mean? 09:45
$ time perl6 -e 'await start { say "Hello world" }'
Hello world
real0m0.185s
jnthn Since you push data directly to the things that want it on the same thread, in many cases.
nwc10 something like that, yes
jnthn And caches like that.
nwc10 because the same is possible with ithreads
and ithreads doesn't win
brrt how would a supply and a go-style channel be compared? 09:46
lizmat nwc10: nope, it won't :-)
09:46 kurahaupo joined, ashleydev left
nwc10 lies, damn lies and statistics 09:46
lizmat yup
nwc10 I'm keen to pick statistics that look good
lizmat hehe
I was wondering: would it make sense to mark code to be run only once with an attribute 09:47
so that any GC could clean it up after it has run ?
BTW: I hope I didn't break anything in the ecosystem 09:48
if a script would look at PROCESS::<$FOO> before doing a $*FOO
it would not find anything there: it's the initial failure of the lookup of $*FOO that initialized PROCESS::<$FOO> 09:49
*initializes
FROGGS lizmat: just keep an eye on the star summary
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...
(Knowing that dynamic lookup fails over to that)
09:51 kaleem joined
timotimo did the jvm build get fixed already? 09:51
jnthn lizmat: In 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
FROGGS timotimo: no 09:53
timotimo: spot the error: github.com/rakudo/rakudo/commit/bd...f7c91f7b1d
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"
this might be a slight exaggeration, but i'm very flattered :)
timotimo d'aaw :) 09:56
FROGGS *g*
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?
mathw I'll win him over eventually
jnthn mathw: At least they keep stealing F# things into C#... :) 09:58
mathw yeah but it's always with a clunkier syntax
FROGGS jnthn: I wanted to test something like that right now
mathw and I don't think it's likely that C#'s getting discriminated unions any time
lizmat odd datapoint: since my removal of many Proxy's in the setting, my spectest is squeaky clean
mathw or destructuring
09:59 ashleydev joined
mathw lizmat: that's not really what one would expect, but it's rather exciting. 09:59
timotimo .o( and now let's cut the memory usage of "say 'hello world'" in half, too! ) 10:00
dalek kudo/nom: 9ea8d83 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
Fix typo
kudo/nom: 9fb318b | (Elizabeth Mattijsen)++ | src/core/stubs.pm:
Remove unnecessary elaborateness, jnthn++
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
timotimo d'oh :) 10:03
10:04 ashleydev left
lizmat timotimo: cutting memory usage in half, would mean loading more of the setting ad-hoc 10:04
timotimo yup
lizmat fwiw, Sets. Bags, Mixes are not used in the core 10:05
FROGGS jnthn: yes, the take/take-rw changes are to blame
lizmat so could be taken out and become available with e.g. a "use Sets"
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
i wonder how big sets, bags, mixes actually are
as a contribution to initial process size 10:06
FROGGS jnthn: at least I can compile rakudo now
lizmat timotimo: let me try a build without them... :-)
FROGGS timotimo: comment them
timotimo lizmat: yay :)
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?
(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
what's the number like on Win32?
jnthn um, wtf 10:10
ptime perl -e "use Moose; 1"
Execution time: 0.347 s
ptime perl6-m -e "1"
Execution time: 0.181 s
JimmyZ jnthn, masak: 中秋节快乐! ;)
FROGGS jnthn: and without Moose?
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
nwc10: Ahh...
This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x64-multi-thread
nwc10 ie does the x86_64 instruction set make a big win?
lizmat hmmm... nqp doesn't build for me anyjmore
At Frame 4, Instruction 3, op 'sp_log' has invalid number (0) of operands; needs 2.
at gen/moar/stage2/QAST.nqp:5503 (src/vm/moar/stage0/QAST.moarvm:assemble_to_file:13)
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
lizmat I nuked install
jnthn lizmat: And make sure you have a new enough MoarVM?
(MOAR_REVISION was bumped)
(after updating stage 0)
brrt as in, i don't expect perl-for-win32-x86 to use 64 bit integer arithmetic
FROGGS and make realclean in MoarVM
lizmat: ^^
10:13 telex left
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
timotimo there's an ABI that uses x86_64's "way more registers and opcodes" but still relies on 32bit pointers IIRC
nwc10 brrt: at least, *something* must be better, else this wouldn't exist: en.wikipedia.org/wiki/X32_ABI
timotimo that's the one 10:14
10:14 telex joined
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
dear Android, you should have heeded that
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
grondilu who knows what a phone will look like in 2032 anyway?
lizmat I still get the same error :-(
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...
timotimo (i'm not yet 100% convinced)
lizmat let me try to build with =master
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...
timotimo hum, we may need to bump moar some more?
jnthn I'm about to bump now so I can use the finalize stuff anyways...
nwc10 timotimo: this one? drop-kicker.com/2014/08/ritot-projection-watch/
brrt i bumped it yesterday because i added support for force_gc which needs a new opcode 10:18
sp_log is the next opcode
10:18 firefish5000 joined
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
lizmat hmmm... build seems to hang now :-(
ah, no...
dalek p: 74f813b | jonathan++ | tools/build/MOAR_REVISION:
Bump to latest MoarVM to get finalize bits.
lizmat building with nqp=master now 10:19
brrt afk 10:20
10:20 brrt left
timotimo nwc10: there is no link to the source, only a gif :\ 10:20
lizmat nqp builds ok now 10:22
hmmm... any use command hangs now :-( 10:24
dalek kudo/nom: 33131e0 | (Tobias Leich)++ | src/core/control.pm:
unbreak jvm (emergency hot-fix)

Someone should fix the underlaying issue, which pops up as:
  "control operator crossed continuation barrier"
10:25
jnthn FROGGS: Um...does that not break take entirely? 10:28
lizmat something is really broken atm
OTOH, parse times <27 seconds, wow 10:29
10:29 denis_boyun_ joined
lizmat retrying a standard build after pulling 10:30
JimmyZ Stage parse : 62.320 # on my notebook CPU 1.8GHZ :(
FROGGS jnthn: ohh, I looked wrongish at that diff: github.com/rakudo/rakudo/commit/bd...f7c91f7b1d
jnthn: so the combination of that multi + THROW is problematic
jnthn FROGGS: Yeah. I'd just #?if !jvm around the whole batch of multis 10:31
FROGGS: And then and a '?if jvm that does what we used to do.
And file an RT saying it needs a further look 10:32
10:32 ashleydev joined
FROGGS jnthn: yes, I'll do that in a few minutes 10:32
dalek p: 8f4ac08 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Map new settypefinalize op on MoarVM.
10:34
p: 367d379 | jonathan++ | src/vm/ (2 files):
Cheat on settypefinalize on Parrot, JVM.

The JVM has support for finalization, so we should be able to wire it up in the future.
lizmat standard build still fails :-( 10:37
(in the same manner as before)
dalek kudo/nom: fcb7603 | jonathan++ | tools/build/NQP_REVISION:
Bump to get nqp::settypefinalize.
10:38
jnthn lizmat: Maybe these version bumps get things back in shape, if it wsa a version skew issue. 10:39
lizmat checking...
Timbus yep 10:41
10:41 PZt left
dalek kudo/nom: 94d83c1 | (Tobias Leich)++ | src/core/control.pm:
unbreak jvm #2 (emergency hot-fix, RT #122732)
10:44
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122732
lizmat builds ok again, but still hangs on @*INC access :-( 10:45
getting FROGGS latest fix
no luck :-( 10:46
colomon p6: say 25 choose 6 10:47
camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> say 25 ⏏choose 6␤ expecting any of:␤ postfix␤ infix stopper␤ infix or met…»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/tmpfile line 1:␤------> say 25 ⏏choose 6␤␤Parse failed␤␤»
10:51 esaym153 left, leont joined 10:56 bjz joined 10:58 esaym153 joined
lizmat looks like there is no point delaying initialization of $*VM 11:00
$ perl6 -e1
initialized $*VM
jnthn lizmat: Or else we hunt down what's using it :) 11:01
lizmat doing that now :-)
jnthn And see if it's an LHF or not. :) 11:02
11:03 esaym153 left, esaym153 joined
FROGGS lizmat: I can say @*INC fwiw 11:03
and I can also use lib "foo"
lizmat weird... wonder if it has anything todo with macness
11:04 virtualsue joined
lizmat the hang is in $*DISTRO creation 11:04
FROGGS do you know the line number?
jnthn lizmat: Oh...I think $*DISTRO actually tried to use $*DISTRO on some code path, or some other oddness 11:05
I forget exactly
lizmat FROGGS: not yet
trying to get out of recursive yak shaving 11:06
FROGGS p: use Test; plan 42
camelia rakudo-parrot 4a7429: OUTPUT«1..42␤# Looks like you planned 42 tests, but ran 0␤»
FROGGS that fails locally: 11:07
==> Testing JSON::Tiny
t/01-parse.t ...... ok
t/02-structure.t .. Null PMC access in find_method('print')
in method print at gen/parrot/CORE.setting:14488
yesterday I saw something about .lines
p: use Test; plan * 11:08
camelia ( no output )
FROGGS p: use Test; plan *; done
camelia rakudo-parrot 4a7429: OUTPUT«1..0␤»
lizmat FROGGS: IO.lines was borked on parrot for a while, thanks to yours truly 11:13
FROGGS lizmat: but it did not explode during tests when bootstrapping panda 11:14
dalek kudo/nom: 8667e66 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Local/File.pm:
Fix premature *VM initialization
11:15
FROGGS lizmat: I think I don't get it... how was IO.lines broken on parrot?
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
lizmat yes
FROGGS I parsed 'for a while' wrongish it seems :o)
11:17 salv0 left 11:19 cooper_ left
lizmat found the hang: 11:21
$ perl6 -e 'say qx/sw_vers/'
$ perl6 -e 'say qx/foo/'
then hangs
visitors&
JimmyZ lizmat: this means you didn't do `make reaclean` on MoarVM, just like me 11:22
methinks
gah... FROGGS always said we needs realclean ;) 11:23
nwc10 I was trying to build rubinius for comparison of startup time. 11:36
And, well, it is made of FAIL. Rather unfortunately
and isn't packaged
it's getting upset about C++ library versions, I think. And I don't know why
and I do know what happened last time I tried to meddle with C++ library versions
firefox broke
because C++
(name mangling being part of the API) 11:37
dalek kudo/nom: 0b03f3a | jonathan++ | / (5 files):
Wire up DESTROY (sub)methods to finalize mechanism

Since it's only supported on MoarVM so far, that's the only backend you'll see it working on at the moment. As usual with these things, there's no promises about when the finalier will be called, and if the program ends before the object is GC'd it won't be called at all.
timotimo sweet! 11:38
nwc10 jnthn: I think your commit message has a typo, technically. s/when/whether/
I agree that the next sentance clarifies it
maybe your wording is best 11:39
rubinius-- # bother, I actually want to install you
leont What's the general wisdom on "putting all related modules in one file" versus "putting all classes in separate files"? 11:45
moritz if you need to "use" one of them separately, it must go into a separate file 11:46
if you have circular dependencies, it must go into one file
11:47 Rounin left
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
firefish5000 how do you read lines from a file? 11:48
timotimo firefish5000: for "file".IO.lines -> $line { ... }, for example
moritz or open("file").lines
jnthn nwc10: No, I really menat "when" as in "no promises about timeliness"
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
OK, the way i tried to do work ate up all my ram and hung the computer for a few seconds %)
jnthn hah
timotimo but no print :(
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.
timotimo .lines gives you the lines from a string, not a file :)
jnthn timotimo: gist.github.com/jnthn/dbe4e347cc092fa8cf62 is what I used to observe it, fwiw
moritz m: class A { submethod DESTROY { say "gone to meet its maker" } }; loop { A.new; 1}
camelia rakudo-moar 4a7429: OUTPUT«(timeout)» 11:51
timotimo thanks, i'll try that :)
moritz: probably not yet updated, eh?
11:51 araujo joined
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
maybe i need some more pulls and rebuilds
indeed. 11:52
jnthn moritz: That one spews endlessly here :)
timotimo yes, that works well. way cool!
moritz jnthn: as it should :-)
here too 11:53
jnthn++ 11:54
dalek kudo/nom: 42657fc | moritz++ | docs/ChangeLog:
[Changelog] mention DESTROY, optimizations
11:57
jnthn dinner &
timotimo bon appetit :)
11:58 Rounin joined
firefish5000 hmm, open($fn).lines works but $fh=open($fn) ; $fn.lines and $fn.IO.lines doesn't? 12:00
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)
timotimo :)
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
however
you may be re-using the same file descriptor without seeking to the beginning in between lines() calls?
firefish5000 well, it gives the filename (not what I expected ), 12:03
so its lines $fh not $fh.IO.lines?
timotimo $fh is already an IO, you don't need to coerce it to IO first 12:04
but at least on my machine that works
moritz $fh.lines 12:05
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
can you paste your code somewhere?
moritz firefish5000: does the file consist only of the file name?
firefish5000 ..I retract my statement. I must have forgot to write as it gives me nothing. 12:08
timotimo %)
maybe you forgot to close after writing? 12:09
firefish5000 no, readonly in perl. forgot to save the file in vim:w 12:10
timotimo ah %)
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:11
timotimo uhm ... huh? 12:12
moritz grondilu: it's supposed to be lazy, yes
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)»
moritz blames TimToady
erm
moritz blames TimToady++
timotimo moritz: why exactly do you initialize $width and $height with lists?
dalek kudo/nom: 07f73c2 | moritz++ | src/core/IO/Handle.pm:
[IO::Handle] add a DESTROY submethod that closes the file
grondilu m: for ^10_000 X ^10_000 -> ($x, $y) { die }
moritz timotimo: I don't 12:14
camelia rakudo-moar 94d83c: OUTPUT«(timeout)»
timotimo oh, derp
that's right
grondilu m: for ^10_000 X ^10_000 -> ($x, $y) { last }
camelia rakudo-moar 94d83c: OUTPUT«(timeout)»
grondilu I'm pretty sure this used to work, right? 12:15
JimmyZ rn: my int $i +=1
camelia rakudo-jvm 94d83c: OUTPUT«(timeout)»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/tmpfile line 1:␤------> my⏏ int $i +=1␤␤Parse failed␤␤»
..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␤␤»
..rakudo-parrot 94d83c: OUTPUT«Cannot modify an immutable value␤ in block at gen/parrot/CORE.setting:18099␤ in block <unit> at /tmp/tmpfile:1␤␤»
FROGGS star-m: for ^10_000 X ^10_000 -> ($x, $y) { die }
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
timotimo do you even need the ( ) around $x, $y? 12:15
grondilu star-m: for ^10_000 X ^10_000 -> $x, $y { last } 12:16
FROGGS no
camelia ( no output )
grondilu timotimo: no, my mistake
carlin my @destoryers; # heh
moritz I don't think that's intentional
dalek kudo/nom: 546f9f5 | moritz++ | src/Perl6/Metamodel/Finalization.nqp:
fix typo in variable name, carlin++
12:19
FROGGS I liked destoryers (and also the word finalier) 12:20
moritz too humorless, it seems 12:21
grondilu m: for ^1000000 { last } 12:23
camelia ( no output )
carlin all humour must be destoryed
grondilu m: for ^my @ = 10000000000 { last } 12:24
camelia ( no output )
12:24 tinyblak joined
nine After updating Rakudo I get "Missing serialize REPR function for REPR VMThread" when doing perl6 rebootstrap.pl in panda 12:24
grondilu m: for ^my @ = 10000000000 { last } # this hangs locally 12:25
camelia ( no output )
grondilu This is perl6 version 2014.08-271-g94d83c1 built on MoarVM version 2014.08-105-gc12720f
moritz so you're on the same version as camelia
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␤␤»
FROGGS nine: is it your thread that tries to serialize a VMThread?
m: say $*VM 12:27
camelia rakudo-moar 94d83c: OUTPUT«moar (2014.8.105.gc.12720.f)␤»
nine FROGGS: err...no: Compiling lib/Shell/Command.pm to mbc
===SORRY!===
Missing serialize REPR function for REPR VMThread
grondilu tried again and did not hang. Is confused.
12:27 BizarreCake joined
moritz nine: did you 'make install' in rakudo? 12:27
grondilu lol 12:28
forgot ^
FROGGS uff
Compiling lib/Shell/Command.pm to mbc
===SORRY!===
Missing serialize REPR function for REPR VMThread
grondilu m: for ^my @ = ^10000000000 { last } # this hangs locally
FROGGS moritz: I did
camelia rakudo-moar 94d83c: OUTPUT«(timeout)»
grondilu n: for ^my @ = ^10000000000 { last }
camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)» 12:29
nine moritz: yes
FROGGS nine: I fear that one wants to be bisected... though, I need to go now :( 12:30
moritz ok, I get the error too 12:31
lizmat jnthn / TimToady: I'm not sure we should call this DESTROY 12:32
lurking again&
carlin .EXTERMINATE would make dalek happy 12:33
moritz www.perlmonks.org/?node_id=1099742 # I was very amused 12:40
Timbus m: { say BEGIN { "hi" }; say ENTER { "hi2" } } 12:42
camelia rakudo-moar 94d83c: OUTPUT«hi␤Nil␤»
12:43 jerrycheung joined 12:45 kaleem left 12:46 jerrycheung left
firefish5000 m: grammar anyanyany { rule TOP { [ .* ]* }; }; my $txt="astring"; my $parse=anyanyany.parse($txt); 12:48
camelia rakudo-moar 94d83c: OUTPUT«(timeout)»
firefish5000 m: grammar anyany { rule TOP { .* }; }; my $txt="astring"; my $parse=anyany.parse($txt);
camelia ( no output )
firefish5000 why does the first timeout?
12:51 jerrycheung joined 12:53 jerrycheung left
[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:53
grondilu m: say first * > pi, (0, pi/30 ... pi) 12:54
camelia rakudo-moar 94d83c: OUTPUT«3.14159265358979␤»
grondilu n: say first * > pi, (0, pi/30 ... pi)
camelia niecza v24-109-g48a8de3: OUTPUT«3.141592653589794␤»
12:56 kaleem joined, kaleem left, kaleem joined
leont «'Session::Console::Parallel' cannot inherit from 'Session::Console' because it is unknown.», I just defined SC directly above SCP, I don't understand 12:57
12:58 kaleem left 12:59 anaeem1 left
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␤␤»
grondilu n: my $x = "3"; say 10 div $x;
camelia niecza v24-109-g48a8de3: OUTPUT«3␤»
grondilu niecza is right here, isn't it?
[Coke] needs a coercion in the signature, maybe.
moritz nope; rakudo is correct by spec 13:02
infix:<div> is specifically for numeric operands of the same type 13:03
grondilu ok
13:04 rindolf joined
[Coke] moritz: I don't see that mentioned in infix:<div>, integer division in S03. 13:04
13:06 kaare_ left
moritz [Coke]: then I don't know where I got that piece of information from 13:09
13:11 guru joined, guru is now known as Guest94245 13:12 Guest94245 is now known as ajr_
moritz irclog.perlgeek.de/perl6/2011-10-01#i_4507929 13:12
[Coke] TimToady: ^^ If you are to believed, you might want to spec that. 13:13
nine FROGGS: fcb76038aa81a885102802f7284b4f33db183f39 is the first bad commit 13:16
13:17 FROGGS[mobile] joined
nine FROGGS: fcb76038aa81a885102802f7284b4f33db183f39 is the first bad commit 13:17
FROGGS[mobile] nine: can you give me the link to the commit?
JimmyZ github.com/rakudo/rakudo/commit/fc...f33db183f3 13:18
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
FROGGS[mobile] so we need to bisect moarvm 13:20
(unless it is not obvious from that range)
13:20 tinyblak left
FROGGS[mobile] if* 13:21
13:21 brrt joined, vendethiel- joined, vendethiel left
lizmat nuked the nqp and install dir completely and is rebuilding now 13:23
dalek ecs: 5f288e5 | (Elizabeth Mattijsen)++ | S28-special-names.pod:
Add paragraph about lazily populating $*FOO
13:31
lizmat ok, built now, still hangs :-( :-( :-( 13:32
nine Having Rakudo, nqp and MoarVM in separate repos makes bisecting really difficult.
lizmat $ perl6 -v
This is perl6 version 2014.08-276-g546f9f5 built on MoarVM version 2014.08-105-gc12720f
brrt should be new enough... 13:33
FROGGS[mobile] nine: at least you can rebuild moar without rebuilding anything else...
moritz nine: but imagine if parrot and MoarVM were in the same repo together with rakudo :-)
lizmat oddly enough, it doesn't eat any memory *or* CPU when it hangs
FROGGS[mobile] nine: try that with parrot
lizmat so it feels like some kind of deadlock 13:34
moritz but, here's a nice idea
build a "monster" git repo (probably with subtree) that consists of rakudo + nqp + moarvm, plus references to the original commits
and then you can bisect in the monster repo
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/install/lib/MAST/Nodes.nqp'" after rebuilding MoarVM
lizmat I completely re-downloaded MoarVM
that should be clean enough ???
brrt hmm yeah
JimmyZ weird
FROGGS[mobile] nine: Mast::Nodes almost never changes 13:36
brrt will try a clean os x build
tomorrow
nine FROGGS[mobile]: I guess I'm just lucky then :) Have no idea how to proceed on this...
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
lizmat nine: agree, but I wanted to be 200% sure :-)
FROGGS[mobile] nine: that does not clean submodules
brrt nine: nqp detects your reinstallation of moar, isnt sensitive to the acti
actual version 13:38
if you try to rebuild nqp then it will :-)
lizmat starting now with a fresh clone of rakudo :-( 13:41
13:43 anaeem1 joined
FROGGS[mobile] lizmat: that's insane 13:43
nine 2eee415 is good
FROGGS[mobile] (not you, the situation) 13:44
lizmat well, yes.. I agree
but it is blocking an other wise very fruitful hacking day :-(
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 left 13:46 anaeem1 joined 13:47 anaeem1 left 13:49 guru joined, ajr_ left 13:50 guru is now known as ajr_ 13:53 brrt left
lizmat completely clean build also hangs, rebooting now.. 14:00
14:00 lizmat left 14:01 lizmat joined, raiph joined
lizmat ok, still hanging after reboot on a clean git clone... 14:03
nine FROGGS[mobile]: disregad the privious. This should be it:
d05d411e968b3408420bbc7b02c1248f3dc005de is the first bad commit
github.com/rakudo/rakudo/commit/d0...8f3dc005de
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
*naughty
14:04 ajr_ left
lizmat nine: could that be the case ? 14:05
14:08 brrt joined, guru joined, guru is now known as Guest89040
lizmat hmmm.. seems like panda is only checking CUSTOM_LIB 14:09
that needs DISTRO, and that hangs for me... :-(
nine: what goes wrong with panda's bootstrap ?
jnthn lizmat: What hangs, ooc? Something local or something committed? 14:10
lizmat a clean git clone and build of rakudo
$ perl6 -e 'say qx/foo/'
14:10 Guest89040 is now known as ajr_
lizmat /bin/sh: foo: command not found 14:11
and then hangs
no CPU usage of note, not memory increase
jnthn No hang here... 14:12
brrt weird...
14:12 brrt left
jnthn Just pulled latest; building 14:12
14:12 tinyblak joined
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␤␤»
leont ^ not a very useful error :-/
moritz agreed.
jnthn lizmat: Not even on latest
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.
leont I was suspecting the same 14:15
Still, I like types
lizmat gist.github.com/lizmat/956f714d31f0bc43e6c5 # spindump 14:16
leont Giving it an explicit default value of Array[Type].new seems to work around the issue
moritz p6: sub foo(Int :@all) { }; foo() 14:18
camelia rakudo-jvm 546f9f: OUTPUT«(timeout)» 14:19
..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ @all is declared but not used at /tmp/tmpfile line 1:␤------> sub foo(Int :⏏@all) { }; foo()␤␤»
..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␤␤»
..rakudo-moar 546f9f: OUTPUT«cannot stringify this␤ in sub foo at /tmp/tmpfile:1␤ in block <unit> at /tmp/tmpfile:1␤␤»
moritz to me it looks like a bug during error reporting
lizmat jnthn: could the uvlib upgrade have something to do with it ? 14:20
14:22 PZt joined 14:23 Px12 left
jnthn lizmat: Quite possible 14:23
lizmat jnthn: the first thread in gist.github.com/lizmat/956f714d31f0bc43e6c5 shows some very deep uvlib trace 14:24
14:24 tinyblak left
dalek kudo/nom: cfd96ca | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Fix some broken cases of bind error reporting.

Reported by leont++.
14:24
lizmat the lck_mtx_sleep feels like we're deadlocking 14:25
14:26 Px12 joined, Px12 left 14:27 molaf joined
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, FROGGS[mobile] left
jnthn lizmat: Um, how the heck has libuv managed to create 4 threads here? :/ 14:29
14:29 treehug88 joined
lizmat running an external process may do that ? 14:30
jnthn Maybe.
But 4? :)
14:30 Px12 joined
jnthn All sat in select.. 14:30
lizmat the code I ran was 'qx/foo/'
yup 14:31
deadlock city, it appears ?
14:31 FROGGS[mobile] joined
jnthn It's not clear it's deadlock, in that there's no other thread seemingly holding a lock 14:32
14:32 SamuraiJack_ joined, mberends joined
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
moritz carlin++ # pandamonium 14:33
jnthn lizmat: Either way, it's blocking on *something*
(A read, it seems)
lizmat trying to read the STDOUT of the process??
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.
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
masak mberends! \o/
14:34 anaeem1_ left
jnthn lizmat: That'd be my guess, yes 14:34
14:35 Px12 left
lizmat hmmm... rebootstrap.pl in panda is also doing a lot of shelling 14:35
mberends masak!
lizmat perhaps nine is seeing the same underlying issue ?
jnthn Doesn't feel like it. 14:36
14:36 ajr_ left
lizmat shell() seems to work ok 14:36
jnthn And run?
lizmat run also ok 14:37
$ perl6 -e 'run "sw_vers"'
ProductName:Mac OS X
ProductVersion:10.9.4
BuildVersion:13E28
14:37 ajr joined
lizmat is brrt on OS X ? 14:37
duh, no, he isn't :-)
14:38 ajr is now known as Guest53969, Guest53969 is now known as ajr_
jnthn OK, so it's something about the read of the process stdout 14:38
lizmat wondering where qx is handled in the settings
moritz src/core/control.pm:sub QX($cmd)
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
moritz mberends! Long time no see! 14:40
lizmat putting some debug code in QX
moritz there are only three places it might reasonably hang 14:41
openbpipe, readallfh, closefh
lizmat jnthn: it seems to hang on my $result = nqp::p6box_s(nqp::readallfh($pio));
mberends hi moritz, nice to see you again! I'm beginning to learn to be a Debian Maintainer for Perl :-) 14:42
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 "==>" ?
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122679
moritz mberends: I've started to try to build a debian package for MoarVM, but so far it's an utter fail
(branch moritz/debian)
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
timotimo mberends: the Pyra is also mostly (or even completely!) open source
lizmat nine: I'm afraid I can't look at it now, as nothing works for me now :-( 14:46
moritz mberends: you need to build with 'dpkg-buildpackage -B', because building the source package is completely broken 14:47
14:47 ajr_ left
jnthn lizmat: Yes, it being readall matches the stack trace... 14:47
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:50 exodist_ is now known as Exodist
timotimo huh. the yapceu youtube account still only has the videos from the other room 14:51
mberends timotimo: yes, www.pyra-handheld.com/ says "as open as possible".
timotimo ah, right
mberends decommute &
14:52 JimmyZ_ joined, mberends left
dalek kudo/nom: 11d7482 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
Revert "Add initializer for @*INC and %*CUSTOM_LIB"

Need to figure out what's breaking panda first
14:52
lizmat nine: ^^
14:53 JimmyZ left
lizmat jnthn: what would be the best way of doing that ? 14:53
14:53 JimmyZ_ is now known as JimmyZ
nine lizmat: thanks, should work 14:54
moritz tries too
14:55 guru joined, guru is now known as Guest42399
jnthn lizmat: Revert fce509b and 8a98741 in MoarVM repo, and do a make realclean, then re-Configure and install it. 14:55
I *think* that would be sufficient 14:56
moritz yes, panda (re)bootstrap works again, lizmat++
lizmat and we also lost .035 on startup :-( 14:57
nine lizmat: only until you find the bug
jnthn lizmat: Aye, though we now also to get most of the way to having that win
lizmat: And that it actually is one.
lizmat hmmm... if I look in my nqp/MoarVM dir, there is an uncommitted change 14:58
is that to be expected?
in 3rdparty/libuv
-Subproject commit 666aa2f0683dc8b80954c01e5799d476e4068350
+Subproject commit 49cb40c47902dd04c7787e6543e9e13368dc1840
moritz uhm 14:59
it means the subproject wasn't updated to the desired version (iiuc)
hoelzro morning #perl6 15:00
lizmat moritz: so, should I revert that change and see what happens ?
hmmm... I can't stash the change ? 15:01
moritz lizmat: 'git submodule update'
lizmat diff disappears then 15:02
moritz make realclean, Configure.pl
see what happens :-)
lizmat building again... 15:03
dalek line-Perl5: 6cd2ce7 | Carlin++ | / (4 files):
add build scripts
15:04
moritz let's build again, like we did last summer
line-Perl5: 6214761 | Carlin++ | lib/Inline/Perl5.pm6:
work around is native() applying at compile time
line-Perl5: ba95dfb | Carlin++ | .gitignore:
add generated files to .gitignore
line-Perl5: 0e52591 | niner++ | / (6 files):
Merge pull request #1 from carbin/pandamonium

Make buildable with Panda
moritz sings
leont Is there any code I can look at to figure out (synchronous) pipe open?
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
moritz that's synchronous though 15:06
lizmat moritz: that's what leont asked, no ?
nine moritz: for sure
moritz oh
moritz can't read anymore, and should go homoe
*home
typing is hard, too.
lizmat interesting: it now hangs on building the restricted setting :-( 15:07
I'm getting to the point of saying AARRARARARHAGJHGKJGHSKGHJDHAGklj;/slravudk;gfoi.yv op;qiy3cpr0793[019mxz,.
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
lizmat first trying with 2 reverts that jnthn mentioned
nine github.com/rakudo/rakudo/commit/62...e860facd99
timotimo OK
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.
timotimo nine: did you do the sub foobar() is native { * } to sub foobar() is native { ... } transformation?
lizmat src/core/IO/Handle.pm, method lines ? 15:11
carlin wasn't the native { * } problem fixed in rakudo?
timotimo not sure
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 github.com/niner/Inline-Perl5/comm...e860facd99
leont lizmat: what would work for the input, but I'd need the return value of the process too :-/
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)
nine I guess your sub native trick does somehow remove the magic from is native { * }
carlin nine: what rakudo version are you using? 15:14
lizmat grr... something ate my reverts in MoarVM
leont hoelzro: thanks :-D 15:15
nine carlin: nom (11d7482548c8)
hoelzro no, thank you!
15:15 Guest42399 left
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
hoelzro META.info doesn't differentiate between testing and runtime dependencies, does it? 15:16
15:17 denis_boyun_ left
jnthn leont: I'm guessing you're looking for a synchronous versoin of IO::Proc::Async? 15:18
uh, Proc::Async...
jnthn noticed while writing that, that somehow we've ended up with async more capable than sync with process stuff now... 15:19
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
15:20 doug_ joined
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:20
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
*its
dalek atures: 7efe869 | (Carl Mäsak)++ | features.json:
add DESTROY

As it was just implemented by Moar.
15:22
jnthn Guess I should queue up doing the synchronous version that has the same capabilities...
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...
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 JimmyZ left
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:24
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:25
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 :/
japhb *sigh*
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...
japhb I hope so.
It is frustrating not being able to just say "Here's my actual code, let's pair-debug that crash into the ground." 15:28
timotimo i wonder if we'll get weak references/hashes/lists at some point in the near future 15:29
jnthn timotimo: No.
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
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
timotimo ah, of course :)
i'm not 100% clear on the change that changes parcel flattening behavior 15:33
15:34 zakharyas left
dalek kudo-star-daily: c99b1f5 | coke++ | log/ (12 files):
today (automated commit)
15:34
rl6-roast-data: 7ef5987 | coke++ | / (6 files):
today (automated commit)
lizmat reiterates that it shouldn't be called DESTROY
as it will put too many p5ers on the wrong foot
jnthn doesn't actually care what it's called, and leaves it to language design :) 15:35
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.
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. :)
lizmat afk&
jnthn o/ lizmat 15:37
[Coke] S32-temporal/DateTime.rakudo.moar aborted 108 test(s) <- most of the rakudo.moar failures.
jnthn Hmm...wonder what bbusted that...
lizmat could be the initializer for $*TZ
can't test right now.. :-( 15:38
really afk&
[Coke] ... actually all 3.5 backends are failing that test that way.
jnthn Passes all 219 tests for me here
[Coke] jnthn: try in a cron-like no-env setting.
jnthn [Coke]: Er...in Windows-speak? :) 15:39
[Coke] (though it could be a linux/windows diff). let me check on OS X.
jnthn [Coke]: I ran it under prove, fwiw. Same outcome.
geekosaur service? DETACH?
[Coke] jnthn: when I run the tests, I do it from the scheduler; so any user-level ENV vars are not set.
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.
lizmat masak: disagree, the purpose in Perl 6 *is* different
[Coke] rant: submodules suck. 15:41
lizmat DESTROY in P5 is for timely release of internal *and* external resources
P5 people depend on DESTROY to release database handles timely
so the database server doesn't get clogged with too many database connections
PerlJam good * #perl6
lizmat P6 will never do that
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.
lizmat and only when the system thinks it's a good idea
leont hoelzro: actually, in my latest plans you might even be able to skip the parsing itself
hoelzro leont: oh? how's that?
lizmat masak: because DESTROY has a timely component in it for most of the Perl world
leont Or actually, the lexer
lizmat if you want timely, you need to do things yourself
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
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.
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 :-(
leont If Test has a Test::Builder behind it, you can feed that to a parser object without any data-stream being involved
masak perl78: I dig that nick. you're way ahead.
hoelzro cool 15:44
perl78 so i working on some perl6 idea and i was wondering, how does it handle big data?
jnthn
.oO( TAP from the future doesn't say OK, it says AFFIRMATIVE )
jnthn needs sleep; early $dayjob tomorrow 15:45
PerlJam perl78: faster than before, but slower t han we'd like?
jnthn 'night
timotimo gnite jnthn!
perl78 mmm, cool still
lizmat good night, jnthn
cycling&
PerlJam perl78: or ... it handles big data in parallel ... asynchronously. :)
japhb 'night, jnthn
masak perl78: if you can process it line by line, without holding resources between lines, you should be able to scale right up!
PerlJam perl78: or ... I need more context :-) 15:46
perl78 thats good
oh crap i got to go ttyl perl peeps
masak nice to meet you
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.
japhb
.oO( Are perl peeps made out of marshmallow? )
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.
in all of these cases, there's the same name but different semantics. why is DESTROY a big problem but not these? 15:50
oh, and bless works differently but has the same name. 15:52
15:52 perl78 left
hoelzro m: my $f; sub f is rw { $f } ; f = 7 15:52
camelia rakudo-moar 11d748: OUTPUT«===SORRY!=== Error while compiling /tmp/86J7bdMeZB␤Preceding context expects a term, but found infix = instead␤at /tmp/86J7bdMeZB:1␤------> my $f; sub f is rw { $f } ; f =⏏ 7␤»
hoelzro ='(
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 nuisanc 15:53
hoelzro is that a 'kudobug?
japhb m: my $f; sub f is rw { $f } ; f() = 7
camelia ( no output )
masak hoelzro: no, just a listop expecting a term there. 15:54
hoelzro ah ha
thanks japhb, masak
japhb np
15:54 fhelmberger left
masak lizmat, PerlJam, japhb: I still disagree, but I find the discussion interesting. 15:54
I think my hangup is simply that I like the name DESTROY and I'd hate to see it go. 15:55
fwiw, I disliked the renaming of EVAL, too. I still think it was a silly, useless, mostly political move.
PerlJam masak: how do you feel about CLEANUP or just CLEAN :)
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.
masak PerlJam: I note that it's not a very good opposite of BUILD :)
timotimo we should call it DESTORY, so that p5ers will rightfully stumble over it and think twice ... 15:56
PerlJam masak: DISMANTLE?
;)
masak *sigh*
japhb CONFLAGRATE
PerlJam DEMOLISH
japhb DEFENESTRATE
PerlJam OBLITERATE
japhb PerlJam: Oooh, nice one 15:57
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.
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. 15:59
Perl 6 is the language of tomorrow (and always will be!) -- hence, it fundamentally orients itself towards not-so-timely GC. 16:00
and thus, fundamentally, its DESTROY doesn't guarantee timeliness.
it *does* however guarantee that your process will either terminate or eventually pick up your garbage.
16:00 kaleem joined
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
and the exact name of DESTROY is more or less immaterial in that. (and I like the name, and it's hard to beat.)
leont japhb++ # defenestrate
masak leont: that one is obviously Windows-specific :) 16:02
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?
ribasushi just out of curioisty - is a refcounted option available (like it is in C#)?
PerlJam RAZE
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.
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)
dalek line-Perl5: a4efe46 | Carlin++ | lib/Inline/Perl5.pm6:
use { ... } instead of { * }
16:06
line-Perl5: aa5bea3 | niner++ | lib/Inline/Perl5.pm6:
Merge pull request #2 from carbin/pandamonium

use { ... } instead of { * }
16:07 denis_boyun joined
dalek line-Perl5: 3f1cb2f | Carlin++ | META.info:
add META file for panda install
16:07
line-Perl5: 01542a3 | niner++ | META.info:
Merge pull request #3 from carbin/panda-meta

add META file for panda install
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..."
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
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
masak ribasushi: I... know parts of the answer, but I'm not the one who should answer that definitively.
PerlJam ah.
masak ribasushi: just-went-to-sleep jnthn probably is.
carlin nine: do you mind if I add Inline::Perl5 to panda's ecosystem? 16:10
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 raiph left
nine carlin: please do it :) 16:13
PerlJam firefish5000: picky how?
leont masak++ # good one :-p
16:14 donaldh left
masak firefish5000: ...no? :) 16:15
firefish5000: not knowing what you mean exactly, let me throw this in to save us both some time:
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
(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.)
PerlJam was guessing that firefish5000 was meaning "picky" to describe things like requiring whitespace in certain contexts. 16:17
dalek osystem: c5048a6 | Carlin++ | META.list:
add Inline::Perl5, nine++
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 Pleiades` left
masak 'night, #perl6 16:19
PerlJam good night masak. Sleep well. Dream well. Be rested ;) 16:20
er, :)
timotimo p6weekly.wordpress.com/?p=228&s...dd77a45b41 - need input for the parcel thingie - though other input is appreciated as well, of course. 16:21
btyler timotimo: do you do modules? I hacked this up quickly when someone mentioned markdown in p6, might be useful to someone: github.com/kanatohodets/p6-text-ma...n-discount 16:23
NativeCall is so great
16:24 Pleiades` joined
timotimo cool, i'll mention it :) 16:26
i only looked at the ecosystem repository, where i didn't see it show up :)
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:27
timotimo yeah, that's a tough problem 16:28
16:28 xinming left
timotimo for more than just perl6 modules 16:29
i'll be AFK for a bit; feel free to keep the feedback coming 16:31
firefish5000 retracts his after reading S05 on <.ws> 16:35
s/his /his statement / 16:36
timotimo matching <.ws>* is always a fun experience
firefish5000 <.ws> was eating the newlines I was trying to match. 16:38
timotimo ah, yes 16:39
whitespace can make matching stuff quite fiddly
Grammar::Tracer is always quite helpful, I find
as is the Rakudo::Debugger
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/)
colomon has had bad luck historically with Rakudo::Debugger
firefish5000 Are those builtin? 16:43
16:44 mrf left 16:45 anaeem1_ joined
firefish5000 googles them 16:45
Grammar::Debugger and perl6-debug. 16:49
16:49 mberends joined 16:50 tinyblak left, kaare_ joined 16:52 anaeem1_ left
firefish5000 also has bad memories with the debugger (through his own fault). 16:52
16:57 dakkar left
timotimo OK :) 16:57
16:57 ivanshmakov left
timotimo firefish5000: what you need is the Debugger Cmdline UI thingie 16:57
16:58 ajr_ left, ajr joined 16:59 ajr is now known as Guest44425, Guest44425 is now known as ajr_
carlin panda's projects.json isn't updating again... Last-Modified: Wed, 03 Sep 2014 10:50:03 GMT 16:59
tadzik hmm, cron must be borked 17:01
17:02 ivanshmakov joined
timotimo oh, junctive operators are iffy? 17:03
m: say 1 !& 2 17:04
camelia rakudo-moar 11d748: OUTPUT«===SORRY!=== Error while compiling /tmp/ngBNCneAi1␤Cannot negate & because it is not iffy enough␤at /tmp/ngBNCneAi1:1␤------> say 1 !&⏏ 2␤»
timotimo seems like an LHF to fix in S99
(in the section "iffy")
17:05 jack_rabbit joined
colomon std: say 1 !& 2 17:05
camelia std 53b3ca6: OUTPUT«ok 00:01 123m␤»
colomon n: say 1 !& 2
camelia niecza v24-109-g48a8de3: OUTPUT«False␤»
timotimo interesting.
colomon rakudobug?
timotimo seems like
17:06 [Sno] left, virtualsue left 17:07 leont left, chenryn left 17:09 ajr_ left
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
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
according to the whims of the implementation
so it seems that it will be impossible to write non-implementation-specific tests for it 17:11
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
an implementation is free not to call one if it's about to terminate the program
17:12 sivoais left
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.
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
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:14
17:15 SamuraiJack_ left
dalek ecs: a660c9b | grondilu++ | S99-glossary.pod:
Update S99-glossary.pod

missing 2 in =head2 for fat comma
17:15
17:15 gfldex joined
pmurias vendethiel-: after calling a foo method defined as "void foo() {Bar bar;}" isn't the Bar destructor always called? 17:17
timotimo LHF: rosettacode.org/wiki/Rosetta_Code/R...ity#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:20
carlin could also make it use the API instead of scraping 17:26
timotimo could do that, aye
well volunteered for building a mediawiki api module ;)) 17:27
carlin hmm, I might do that one day 17:28
dalek ecs: 5e65af5 | grondilu++ | S99-glossary.pod:
Update S99-glossary.pod

terminate <list|list context>
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.
hangs on building the restricted setting.
[Coke] tries a cleaner build.
rant: how to force a rebuild of nqp/moar from rakudo when you already have an installed verison? 17:30
*version 17:31
timotimo usually you can just "make clean"
[Coke] I should be able to --force a rebuild from scratch, even if I already have an installed version.
timotimo my p6weekly post is published now, btw :)
[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 ecs: 90e090d | grondilu++ | S99-glossary.pod:
Update S99-glossary.pod

fix named link syntax
17:33 zoosha left
timotimo that's with --gen-nqp and --gen-moar? 17:33
in that case, you can just cd into that directory and build anew
17:33 gmunoz joined 17:34 gmunoz is now known as zoosha
[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?
[Coke] that is, "what is the current status of rakudo on the JVM"
timotimo uh, kid51? what did i miss?
tadzik it's rakudo-specific after all
timotimo oh, that was on the users mailing list
17:36 liztormato joined
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 telex left
[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
So. OS X is busted. ;-( 17:38
carlin it works for everyone else... you OS X users are nothing but trouble :p
timotimo oh, there's of course also the "clean rebuild" problem ...
17:38 telex joined
liztormato Cycling again& 17:38
17:38 liztormato left
[Coke] timotimo: right. I can't do a clean rebuild without blowing away my installed version. 17:40
timotimo you ... can't? 17:42
17:42 anaeem1_ joined 17:44 vike left, vike joined 17:45 flussence left 17:46 flussence joined
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:52
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.
timotimo OK :) 17:54
oh
when i moved my system from hdd to ssd, i didn't move over the components tree
japhb Ah. 17:55
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 ...
oh, quickstart! i forgot about that! 17:57
that will also run benchmarks for me, won't it?
japhb Yeah.
It basically churns for a while and produces your first historical comparisons.
timotimo OK, i'll shut down some programs and get off the keyboard for a bit :) 17:58
tadzik blasphemy!
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. :-)
timotimo hm, did we actually switch moarvm to enable the jit by default nowadays?
anyway. bbl :)
japhb timotimo: Nope, and I believe we should. 17:59
tadzik +1
18:00 doug_ left
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
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
18:01 rindolf left
japhb is in favor of keeping Configure.pl clean of will-never-really-be-used options 18:01
18:05 rindolf joined 18:07 anaeem1_ left
[Coke] timotimo: no, I can't - how can I force a rebuild of nqp if a recent enough version is already installed? 18:08
18:08 zoosha left
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, gmunoz_ is now known as zoosha
[Coke] r: say &die ~~ Callable 18:13
camelia rakudo-{parrot,jvm,moar} 11d748: OUTPUT«False␤»
18:15 molaf_ joined
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
18:18 molaf left
japhb
.oO( Take off and nuke it from orbit. It's the only way to be sure. )
18:18
Speaking of which, does rakudobrew do this yet? That might push me to stop keeping a local ad-hoc solution for this. 18:19
tadzik does what? 18:20
oh, it doesn't do local-cloning 18:21
japhb tadzik: It's really worth it. :-)
tadzik it's a big saving, I agree
patches welcome :)
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:22
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
18:23 anaeem1 joined
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:24
dalek line-Perl5: c2a9fb1 | nine++ | / (2 files):
Fix refcnt of SVs returned from Perl 5 functions to Perl 6
18:26
18:27 BizarreCake left
leedo am i alone in having trouble building moar rakudo? it hangs building RESTRICTED.setting 18:28
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
timotimo oh my. i come back and it's still compiling 18:31
[Coke] japhb: even if I did that, it STILL wouldn't fix my problem of having to remove the installed version. 18:32
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)
[Coke] timotimo: I came back and I'm still checkout out nqp. :P
FROGGS leedo: a `make realclean` in MoarVM is needed, because we updated one of its submodules
18:33 virtualsue joined
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
timotimo ah, 2014.03
leedo and it still hangs
FROGGS leedo: you are up-to-date? 18:36
leedo FROGGS: yeah, did a fresh git clone from github
i'll try this again
FROGGS hmmmm
leedo: are you on osx?
leedo yep
FROGGS leedo: that might be it 18:37
lizmat++ has trouble on osx also
leedo ah ok
thanks!
i'll try it without --enable-jit 18:38
dalek line-Perl5: 9e80b93 | nine++ | p5helper.c:
Fix leaking strings when returning strings from Perl 5 to Perl 6

Seems like NativeCall doesn't actually free the strings returned from native functions. So pass a pointer to the original string back instead. This will be free'd with the SV.
Might be a bug in NativeCall though, so maybe we'll have to revert this later on.
18:39
FROGGS leedo: either that, or go back to bf66354bd2fe61a8fd2f0e0acc7bccbf39fa642d in rakudo
18:39 Px12 joined
FROGGS leedo: I can't help much here, because I've got no osx virtualbox at hand :/ 18:40
18:40 Px12 left
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…»
FROGGS damn
leedo FROGGS: yeah disabling jit doesn't help, i'll just go with that commit 18:41
18:43 Px12 joined, Px12 left
[Coke] arglebargle. rebuild fails because submodules/git protocol. 18:45
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
leedo i'll try narrowing it down some more 18:46
18:47 brrt joined
FROGGS leedo++ 18:47
brrt leedo: are you on mac os x?
leedo brrt: yeah
brrt ah
18:47 Px12 left
brrt lizmat had the same problem, she's also on os x 18:48
i too suspect a libuv problem
(that's the issue with dependencies that hold abstractions. they leak and you don't know where :-))
firefish5000 how might one use grammar for replace (for instance, I need to replace $parsed<Old> completely with $!new ) 18:49
(thinks it would be bad practice to put it in the actions class, but finds that rather tempting to try) 18:51
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
or better substr-rw($string, $from, $to - $from) = $!new
18:53 molaf_ left
firefish5000 Yes! that sounds like it would work quite well! (though I didnt get the second one) 18:53
dalek kudo/nom: f7dc2f7 | (Tobias Leich)++ | src/core/control.pm:
stringify args passed to run()
18:54 brrt left
timotimo i'm running benchmarks now! 18:54
dalek ast: 0dfa273 | (Tobias Leich)++ | S29-os/system.t:
use $*EXECUTABLE in run() tests

This variable gives correct results now on all rakudo backends.
18:55
firefish5000 FROGGS, oh, now I get it (to-from an offset)
18:55 Px12 joined 18:56 Px12 left
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
camelia rakudo-jvm 11d748: OUTPUT«perl6-j␤»
..rakudo-moar 11d748: OUTPUT«perl6-m␤»
..rakudo-parrot 11d748: OUTPUT«perl6-p␤»
moritz and I often wish there was a substr form with from, to 18:57
[Coke] r: say $*EXECUTABLE
camelia rakudo-jvm 11d748: OUTPUT«IO::Path</home/p6eval/rakudo-inst/bin/perl6-j>␤»
..rakudo-parrot 11d748: OUTPUT«IO::Path</home/p6eval/rakudo-inst-2/bin/perl6-p>␤»
..rakudo-moar 11d748: OUTPUT«IO::Path</home/p6eval/rakudo-inst/bin/perl6-m>␤»
[Coke] moritz: is RT #121528 closable now? ^^
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121528
timotimo moritz: and then it ought to be a required named parameter and both should be possible
FROGGS [Coke]: I was searching for it right now :o)
moritz [Coke]: aye
FROGGS++, [Coke]++ 18:58
[Coke] FROGGS++ moritz+++
heh.
FROGGS hehe
[Coke]++ moritz++
I had to :P
[Coke] I like how I unintentionally full justified.
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)."
timotimo nine: psst. almost nobody actually adheres to that note
[Coke] FROGGS: also RT #121811 18:59
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121811
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
FROGGS [Coke]: yes, that is was my parrot patch actually solved
err, fixed
18:59 raiph joined
[Coke] so maybe you get a ticket for free. 18:59
leedo FROGGS: if i revert the libuv upgrade commit in moar it doesn't hang 19:01
timotimo >_> 19:02
19:02 darutoko left
FROGGS leedo: okay, good to know 19:02
lizmat: sorry :3
timotimo japhb: would it make sense to only build and profile the highest number of perl5's major releases? 19:03
19:03 kaleem left
timotimo instead of 5.18.0, 5.18.1, 5.18.2? 19:03
and who knows what else :P
19:03 virtualsue left
PerlJam timotimo: btw, add OSLT to S99 :) 19:03
19:03 Px12 joined
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
(In `bench quickstart`, I mean.)
dalek line-Perl5: 58bf188 | nine++ | p5helper.c:
Fix leaking arguments passed to Perl 5 functions
19:05
line-Perl5: 9d88882 | nine++ | p5helper.c:
Fix leaking array contents passed to Perl 5
timotimo OK, fair enough
japhb And if the perl5-porters manage any nice performance increases, the line won't be dead flat anymore. :-)
timotimo i don't think they'd improve the benchmarks we have much ;) 19:06
at least not the microbenchmarks
Failed to run command: install/bin/perl -E my %h; for (0 .. (0 - 1)) { %h{$_} = $_ }; while (my ($k, $v) = each %h) { $k == $v }; 1
that doesn't seem right
does the scale parameter for that benchmark need fixing?
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.)
leedo FROGGS: could it be the 1 passed after the buf, in uv_fs_read here? github.com/MoarVM/MoarVM/commit/fc...a3e1de5R98 19:07
lizmat leedo: how did you revert the libuv upgrade ?
[Coke] r: Any.exists("A");
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.␤------…»
japhb timotimo: Interesting, that's not failed in the past that I'm aware of .... Which perl5 version, and which perl6-bench rev?
leedo lizmat: i did a clean MoarVM checkout and did a git revert
timotimo latest master, 5.18.2 i think 19:08
japhb Huh.
lizmat git revert of what commit?
leedo fce509b4fb59609bf14560043e382f5a0157c74f
[Coke] r: Any:exists("A");
camelia ( no output )
japhb Do we still have a perl5 evaluator on channel?
FROGGS leedo: no, the 1 is the number of buffers to read, not the amount of bytes anymore
leedo FROGGS: ah ok
timotimo 5.18.2, yes
leedo lizmat: and the following commit as well, not sure if that was necessary
japhb How do we call it?
p5: say "hello" 19:09
FROGGS lizmat: the upgraded libuv seems to be faulty on osx
japhb Apparently not that
lizmat FROGGS: so how are we going to fix that ?
FROGGS p5eval: say 42
lizmat revert the libuv upgrade?
it's not just me who's having trouble anymore
19:09 [Sno] joined
FROGGS lizmat: I hope not... I mean, we have to upgrade anyway at some point 19:09
lizmat: I want to debug it first 19:10
lizmat ok
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.
pmurias maybe we should have something like that?
FROGGS [Coke]: what infrastructure? 19:13
dalek line-Perl5: 96c389c | nine++ | / (2 files):
Fix leaking keys of hashes passed to Perl 5
FROGGS [Coke]: we don't have travis, and we don't have osx smokers
timotimo pmurias: aye, it does. we have LEAVE phasers that you can use in the very same way
[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
FROGGS [Coke]: I'd love to have that, for sure
lizmat timotimo: LEAVE should fire, even with an exception 19:15
19:16 dwarring joined
nine How do I free callbacks passed to NativeCall functions? Just free()? 19:16
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 19:18 mr-foobar left
timotimo ah 19:18
not my intention
dalek ast: c888e81 | coke++ | S02-types/deprecations.t:
unfudge tests (RT #120413)
19:19
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120413
pmurias what types are the callbacks? 19:20
19:21 Salai is now known as HatakeKakashi
[Coke] r: my @a = ^512; my %b = @a; my %c = eval %b.perl; 19:21
camelia rakudo-{parrot,jvm,moar} 11d748: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ eval used at line 1␤␤»
[Coke] r: my @a = ^512; my %b = @a; my %c = EVAL %b.perl;
camelia rakudo-jvm 11d748: OUTPUT«(timeout)»
( no output )
pmurias nine: does NativeCall support callbacks? 19:22
19:22 BizarreCake joined
nine pmurias: yep. You get ordinarly function pointers in C and when you call them Perl 6 code gets executed. Pure awesome magic! 19:24
[Coke] RT #120656 is taking up 650% of a CPU on my box. 19:25
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120656
19:31 PZt left 19:34 anaeem1 left, anaeem1 joined
pmurias nine: freeing those seems to be suspect 19:37
19:39 joescript joined
lizmat finally has a working system again :-) 19:40
joescript /msg NickServ joescript Craft123!!
timotimo joescript: that's not quite how you identify to NickServ
you need to put "identify" after the NickServ, too
lizmat two commits need to be reverted: fce509b4fb59609bf14560043e382f5a0157c74f and 8a98741d24de403c20c4b32769cd4801a9cdcdd4
timotimo also, may be a good idea to change your password now :(
joescript ok thanx 19:41
lizmat then do a configure with --gen-moar=HEAD (I guess) 19:42
joescript hello
so i was working on some perl6, and really like the repl part of it 19:43
timotimo hello joescript :)
you do? wow. our REPL is kind of crappy as compared to python or julia for example
joescript also had a question, how does perl6 handle big data? 19:44
vendethiel- timotimo: you havn't played with racket's :p
(it's bad)
timotimo joescript: sadly, rakudo on moarvm is somewhat memory-hungry :(
i have not tried "big data" stuff with it at all yet
joescript well its a start and i really like perl, it has a unique syntax and function to it
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
nine: and don't call free() on the pointer 19:46
lizmat hmmm... all sorts of segfaults in the spectest suit...
suite
timotimo oh damn
nine pmurias: I already tried free() and saw it explode :) 19:47
pmurias: leaking that memory would suck big time. It's two callbacks per Perl 6 object passed to Perl 5 code.
pmurias nine: as that sort of pointer would have to be handled with dcbFreeCallback(...) by moarvm 19:48
19:48 denis_boyun left
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
timotimo i'm not entirely sure how to refer to a callback you plopped into some C land function before 19:49
dalek line-Perl5: e05a93d | nine++ | / (2 files):
Fix leaking Perl 5 wrappers of Perl 6 objects.

We still leak the Perl 6 objects themselves though. Susupect the callbacks to be the source of the leak.
timotimo except by putting it into a list or variable or something in perl6 code
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
?
hoelzro joescript: I maintained a homebrew up until February
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
timotimo joescript: the versions you'll find on distros are often quite outdated, sadly :(
nine: more importantly, you also have to pass the threadcontext with everything you do
nine timotimo: oh yes, that, too.
joescript :( really
well lucky i do source 19:53
timotimo if you do source, you'll probably like rakudobrew
joescript but it would be great to get more people involve in testing, that y i ask
any package manager for perl6? 19:54
[Coke] I think we'd prefer testing source, not distro-latest, though, no
?
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...
timotimo yes, the package manager is called "panda"
rakudobrew will build a panda for you if you "rakudobrew build-panda"
find the modules on modules.perl6.org
(we are going to get onto cpan at some point)
pmurias timotimo: managing the lifetime of the callback from Perl 6 code seems to be the only solution
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.
pmurias what happens to installed modules? 19:58
[Coke] you have to reinstall and rebuild them every time you upgrade. 19:59
er, rebuild and reinstall.
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 :)
[Coke] so, new version of rakudo? reinstall the 10 modules you already installed, if you remember what they ware. 20:00
20:02 pyrimidine joined 20:05 treehug88 left
pyrimidine [Coke]: doesn't 'perl6 rebootstrap.pl' reinstall your installed modules? Did for me (though all I had was NativeCall) 20:06
20:07 raiph left
FROGGS lizmat: I'm setting up an osx box now, but that seems to take its time... 20:10
lizmat: I guess I should move the libuv upgrade in a branch
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 :-(
camelia rakudo-moar f7dc2f: OUTPUT«1:4:5␤===SORRY!===␤Start of substr out of range. Is: 5, should be in 0..1␤»
..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␤␤»
..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…»
FROGGS these are the three commits than need to be moved: fce509b4fb59609bf14560043e382f5a0157c74f 8a98741d24de403c20c4b32769cd4801a9cdcdd4 cf8088a28e894610309b0b7327de0d5b7dfcafb2
gfldex i think fail is failing to throw
FROGGS lizmat: okay, I'm doing that now then
pyrimidine lizmat++ 20:12
FROGGS note to all ppl: after I revert the libuv patches, make realclean in MoarVM is needed after pulling...
pyrimidine was getting scared to update my OS X install
joescript so the only 2 vm we are focus is MoarVM and JVM 20:15
FROGGS lizmat: done 20:16
20:16 djanatyn left
FROGGS leedo: you can use HEAD now again, I reverted the libuv upgrade 20:16
lizmat shall I bump REVISIONS ? 20:17
FROGGS lizmat: ohh yes
20:17 pyrimidine left
FROGGS I forgot about that 20:17
lizmat ok, will do
FROGGS lizmat++
dalek p: aa1c70f | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION to downgrade libuv
20:19
kudo/nom: f449794 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to downgrade libuv
20:20
20:20 djanatyn joined 20:22 guru joined, guru is now known as Guest4432, Guest4432 is now known as ajr_ 20:24 dolmen joined, Timbus joined
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:28 mberends left
lizmat hmm... can't reproduce that here :-( 20:29
m: say now 20:30
camelia rakudo-moar f7dc2f: OUTPUT«Instant:1410208248.449143␤»
20:30 PZt joined
lizmat now uses $*TZ as a default value ? 20:30
FROGGS hmmmm
lizmat m: say local
camelia rakudo-moar f7dc2f: OUTPUT«===SORRY!=== 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
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…»
FROGGS ahh, in in-timezone
20:32 rindolf left
FROGGS however, gnight all 20:32
lizmat $ perl6 -e 'say DateTime.now'
2014-09-08T22:32:02+0200
good night. FROGGS!
20:33 TimToady left 20:34 TimToady joined 20:35 Px12 left 20:36 mberends left, BizarreCake left 20:38 Px12 joined, Px12 left 20:40 FROGGS[mobile] left 20:43 HatakeKakashi is now known as DrSeki 20:46 gtodd joined 20:53 mberends joined 21:04 Rotwang left
lizmat timotimo++ # p6weekly 21:04
21:06 virtualsue_ joined, itz joined
vendethiel- ooh, there's DESTROY now? 21:07
lizmat but with different semantics...
timotimo lizmat: thank you :)
lizmat from p5
carlin timotimo++ indeed
timotimo yay :) 21:08
21:08 kaare_ left, itz_ left 21:09 virtualsue left, virtualsue_ is now known as virtualsue
timotimo carlin: so your github user is carbin and your irc name is carlin? 21:10
that would explain why i get it wrong all th etime :)
dalek kudo/nom: 372d5a7 | (Elizabeth Mattijsen)++ | src/core/Env.pm:
Add initializer for $*CWD
[Coke] "To achieve great things, two things are needed: a plan and not quite enough time." 21:12
- Leonard Bernstein
21:13 _thou joined
timotimo i wonder how long this benchmark run is going to take ... i wanted to play some vidya games tonight :) 21:13
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 ?
nine lizmat: that's what I thought. But it doesn't even get called in pure Perl 5 { Foo->new } 21:15
21:22 muraiki left, muraiki joined
nine I'll have another look at this tomorrow. Good night! 21:22
lizmat good night, nine! 21:25
21:27 itz_ joined
lizmat is tired of looking at the @*INC / panda issues 21:27
good night, #perl6! 21:28
21:28 virtualsue_ joined 21:29 itz left, virtualsue left, virtualsue_ is now known as virtualsue
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:29
21:31 BenGoldberg joined 21:38 anaeem1 left 21:42 bonsaikitten joined, xiaomiao left
carlin timotimo: yes, carlin wasn't available on github so I had to improvise 21:42
21:43 virtualsue left
timotimo OK :) 21:49
benchmarking 2014.04 of rakudo-moar now ... 21:50
that'll go up until 2014.08 and then have master following that
so maybe no video games today :\ 21:53
21:54 pmurias left
japhb It's for a good cause. :-) 21:56
21:57 leont joined, gfldex left 22:20 BenGoldberg left 22:30 dolmen left 22:31 raiph joined 22:32 denis_boyun left 22:37 chenryn joined 22:46 ajr_ left 23:08 raiph left 23:10 ab5tract joined
timotimo camelia doesn't do p5eval, right 23:10
?
p5: print "hello"
eval: print "hi"
apparently nobody does ...?
23:11 ab5tract left 23:16 pyrimidine joined 23:19 Px12 joined 23:22 ab5tract joined 23:25 raiph joined 23:26 spider-mario left
masak timotimo: we've had that on and off here. 23:38
buubot did it, f'rex.
ab5tract TimToady: I submitted a pull request for LoL-ing that symmetric difference set operator we were poking at the other day
dalek ecs: 3137e18 | (Timo Paulssen)++ | S99-glossary.pod:
Did a small test across all of S99.

Fixes typos, outdated references to "moarvm coming soon", adds text for postcircumfix, SC, slurpy. Adds the lemma + explanation "unspace".
23:40
timotimo ^- hopefully a pleasant read
masak TimToady: have you had time to ponder gist.github.com/masak/1322886ed7092c522bd8 -- modulo details, it still feels to me like the way to change things.
s/ --/ ? --/ 23:41
23:46 _thou left
timotimo cool, my benchmark run is up to "nom" 23:46
damn, what the heck am i going to do once we beat perl5 in most benchmarks?! 23:47
23:49 jerrycheung joined
ab5tract am i crazy or should `p6doc -f perl6/spec/S01-overview.pod` open the synopsis? 23:53
23:53 BenGoldberg joined
ab5tract timotimo: which benchmarks are winning against perl 5 these days? 23:54
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
we beat perl5 pretty handily on rational numbers
23:59 pyrimidine left