»ö« 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/PjObNw3QDPMissing 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/tmpfileTwo terms in a rowat /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 6Parse 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 +=1Parse 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«hiNil» | ||
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/86J7bdMeZBPreceding context expects a term, but found infix = insteadat /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/ngBNCneAi1Cannot negate & because it is not iffy enoughat /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 1Please 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/tmpfileUndeclared 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:5Start 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:5Start 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/f0ps5pbgYiUndeclared 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
|