»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:01 ruoso joined 00:11 pythonian4000 is now known as pythonian4000afk 00:25 Schwern joined 00:45 aindilis joined 00:49 QinGW joined 00:50 isBEKaml left 00:58 QinGW left, QinGW joined 01:07 ruoso left 01:09 stkowski left 01:26 ruoso joined 01:30 risou left 01:39 redicaps joined 01:44 thowe joined 01:45 pythonian4000afk is now known as pythonian4000 01:47 thowe left 01:52 araujo left 01:54 Entonian left 01:55 bluescreen joined 02:12 rvrgs joined 02:15 whiteknight left 02:16 araujo joined 02:19 zostay left 02:20 zostay joined 02:44 redicaps left 02:48 redicaps joined 02:55 redicaps left 03:01 mfollett joined 03:25 meppel joined 03:28 mfollett left 03:30 meppl left 03:32 mfollett joined 03:34 _twitch joined 03:37 agentzh joined 03:43 Trashlord left 03:47 pythonian4000 is now known as pythonian4000afk 04:01 satyavvd joined, rvrgs left 04:04 nymacro joined 04:13 Bucciarati left 04:14 Bucciarati joined, Schwern left
mfollett Is the official return type of a subroutine part of what the dispatcher uses to determine which subroutine to dispatch? 04:33
04:36 dukeleto left, dukeleto joined 04:40 davidfetter joined
davidfetter hello 04:40
i'm looking for places where people are using perl6 in production. any pointers?
mfollett n/m, I found my answer, it doesn't seem to work for arrays for some reason. 04:46
oh, no, it doesn't seem to be doing it at all. 04:47
04:51 kjeldahl joined
eternaleye mfollett: Is it declared multi? as in 'multi sub foo( Int @foo )' 05:07
Oh wait, misread
It's not possible to be multi on *return* types, see past discussion on want() and wantarray() for reasoning 05:08
mfollett eternaleye: It wasn't, but yeah, as you point out I can't anyway.
05:16 sftp left 05:27 mberends left 05:30 araujo left, meppel left, meppl joined
davidfetter anybody? 05:32
05:33 kjeldahl left, araujo joined 05:37 betterworld left, betterworld joined 05:40 mfollett left 05:41 mfollett joined, Juerd left, pmichaud left 05:42 zb left, zb joined 05:47 pmichaud joined 05:49 synth joined 05:51 kaare joined, kaare is now known as Guest89532 05:52 [synth] joined 05:53 synth left 05:55 araujo left 05:57 Guest89532 is now known as kaare_, [synth] left 05:58 jhuni joined 05:59 synth joined 06:02 [synth] joined 06:03 synth left 06:07 wamba joined, [synth] left 06:09 synth joined, justatheory left 06:12 mfollett left 06:13 rhr left 06:16 zby_home_ joined 06:17 kjeldahl joined 06:25 wtw joined 06:36 masonkramer left, masonkramer_ joined 06:41 xabbu42 left 06:42 Juerd joined 06:58 rindolf joined
rindolf Hi all. 06:58
Tene hi! 06:59
07:00 nymacro left
rindolf Tene: what's up? 07:00
07:02 nymacro joined
diakopter davidfetter: as usual it depends on what you mean by "in production" 07:05
07:06 baux joined, rindolf left 07:19 envi joined, zostay left 07:20 zostay joined 07:30 mavrc joined
jnthn morning, #perl6 07:36
07:42 _twitch left 07:59 Ghost9998_ joined
Ghost9998_ ok 07:59
hi guys
perl6 08:00
rakudo
wtf commands dont work
08:01 Ghost9998_ left 08:02 mavrc left 08:03 meway joined, kensanata joined
meway Hey if anyone is interested in video game development pm me I need some developers sorry for brodcasting this in this channel 08:04
08:05 Nahem joined, Nahem left 08:07 timbunce joined, timbunce left, timbunce joined 08:10 mavrc joined 08:12 flatwhatson_ joined 08:18 cls_bsd joined 08:23 xabbu42 joined 08:26 ggoebel joined 08:31 ggoebel left
moritz_ good morning 08:32
08:34 wamba left 08:36 ggoebel joined
jnthn o/ moritz_ 08:43
moritz_ \o/ we have a submission to the challenge 08:44
the wording isn't optimal in places, but the logic seems to be fine
jnthn Nice! 08:46
08:53 Trashlord joined 09:01 dakkar joined 09:02 IllvilJa left 09:04 pythonian4000afk is now known as pythonian4000 09:07 REPLeffect left 09:14 masak joined
masak oh hai #perl6! 09:15
09:17 meway left
moritz_ oh hai masak 09:17
patch pushed to hypererr branch
I want to do another test run on a different machine 09:18
masak it's so confusing that 'patch' is a nick... 09:19
moritz_ man context :-) 09:20
masak No manual entry for context 09:22
:(
moritz_ there's a debian package with such manual entries
masak not surprised.
09:23 REPLeffect joined
masak "(1,2,3,{cat => 1, dog => 2}) >>+<< (3,4,5,{cat => [6,7], dog => 8}) \n Structures are of uneven length and not dwimmy at element [3, cat]. Length 1 vs. 2." -- if that patch goes in, I might have a crack at making the path location look more like .[3]<cat> 09:23
moritz_ actually I thought about that too 09:25
just remember that <foo bar> is not the same as .{'foo bar'} 09:26
so you need proper escaping
masak: patch is in the hypererr branch - feel free to improve it :-) 09:27
masak aye aye sir.
masak goes to it
hm, didn't think about the escaping issue. tricky. 09:28
moritz_ you can just use .perl output 09:29
masak hm. .substr'd on both sides. 09:34
moritz_ why? 09:35
masak oh, you mean for the .{'foo bar'} case specifically? right, then I can just use the string. 09:36
but actually, I need to escape in the .<cat> case as well.
moritz_ .<cat\ dog> ? 09:37
masak or .<cat\>dog>
moritz_ would prefer .{ $str.perl } 09:38
moritz_ gives it a shot 09:39
masak ++moritz_
moritz_ would be much more productive if it didn't take 12 or 15 minutes to recompile the setting 09:44
masak compiling the setting is such a bottleneck.
jnthn It takes...12 or 15 minutes now?! 09:45
jnthn last had it at 3 or 4...
09:49 mj41_ joined, kolibrie_ joined, moritz__ joined, hillu_ joined, pjcj_ joined, masak left, xabbu42 left, pjcj left, moritz_ left, cosimo left, mj41 left 09:50 literal left, larsen left, hillu left, kolibrie left, larsen joined, mj41_ is now known as mj41, masak joined, cosimo joined, xabbu42 joined 09:51 moritz__ is now known as moritz_ 09:54 EdwardIII left 09:55 literal joined
moritz_ setting compilation has now been running for 15 mins 45 sec 09:59
10:11 QinGW left
moritz_ 33min, and counting :( 10:16
nymacro you need a better 486 10:21
moritz_ no, I need a better parrot 10:22
and now it complains that it can't read the old packfile format 10:23
nymacro: how long does it take on your machine, with latest parrot? 10:28
nymacro I'll give it a check 10:30
haven't actually timed it before
10:34 rhr joined
nymacro moritz_, timing perl configure w/ --gen-parrot 10:36
real3m41.757s
I assume you're not doing anything extra? 10:38
10:39 IllvilJa joined
IllvilJa o/ 10:39
nymacro lo 10:41
11:10 ruoso left 11:19 ggoebel left
moritz_ nymacro: I'm talking about the 'make' step, not the configure stop 11:26
nymacro moritz_, this included the make :) 11:27
moritz_ oh
nymacro under 4 mins for parrot, under 6 for rakudo 11:28
moritz_ and that's with the newest parrot, and newest rakudo?
moritz_ can't believe it
baest and not using deep blue?
s/deep blue/blue gene/, but anyhow a super computer 11:30
11:30 pythonian4000 is now known as pythonian4000afk 11:31 ggoebel joined 11:32 allbery_b left
moritz_ masak: please take another look at the hypererr branch 11:33
nymacro moritz_, was I supposed to be building from non-master branch?
moritz_ nymacro: no; the branch doesn't really matter 11:34
nymacro: it didn't used to be so slow for me, and I suspect it was a change to the parrot GC
nymacro even so, 33min+ seems a little steep
moritz_ yes 11:35
11:35 ggoebel left
moritz_ PerlJam: just a small reminder that you're the release manager this month 11:35
masak moritz_: I'm kind of on the move; will look when I have the time. 11:37
moritz_ masak: no hurry 11:38
11:38 zby_home__ joined 11:40 zby_home_ left, _ilbot2 left, _ilbot2 joined, ChanServ sets mode: +v _ilbot2 11:44 satyavvd left 11:46 masak left 11:59 zby_home_ joined 12:01 zby_home__ left 12:15 _twitch joined, ggoebel joined 12:16 Schwern joined 12:37 meraxes left 12:46 bluescreen left 12:51 plainhao joined 12:59 bluescreen joined 13:00 tzhs joined
colomon profiling runcore works again! (according to parrot release notes) 13:11
jnthn Ooh, nice
colomon sounds like they made a number of improvements based on things from this channel in the last two weeks. parrot team++ 13:13
davidfetter diakopter, by "production," i mean software actually deployed to the public. a working web site powered by perl6, e.g. 13:17
moritz_ davidfetter: then strangelyconsistent.org/ is an example of Perl 6 use in production
13:19 Patterner left
davidfetter moritz_, so perl6 is serving that page somehow, or...? 13:20
davidfetter sees some very cool docs, etc., but isn't quite seeing the where the perl6 is acting rather than being described 13:21
moritz_ davidfetter: it generates the HTML pages that are served from this page
davidfetter k
13:22 Schwern left
davidfetter that's pretty great. what else is out there? :) 13:23
13:30 skids joined 13:31 Psyche^ joined, Psyche^ is now known as Patterner
davidfetter one context of my questions is that i'm pitching pl/parrot, a parrot embedding in postgresql. pl/perl6 is a supported language 13:34
well, pl/rakudo
if there are DSLs or other kinds of super-moby perl6 magic people are using out in the real world, that could help me write up examples, pitch to different segments of interest, etc.
dalek kudo: 3905e0e | moritz++ | build/PARROT_REVISION:
bump PARROT_REVISION to the 2.9.0 release
13:39
kudo: 6f30584 | moritz++ | src/core/metaops.pm:
Improve error message for non-dwimmy hyper ops

Patch courtesy by Timothy Bollman With some wording improvements by moritz.
This recursively tracks the indexing path in hyperops, and prints that path on error. Also elaborates on the nature of the different shapes, either different length or types (Hash vs Scalar/List or so)
kudo: f17e400 | moritz++ | src/core/metaops.pm:
[hyper] emit proper indexing path with .[] and .{} on error
ast: 0fed615 | moritz++ | S11-modules/require.t:
[require.t] fudge a test that never passed
13:42
13:46 satyavvd joined 13:47 davidfetter left, kaare_ left 13:53 plobsing left
moritz_ std: (] 13:54
p6eval std : ( no output )
moritz_ oh
jnthn mmm...if you tilt your head it looks like a muffin.
Clearly std nommed it :-) 13:55
colomon moritz_++
moritz_ turns out I forgot to clone std on the new p6eval server
13:56 xinming joined 14:06 kjeldahl left 14:09 pythonian4000afk is now known as pythonian4000 14:10 Schwern joined
pmichaud good morning, #perl6 14:13
phenny pmichaud: 18 Oct 22:36Z <jnthn> tell pmichaud I'm very uncomfortable with ++ and -- ops in NQP. They're very assigny, in an otherwise purely bindy language. The hack way to do them without assignment will corrupt my constants table ('cus, I haz one ;-)). Having them in Parrot's nqp-rx will only prevent us from doing that optimization. Vote to deprecate.
jnthn morning, pmichaud
14:13 szabgab joined
pmichaud jnthn: I strongly resisted placing ++ and -- into NQP but was loudly outvoted/criticized for it. 14:14
how about if we make them "macros"? 14:16
i.e., $a++ is translated by the compiler to be $a := $a + 1
(in the PAST)
jnthn pmichaud: Well, then it's ++$a ratehr than $a++ 14:19
14:19 wtw left 14:20 _kaare joined
pmichaud then whatever sequence gives us the correct semantics (e.g., a temporary result before the increment) 14:20
jnthn Yeah, guess that's easier but still...how hard is it for folks to write $x := $x + 1; 14:21
pmichaud I'm just saying that "lack of increment" got very loud complaints from nqp users
14:21 agentzh left 14:22 rgrau_ joined 14:23 MayDaniel joined, Italian_Plumber joined
jnthn pmichaud: OK, at least you tried to keep things sane. :-) 14:26
pmichaud the other possibility would be to create an 'inc' opcode that does what we want :-) 14:27
jnthn Well, but since we want to bind...
We need to know the name of the thing.
pmichaud oh, true 14:28
silly ++ operator.
jnthn My feelings exactly. ;)
It's a fine operator - when you have assignment. :-)_
pmichaud in this case, I'm guessing that perhaps inc/dec really want their own pasttype, then. they're very common to languages
jnthn I fear that's missing the point (more) 14:29
Having them in a language properly means it needs to have some model of assignment, so far as I can see.
PerlJam Good morning!
jnthn: so ... you're adding assignment to NQP :-)
? 14:30
pmichaud I'm not entirely certain that's the case.
jnthn PerlJam: uh, no :P
pmichaud: Consider my $a := 2; my $b := $a; $a++; say($b);
If we re-write it to $a := $a + 1; then $b is no longer bound the result
I guess it works
It's just...not that you'd expect in real Perl 6, which does have assignment. 14:31
pmichaud right, I don't necessarily see a huge problem with that.
jnthn Which means we get a semantic mis-match.
It may not be a big deal.
pmichaud there are a few places where semantic mismatches will occur no matter what we do.
(short of making NQP into full Perl 6, or giving it full-on assignment)
jnthn True. 14:32
I'm not opposed to re-writing it to $foo := $foo + 1
I don't think the current implementation can stand though.
pmichaud I'm not entirely opposed to eliminating ++ for now and see what we end up with.
there are only 5 occurrences in Rakudo, afaict 14:33
there's one instance in NQP itself 14:34
go ahead and deprecate/eliminate it for now, and we'll see about adding it back in when we decide we really need it 14:35
jnthn OK, thanks. 14:37
colomon my rakudo build seems to be taking a very long time this morning? 14:43
moritz_ colomon: mine too 14:44
colomon: 33min or so
moritz_ is glad he's not the only one
colomon I haven't been paying enough attention to know how long, just that I would have expected it to be done by now.
PerlJam Hmm. I didn't notice my build taking too long, but the spectests seem to be taking longer than I thought they would. 14:45
14:48 ikes joined, ikes left
pmichaud tries a build 14:49
14:49 MayDaniel left 14:52 x3nU is now known as piwnicowy, piwnicowy is now known as x3nU 14:57 MayDaniel joined 14:59 mfollett joined 15:07 orafu left 15:08 orafu joined 15:09 satyavvd left
jnthn Decommute 15:11
15:11 slavik1 joined 15:12 tzhs left
pmichaud yes, the build is taking a horrendously long time 15:13
probably time to bisect 15:14
15:15 jhuni left 15:16 allbery_b joined
colomon pmichaud: seems like it was a very recent change -- at least, I certainly didn't notice my build from a day or two ago being particularly slow. 15:24
pmichaud colomon: yes, I'm running some tests now 15:25
colomon pmichaud++
15:25 TimTom joined
moritz_ can confirm that 15:26
15:30 pythonian4000 is now known as pythonian4000afk
TimTom rakudo: my %a = (a => 1, b => 2, c => 3); say (%a >>=><< (1, 2, 3)).perl 15:30
p6eval rakudo d35769: OUTPUT«Sorry, right side is too short and not dwimmy.␤ in 'hyper' at line 251:CORE.setting␤ in main program body at line 1␤»
TimTom rakudo: my %a = (a => 1, b => 2, c => 3); say (%a >>=>>> (1, 2, 3)).perl 15:31
p6eval rakudo d35769: OUTPUT«{"a" => 1 => ((1, 2, 3)), "b" => 2 => ((1, 2, 3)), "c" => 3 => ((1, 2, 3))}␤»
15:31 kjeldahl joined
TimTom It may just be me, but that seems like it's not what we want to reporting. 15:31
colomon TimToady: latest build says this:
TimTom err returning
colomon Sorry, structures on both sides of non-dwimmy hyperop are not of same shape:
left: Hash
right: Parcel
TimTom, sorry.
TimTom yea, I understood 15:32
colomon that's for the first one, latest build.
moritz_ colomon: fwiw, TimTom++ submitted the original patch 15:33
which reminds me, I forgot to reply to the mail on p6c
TimTom Well, my patch didn't have the Hash, parcel thing
colomon ah, TimTom++ indeed!
moritz_ TimTom: right, I added that
TimTom I saw it, but wasn't sure what we wanted to do with it, so I mulled it over the night 15:34
moritz_ TimTom: your patch kept the "shorter" thing, which can be very confusing for {a => 1} >>+<< [1, 2, 3, 4, 4, 5, 6]
it would complain that the right side is too short, even though it looks much longer than the right
TimTom Well, it just kept whatever was a hash
moritz_ ss/than the right/than the left/
TimTom err Associative 15:35
The only thing I can think of for % >>x>> @ is that they would want to match each hash key randomly with some array elment (based on the hash key iteration) 15:36
moritz_ well, random behaviour is bad 15:37
colomon you could do .kv on the @ and make a hash, I suppose...
15:38 kcwu left, Ross joined, Ross left, Ross joined
TimTom It's not completly random. The thought is that it would be used to have the hash elements transformed into a index, value pair. For something like %h >> (1 .. *) 15:38
I like colomon's better though
15:38 kcwu joined
moritz_ let me rephrase: when mechanisms become too magical, they get hard to understand, and produce weird results in corner cases 15:39
15:39 lihaitao joined
moritz_ so I'd rather have less magic, and better error messages :-) 15:39
TimTom Oh, I wasn't disagreeing, I was just stating that there's really no good way to make it do anything that someone would want
that I could see at least 15:40
pmichaud for comparison, time needed to build rakudo 2010.09 on my box ("perl Configure.pl --gen-parrot; time make"): 3m44s
moritz_ then I misunderstood, and we're all in violent agreement :-)
TimTom Quite :)
pmichaud time needed for rakudo head with parrot 2.9.0: 7 minutes and counting
I'll cancel it at 10 minutes and bisect to an earlier parrot 15:41
PerlJam blames parrot but secretly hopes he's wrong.
15:42 MayDaniel left
pmichaud yeah, if it's parrot.... we're going to be in for a not-so-fun couple of days :( 15:42
15:43 am0c left
TimTom It just promotes a... different... build style. You do half the work, compile. Then work on the other half while it compiles. You can then check if your first half was a good change or not. 15:43
pmichaud 10m30s
cancelling build -- trying with r49387 (sep 30) 15:44
15:47 lihaitao left, molaf joined 15:48 mfollett left 15:49 davidfetter joined
davidfetter perl6: say "Hello to my little frien'!" 15:49
p6eval pugs, rakudo d35769: OUTPUT«Hello to my little frien'!␤»
pmichaud rakudo head on parrot r49387: 4m16s 15:52
trying r49541
15:56 molaf left 15:57 flatwhatson_ left
TimTom moritz: the patch you submitted for hyperops has a copy-paste mistake at line 66 of metaops.pm, it should be @rhs not @lhs. Also, I think lines 144 and 158 should maybe be $rhs.WHAT.perl() as well in case the Associative isn't a hash 15:58
15:58 flatwhatson left
TimTom moritz: and the recursive hyperop integrate that I did for Associative omitted [ ] around the Iterable call that was in the Iterable hyperop (line 124). I'm not sure if those were neccessary, but I assume they were 16:00
moritz: ... or maybe those were actually because we were using "push", and they aren't neccessary 16:01
pmichaud 49541: 4m22s
so it's something very recent.
16:01 justatheory joined 16:02 kensanata left, ruoso joined
pmichaud gist.github.com/634456 # current table of build times on my machine 16:03
moritz_ TimTom: looking...
16:03 araujo joined
PerlJam pmichaud: check out -r49557 16:06
that at 49556 mess with GC and the other revisions seem to be mostly doc patches and such. 16:07
16:07 flatwhatson_ joined
pmichaud PerlJam: should I cancel my current build to try 49557? 16:07
PerlJam I'm just guessing based on the log messages. I haven't run it yet. 16:08
pmichaud I'd like to get a complete timing of the build on 2.9.0 to be able to report that
I can probably try 49557 on another machine just to see
16:10 PacoLinux left, flatwhatson joined 16:11 PacoLinux joined
jnthn home 16:13
davidfetter work 16:14
jnthn pmichaud: (build speed) Ouch. 16:16
pmichaud: Want me to run a build of anything here at all?
pmichaud only if you want to see a painfully slow build :-)
jnthn :P
pmichaud I suppose it would be interesting to see if it's slow on mswin, though. 16:17
jnthn *nod* 16:18
I'll try 49556 and 49557. 16:19
16:19 mberends joined
jnthn yayitsmberends! 16:20
16:20 risou joined
davidfetter very sorry to be trolling like this, but is looking around desperately for any perl6 production deployment anywhere. failing that, something that's gotten to staging, and failing that, to development 16:20
this isn't perl6 itself, but software written in it
jnthn november-wiki.org/ used to be up... :-( 16:21
pivo.jnthn.net/ uses a few bits of Perl 6 and there's source at github.com/jnthn/pivo 16:22
pmichaud I'm trying 49556 right now on a different box
jnthn It's tiny but demonstrates working usage of MiniDBI, JSON::Tiny plus uses Blizkost to get at a Perl 5 module.
pmichaud: Aye, that's building here at the moment.
pmichaud I'll try it on my "timing box" when my timing box gets done building against trunk (20 minutes so far) 16:23
jnthn *sigh*
16:23 Kodi joined, Ross left
Kodi rakudo: class C { has $.x }; sub f($x) { C.new: :$x }; say (f (1, 2)).perl; 16:23
p6eval rakudo d35769: OUTPUT«C.new(x => ((1, 2)))␤»
pmichaud lists.parrot.org/pipermail/parrot-d...04929.html # message to parrot-dev
jnthn Yes, that just landed here. 16:24
16:24 Ross joined
Kodi ^ Known? This seems to be the root cause of the failure in trans.t, although it predates the Rakudo change that caused the failure. 16:25
pmichaud Kodi: we know that a change to rakudo resulting in a trans.t failure, yes. 16:26
we haven't quite figured out why yet.
(but we know that the change is correct)
16:27 TimTom left
pmichaud r49556 builds in a reasonable amount of time. 16:28
16:28 cdarroch joined, cdarroch left, cdarroch joined
pmichaud now passing 25 minutes 16:29
(still working on core.pir)
ah, core.pir just finished
16:30 risou_ joined
pmichaud gist.github.com/634507 # 26m41s with 2.9.0 release 16:31
16:31 risou left
jnthn pmichaud: 6:48 on 49556 16:34
16:34 coldboot left
pmichaud yes, I had 7m on my slow box 16:34
I'm trying it now on my timing box
jnthn OK. Trying 49557 now.
pmichaud it's looking very much like 49557 is the culprit on my second box 16:35
s/second/slow/ 16:36
49556 is 4m20s on my timing box 16:38
16:41 flatwhatson_ left 16:42 flatwhatson left, zby_home_ left 16:43 flatwhatson_ joined 16:45 meppl left 16:46 baux left 16:48 flatwhatson_ left 16:49 MayDaniel joined, MayDaniel left, MayDaniel joined
moritz_ phenny: tell masak I'm sure you've seen it before -- if not, look at ds9a.nl/amazing-dna/ 16:49
phenny moritz_: I'll pass that on when masak is around.
jnthn pmichaud: Confirm big difference here between 49556 and 49557. 16:51
(The latter hasn't finished yet, but it's almost reached double now) 16:52
PerlJam It runs the GC potentially 16 times as often
pmichaud PerlJam: more than 16, I'd think 16:54
PerlJam yes, you're probably right
jnthn That or we're being really, really dominated by GC.
pmichaud jnthn: based on the other tests I've done, I suspect we are being dominated by gc (e.g., some of the strings tests) 16:55
jnthn: my results are mirroring yours -- I'm at 15 minutes now in r49557, where r49556 took 4m20s previously 16:56
PerlJam I wonder if that gc_threshhold is really implemented correctly. If whatever counter is being used to set the allocations so far isn't reset when it hits 16M, then you'll get a GC run for every allocation above 16M
jnthn Yup, over 16 here.
pmichaud chromatic weighed in on parrot-dev that he thinks it's r49557 also 16:57
moritz_: that dna url is fascinating
moritz_ indeed :-)
16:59 flatwhatson_ joined 17:01 dakkar left
jnthn
.oO( Maybe it's dominating 'cus it's actually a Sweep and Mark collector ;-) )
17:02
23 minutes...still on core.pm. 17:03
PerlJam How many objects are typically allocated during a rakudo compile? 17:05
17:06 flatwhatson joined
jnthn Finally done - 26:04 17:06
17:08 xabbu42 left 17:09 sftp joined, Axius joined 17:10 MayDaniel left
pyrimidine moritz_: good link (DNA URL) 17:11
pmichaud PerlJam: millions... maybe more 17:12
every subroutine or method call creates at least one object
jnthn Context + LexPad + exception handler + RPA that holds it # 4 already... 17:15
#phasers in 102 mins? 17:17
moritz_ yes 17:18
jnthn k
dalek kudo: fbe7445 | moritz++ | src/core/metaops.pm:
fix a typo noticed by TimTom++
17:19 alester joined
pmichaud gist.github.com/634604 # build timings 17:22
afk, lunch
jnthn :/ 17:23
Even if we get back to 49556's performance, it's still a regression from 2010.09.
jnthn -> noms, bbfp
pmichaud (regression) yes, but it's hard to claim that's a Parrot issue. Rakudo did add some features in that time that could account for the increased time. 17:24
(now afk) 17:25
diakopter trac.parrot.org/parrot/ticket/1829
pmichaud we could potentially try building 2010.09 on 2.8.0 and see how long that takes.
er, 2010.09 on a more recent parrot 17:26
pmichaud tries 2010.09 on r49556, just to see wha thappens.
17:27 isBEKaml joined 17:31 M_o_C joined, timbunce left 17:34 Entonian joined 17:37 rgrau_ left, MayDaniel joined 17:38 timbunce joined
davidfetter jnthn, um, please tell me this is generated code. github.com/jnthn/pivo/blob/master/j...4.2.min.js 17:40
moritz_ davidfetter: it is. The .min is "minimized" javascript
PerlJam davidfetter: it is. That's your standard minimized jquery
17:41 risou_ left 17:42 risou joined
davidfetter ah 17:42
17:47 nymacro left 17:49 rgrau left 17:53 M_o_C left 18:03 Axius left, Axius joined 18:04 rvrgs joined 18:06 ab5tract joined 18:07 mikehh joined
Util Pushed fix for long build time 18:08
18:10 synth left
dalek kudo: d497078 | Util++ | build/PARROT_REVISION:
Bump PARROT_REVISION to resolve abnormally long R build
18:12
colomon Util++ 18:14
moritz_ Util: note that the rakudo releases always target parrot releases; so we need to do something about that
18:15 _twitch left
Util moritz_: I expect that a release manager will make a 2.9.1 release as soon as everyone agrees that the problem is fixed. 18:15
jnthn back 18:25
davidfetter: Yes, minimized. ;-) 18:26
18:26 jaldhar left 18:27 ylando joined, ylando left, isBEKaml left 18:28 risou_ joined 18:31 risou left
pmichaud Rakudo Parrot Time needed for rakudo's "make" 18:32
2010.09 49192 2.8.0 03m44s
2010.09 49556 04m14s
davidfetter jnthn, know of other perl6 deployments?
pmichaud So yes, Parrot exhibits a 13% slowdown between 2.8.0 and 2.9.0 . 18:33
18:34 envi left 18:35 ggoebel left, masonkramer_ left 18:36 masonkramer joined 18:38 isperl6doneyet joined
isperl6doneyet hi, my name is my question 18:38
PerlJam isperl6doneyet: it's a bogus question.
isperl6doneyet how so?
PerlJam isperl6doneyet: Is Perl 5 done yet? If so, why are they still working on it?
isperl6doneyet true, i should be more specific about "done"
i'll work on that.. thanks
18:39 isperl6doneyet left
PerlJam hopes he comes back 18:39
BinGOs bellowing noiseholes making sounds that could be words.
jnthn pmichaud: Unlucky... 18:44
davidfetter: No...maybe we should start a wiki page somewhere for collecting them.
PerlJam jnthn++ 18:45
sorear good * #perl6
jnthn '*, sorear 18:46
18:46 Axius left 18:53 ggoebel joined 19:00 flatwhatson left, rgrau joined
pmichaud -1 to #phasers 19:02
er, T-1 to #phasers
(not voting it down :-)
jnthn :P
pmichaud davidfetter: masak++'s blog is written using Perl 6 (strangelyconsistent.org/) 19:03
(didn't know if that had been mentioned yet) 19:04
19:04 timbunce left
sorear it's the only thing that's been mentioned yet 19:04
19:11 timbunce joined, estrabd left 19:12 flatwhatson joined 19:13 snearch joined 19:17 risou joined, risou_ left 19:22 MayDaniel left, MayDaniel joined, MayDaniel left 19:28 Trashlord left 19:30 risou_ joined, risou left 19:35 estrabd joined 19:38 synth joined 19:40 plainhao left
davidfetter pmichaud, what sorear said. 19:40
19:43 icwiener joined 19:52 tylercurtis joined, mfollett joined
sorear tylercurtis! 19:55
hi!
tylercurtis Hi, sorear.
19:56 ylando joined, Entonian left
ylando hello 19:56
mberends hi ylando 19:57
ylando it is a chat room about developing perl6? 19:58
moritz_ yes
ylando do you have an help chat room 19:59
so i will not waste your time
moritz_ we also answer Perl 6 questions here
19:59 Italian_Plumber left
ylando perl6 can run on server ? 20:00
do cgi ?
moritz_ yes
20:00 patspam joined
ylando do you have doc about it? 20:00
20:01 mfollett left
moritz_ well, the common gateway interface is language agnostic 20:01
ylando but you have an appche guide
moritz_ and the "November" wiki has a module for it - should be somewhere in github.com/viklund/november/ 20:02
ylando thanks
i will check it out 20:03
bye
20:03 ylando left
sorear tylercurtis: how goes bennu? 20:03
BinGOs wouldn't traditional cgi be hideously slow 20:05
moritz_ it is
flussence yes, but everyone uses fcgi these days
or if not that, something like it 20:06
x3nU cgi can be fust if used smartly
davidfetter so the common gateway interface is...uncommon?
x3nU i mean, dont generate whole page every visit
tylercurtis sorear: not much progress (though a little) due to lack of tuits. How goes Niecza?
x3nU but generate static html files
and use cgi only for commiting changes
moritz_ then it's not CGI, is it?
x3nU like posting comment
etc
davidfetter
.oO(UGI)
20:07
flussence I used to have a trick for that actually...
in apache-speak, "DirectoryIndex index.html index.cgi", then have the second save its output to the first when accessed
of course, it only works for urls ending in / ... 20:08
davidfetter how would you decide when to expire the .html?
sorear tylercurtis: irclog.perlgeek.de/phasers/2010-10-19#i_2925857
flussence davidfetter: that's a caching issue. caching is hard ;) 20:09
davidfetter let's go shopping!
</barbie> 20:10
20:12 xabbu42 joined
tylercurtis sorear: impressive. 20:15
davidfetter niecza? 20:17
sorear niecza: say "Hello, world" 20:18
p6eval niecza 4f60774: OUTPUT«sh: /opt/perl-5.12.1/bin/perl: not found␤»
20:18 molaf joined
moritz_ oops 20:19
sorear it's a lot faster now
moritz_ lol
sorear anyways davidfetter it's an implementation of Perl 6 I've been playing with 20:20
20:20 p6eval left
sorear probably the most awkward to set up atm 20:20
20:20 p6eval joined, ChanServ sets mode: +v p6eval
moritz_ niezca: say 3 20:20
davidfetter niecza: say "'Hello' to my little frien'!"
p6eval niecza 4f60774: OUTPUT«'Hello' to my little frien'!␤»
davidfetter al pacino as niecza 20:21
dalek albot: 6a11357 | moritz++ | evalbot.pl:
fix niecza target
20:22
sorear davidfetter: I'm trying to get STD to run a bit faster 20:23
davidfetter a little scared
what does STD stand for?
sorear STanDard
20:28 rvrgs left 20:31 ruoso left 20:34 patspam left 20:35 justatheory left
colomon with latest rakudo, it appears $file.close isn't called automagically after writing a file. 20:35
20:36 ggoebel left 20:38 risou_ left
colomon gist.github.com/635055 20:38
above gist is my first attempt at golfing the issue. 20:39
I suspect something to do with GC?
pmichaud I suspect it's something to do with the filehandle not being closed
or flushed
colomon pmichaud: right, but that's supposed to happen automatically, no? 20:40
jnthn You can't rely ont he file handle being closed at block exit in Perl 6, afaik.
colomon (it certainly did happen automatically last time I tried the code in question, but that was a bit back.)
nor at program exit?
jnthn Equally, not flushing it when it gets collected feels...odd.
pmichaud rakudo's program exit is.... odd 20:41
jnthn colomon: I'd have kinda hoped it'd make it before program exit.
pmichaud we made some workarounds in order to avoid the odd exit code to the test harness, iirc.
moritz_ over in #parrotsketch chromatic argues that extrem slowness isn't "broken"
pmichaud i.e., Rakudo's program exit isn't a default exit
moritz_ pmichaud: you mean the explicit call to exit 0?
colomon ah, for what it's worth, I get the same behavior in d357695b83624648d594bf78518a5c907da965d9, which is from Sunday. 20:42
pmichaud moritz_: right
moritz_ pmichaud: that's to bypass global destruction
colomon so I jumped to conclusions thinking it was another bug from the latest parrot.
pmichaud and global destruction is where I would expect PMCs to be flushed/closed :) 20:43
jnthn moritz_: *sigh*
moritz_ some weeks ago I tried to remove it
and got some endless loops during spectests
dalek odel: d89333d | mberends++ | java/compiler/compile.pir:
[java/compiler] add compile.pir which was being .gitignored
20:45
20:46 pythonian4000afk is now known as pythonian4000 20:47 bluescreen left
colomon RT #78454 20:48
pmichaud 20:41 <moritz_> over in #parrotsketch chromatic argues that extrem slowness isn't "broken" 20:55
I'm not planning to take a strong position for/against the extreme slowness, fwiw. Except to say that if Rakudo compiles are going to take 25+ minutes, I'm likely to do a lot less work on it.
szbalint Yes it is. That's why nuclear power plants are running timing tests even after formal proofs verifying a system :) 20:56
moritz_ would recommend to ship the R* release with the old rakudo+parrot, unless there's a fix to that
pmichaud oh, that's a possibility as well.
anyway, I'm willing to see where Parrot decides they want to put their priorities and react to that, rather than try to push for any particular outcome. 20:57
PerlJam moritz_: if R* ships with an older rakudo, what then is new in R*?
pmichaud might be nothing... and that could be okay. 20:58
20:58 bluescreen joined 20:59 pyrimidine left
PerlJam a "book changes only" release of R* seems weird (that's all I can think of that's changed) 20:59
20:59 molaf left 21:01 pothos left, pothos joined 21:02 Italian_Plumber joined
pmichaud PerlJam: that's one of the possiblities of monthly releases, though. There could be some months w/o significant changes. 21:02
PerlJam sure. It just seems weird.
21:03 Ross left
PerlJam looks like #ps is collectively sane today. :) 21:03
21:03 Ross joined, ggoebel joined, pothos left 21:04 pothos joined
pmichaud I am planning to go ahead and run spectests on 2.9.0.... just to see what it ends up looking like :) 21:04
sorear tylercurtis: Anyways, I've been experimenting with some backend portability stuff for Niecza 21:06
I have CLR dependencies pushed all to the back end, except for a few yaks left in RxOp 21:07
21:09 skids left
tylercurtis sorear: interesting. Are you planning on working on a non-CLR backend anytime soon? 21:12
21:12 Ross left
sorear FSVO soon, yes 21:14
21:14 justatheory_ joined
tylercurtis What targets are you interested in? 21:16
sorear CLR-sans-C#, simple bytecode, custom VM, Parrot 21:19
I am doubtful of how much short-term benefit I'll be able to get with a custom VM, though 21:20
I'd be giving up Mono's generational garbage collector 21:21
also, I would probably still have to simulate a stack for CALLER:: to work
(custom VM = LLVM based)
21:22 ggoebel left
jnthn nqp: my @l := (1,2,3,4,5); @l[2] := 42; say(@l); 21:22
p6eval nqp: OUTPUT«sh: ./nqp: not found␤»
jnthn my @l := (1,2,3,4,5); @l[2] := 42; say(@l[2]); # 42
pmichaud: ^^ This probably would not work in Perl 6 since a parcel is read-only, but does work in NQP since we use RPA. Do you see things staying this way? 21:23
e.g. (1,2,3,4,5) actually makes something mutable?
pmichaud jnthn: I'm not sure that the resulting bind becomes a Parcel -- it might end up being a Seq
jnthn Ah, OK 21:24
And Seq is...mutable?
moritz_ nqp: say(1)
p6eval nqp: OUTPUT«1␤»
pmichaud well, at present all lists (including Seq) allow push/pop
so they're mutable in that sense
I don't see a problem with saying that elements of a Seq can be rebound
jnthn And @foo[52] := blah style things?
OK 21:25
pmichaud but that might not work out. There are still a lot of gray areas and corner cases to be addressed.
21:25 _kaare left
pmichaud ultimately I'd probably be happer with my @l := @(1,2,3,4,5) to explicitly make a list or array 21:25
jnthn *nod* 21:26
I'll make it work like NQP on Parrot for now.
pmichaud wfm
sorear ooh then we could finally have hash constructors
21:26 plobsing joined
sorear out 21:26
jnthn 5 out of 7 tests in 17-positional.t pass :-) 21:27
pmichaud I'm been toying with the notion of giving PCT/PAST a 'hash' constructor type to go along with the 'list' constructor type. :-)
jnthn Hashes are next on my NQP.NET hit list I think. :-) 21:28
Tssk. I need return at some point before I can even think about ClassHOW too. 21:29
21:30 kjeldahl left
tylercurtis Metamodel implementation-detail question... Classes are packages, but what is the thing that is a package for classes? Is it the HOW, the WHAT, or is there just a package that corresponds to the class? 21:31
21:32 rvrgs joined
jnthn .WHO gets the underlying package. 21:33
.WHAT is the type object, .HOW is the meta-object. 21:34
21:34 Entonian joined
moritz_ rakudo: say Int.WHO 21:34
p6eval rakudo d35769: OUTPUT«Int␤»
moritz_ rakudo: say Int.WHO.WHAT
p6eval rakudo d35769: OUTPUT«Method 'WHAT' not found for invocant of class 'Int'␤ in main program body at line 22:/tmp/FDRhTD0kkY␤»
21:35 Schwern left 21:36 ggoebel joined 21:39 zby_home_ joined
dalek odel: 17d7665 | jnthn++ | dotnet/compiler/Actions.pm:
A little more undef removal.
21:39
odel: 704d03a | jnthn++ | dotnet/runtime/Runtime/Ops.cs:
A little tweak to lllist_bind_at_pos to make life easier for code generators and enhance op consistency.
odel: ebb368a | jnthn++ | common/NQP/NQPSetting.pm:
[common] NQPArray.bind_pos plus some missing coercion methods.
odel: 5cac036 | jnthn++ | dotnet/compiler/PAST2DNSTCompiler.pm:
[dotnet] Get keyed_int in place enough for array lookups (but can not has binding yet).
tylercurtis Ah, right. I forgot about WHO. 21:40
21:40 bluescreen left 21:44 ggoebel left 21:45 snearch left 21:53 timbunce left 22:00 stkowski joined 22:01 meppl joined 22:02 sftp left 22:09 mavrc left 22:16 zby_home_ left
dalek odel: d22037d | jnthn++ | dotnet/compiler/PAST2DNSTCompiler.pm:
[dotnet] Refactor the way we compile binds. Pass the thing to bind down in a contextual rather than relying on the structure of the tree that comes back up, otherwise we're very restricted with what kinds of stuff PAST::Var nodes can produce.
22:22
odel: e6de8a1 | jnthn++ | t/nqp/17-positional.t:
We now pass 17-positional.t.
takadonet jnthn++ 22:25
22:26 ab5tract left
dalek odel: 4d3bf73 | jnthn++ | t/nqp/21-contextual.t:
Turns out we have enough in place to pass 21-contextual.t too. :-)
22:27
odel: 7a40c79 | jnthn++ | t/nqp/36-callable.t:
36-callable.t also passes - it just checks subs are first class.
22:33
jnthn Mmmm. Staropramen++ 22:34
22:40 xabbu42 left
dalek odel: 03d4813 | jnthn++ | dotnet/compiler/PAST2DNSTCompiler.pm:
[dotnet] Implement a basic first cut of keyed scope of PAST::Var. Gets 18-associative.t to compile, but of course we crash and burn immediately - no NQPHash type yet! :-)
22:43
22:45 silug left 22:47 justatheory_ left
dalek odel: 666a4f4 | jnthn++ | dotnet/runtime/ (3 files):
[dotnet] Add a very basic P6mapping representation that is used to provide a low level hash storage.
22:49
odel: 435bd24 | jnthn++ | common/NQP/NQPSetting.pm:
[common] Stub in NQPHash. Doesn't do anything yet other that .new.
22:49 justatheory joined
diakopter jnthn: do your RakudoObjects implement GetHashCode ? 22:57
jnthn diakopter: No :-) 23:00
23:00 icwiener_ joined
jnthn diakopter: Got it doing string keys locally instead and coercing to strings. 23:00
Will do proper object ones at some point.
23:00 icwiener left
diakopter k 23:00
jnthn But for now I want to support the bunch of NQP that we can on Parrot.
And Parrot only does string-keyed hashes too ;-)
diakopter k cuz I was wondering/looking at the mapping thing 23:01
Dictionary<RakudoObject, RakudoObject>
jnthn It's Dictionary<string, RakudoObject> now 23:02
diakopter I definitely saw Dictionary<RakudoObject, RakudoObject> somewhere
jnthn Right, in my commit a moment ago. :-)
diakopter notes the use of resharper 23:03
:) 23:04
23:05 kulp joined
jnthn ...resharper? 23:05
No, I didn't get along with it.
Tried it for a bit, though. 23:06
dalek odel: 017a5ef | jnthn++ | dotnet/runtime/Metamodel/Representations/P6mapping.cs:
[dotnet] Actually, just go with string keys for now; it's plenty enough.
23:10
odel: bae7cdf | jnthn++ | dotnet/runtime/Runtime/Ops.cs:
[dotnet] Three ops for working with P6mapping.
odel: 88190a8 | jnthn++ | common/NQP/NQPSetting.pm:
[common] Fill out NQPHash a bit and...we have basically functioning hashes.
23:11 ggoebel joined 23:30 Kodi left 23:35 jaldhar joined 23:40 dju left 23:41 dju joined, rgrau left 23:48 whiteknight joined 23:52 davidfetter left 23:54 alester left, dju left, dju joined 23:58 cdarroch left