Camelia, the Perl 6 bug

IRC log for #perl6, 2011-02-08

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:00 jnthn SSTable :P
00:00 jnthn I'm not so hot on putting it an extra pointer away though...
00:01 Tene where the metamodel secret polcie eat?
00:01 jnthn sorear: If anything I'd hang it off the S-Table and also hang the HOW directly off the STable. Maybe.
00:03 masak Tene: nitpick: the SS weren't the secret police, they were part of the military.
00:04 sorear phenny: tell pmurias ehspan takes labels for start/end because that was the simplest way in the C# age, and there's no in principle reason to forbid overlapping
00:04 phenny sorear: I'll pass that on when pmurias is around.
00:04 masak Tene: you might be thinking about the Stasi.
00:05 sorear phenny: tell pmurias Is there correct JSON for 1/0?  If so, I'll fix JSYNC.cs, either way niecza should not be generating Inf in nam trees
00:05 phenny sorear: I'll pass that on when pmurias is around.
00:05 Tene masak: I'm insufficiently-informed about that, actually.  There was a really good book I started reading about it, though... I wonder which it was...
00:06 * TimToady proposes that if DHS is going to go after copyright infringers, it should rename itself to DHAA.
00:06 dukeleto left #perl6
00:06 Tene AA?
00:06 TimToady as in RIAA and MPAA :)
00:07 dukeleto joined #perl6
00:08 Tene department of homeland association of america?
00:09 TimToady .oO("Hello, my name is Walt D. and I'm addicted to movie receipts.")
00:14 masak .oO("Walt, what are you doing up in the middle of the next century? Get back in the canister of liquid nitrogen, right now!")
00:15 jnthn phenny: tell pmichaud I'll probably branch Rakudo tomorrow. Can mostly ignore $dayjob tomorrow and hack on Perl 6 stuff. \o/
00:15 phenny jnthn: I'll pass that on when pmichaud is around.
00:17 sorear pmichaud: When you figure out the semantics of ? again, I'd like to hear them
00:18 TimToady we discussed it earlier today
00:18 TimToady if you mean the ? I think you mean
00:19 dalek nqp-rx/nom: 6e82a8e | jonathan++ | / (4 files):
00:19 dalek nqp-rx/nom: First cut at role summation, so a class can do multiple roles (and if this works then probably so does roles doing roles). Took a couple of liberties since NQP doesn't have roles with anything other than $?CLASS being generic. Can beat my brane up with the harder case when doing Rakudo's meta-objects.
00:19 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/6e82a8e93e
00:19 rgrau left #perl6
00:22 jnthn Think I got most of what I need to dig into Rakudo changes now. \o/
00:22 jnthn Modulo loads of little improvements to nqp here and there.
00:22 masak jnthn++
00:22 masak ++jnthn
00:22 masak :)
00:22 jnthn But think my blockers are cleared. :)
00:29 dalek nqp-rx/nom: 2b9c270 | jonathan++ | t/nqp/56-role.t:
00:29 dalek nqp-rx/nom: Some basic tests for roles, especially $?CLASS genericity.
00:29 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/2b9c270a5b
00:30 * sorear eagerly anticipates jnthn++ clearing sorear's own blockers
00:31 jnthn sorear: Well, I've got the roles bit done. I'll have to think about subset etc soon :)
00:31 tadzik oh oh oh, rakudo branch tomorrow?
00:31 tadzik jnthn: when is tomorrow in your TZ? :)
00:31 jnthn tadzik: We're in the same TZ :)
00:31 tadzik ...crap :)
00:31 jnthn tadzik: I meant pmichaud's tomorrow ;)
00:32 jnthn It's actually our today :)
00:32 tadzik \o/
00:32 tadzik shame I should be sleeping now
00:32 Tene pmichaud's time will be 00:00 in about 7.5 hours
00:32 jnthn While I don't ahve to get up tomorrow too early, I will every day for the rest of the week.
00:32 Tene iirc
00:32 jnthn So if I stay up late hacking I'll hate myself for the rest of the week. :)
00:33 tadzik :P
00:33 dalek nqp-rx/nom: 67623b5 | jonathan++ | t/nqp/56-role.t:
00:33 dalek nqp-rx/nom: Few more tests.
00:33 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/67623b549a
00:33 tadzik I had this during my holidays. Hacking later and later at night, to eventually hack all night long and not sleep at all so I'll sleep on some sensemaking hour the next day
00:34 tadzik ...if you know what I mean :)
00:35 jnthn :)
00:35 masak yeah. I do that sometimes too.
00:35 jnthn Here in summer it barely bothers to get dark anyway
00:35 Tene those are some of my favorite holidays
00:36 jnthn So there's less incentive to sleep at "normal times" :)
00:36 cdarroch left #perl6
00:38 Tene almost all of the code I've written that's worth anything was written after midnight.
00:38 TimToady it's always after midnight
00:38 slavik1 left #perl6
00:39 * sorear doubts he'll get any significant hacking done this month except on weekends
00:39 coldhead "Because Perl 6 is rapidly changing, we'll publish a revised edition of the book every year until Perl 6.0.0 is released." -- The Forward to Perl 6 And Parrot Essentials, 2004 :(
00:40 masak coldhead: that got revised, too. :/
00:40 TimToady never promise anything in a book
00:41 sorear as time permits, my agenda for this week is Z, X, SSTables
00:52 flussence rakudo: 1 ZXZXZXZXZXZXZ 2
00:52 p6eval rakudo a37640: OUTPUT«(timeout)»
00:52 flussence hopefully niecza is faster than that :)
00:53 sorear What's the correct output?
00:53 flussence IIRC, for 1 item each side, everything after the first metaop is a no-op
00:53 flussence so (1 Z 2)
00:54 TimToady rakudo: 1 ZXZ 2
00:54 p6eval rakudo a37640:  ( no output )
00:54 TimToady rakudo: say 1 ZXZ 2
00:54 p6eval rakudo a37640: OUTPUT«12␤»
00:54 TimToady rakudo: say 1 ZXZXZ 2
00:54 p6eval rakudo a37640: OUTPUT«12␤»
00:54 TimToady rakudo: say 1 ZXZX 2
00:54 p6eval rakudo a37640: OUTPUT«12␤»
00:55 sorear flussence: niecza starts up so slow that a cold cache is enough to make p6eval time out and you need to retry stuff :/
00:55 flussence ouch
00:55 sorear niecza: my $x = 0; $x++ until $x == 1_000_000; say $x;
00:55 p6eval niecza v2-27-g1829f46: OUTPUT«1000000␤»
00:56 jnthn rakudo: my $x = 0; $x++ until $x == 1_000_000; say $x; # curious, does it make it...
00:56 TimToady doubtful
00:56 p6eval rakudo a37640: OUTPUT«(timeout)»
00:56 jnthn FAIL
00:56 flussence aww
00:56 sorear niecza: my $x = 0; $x++ until $x = 2_000_000_000; say $x;
00:56 p6eval niecza v2-27-g1829f46: OUTPUT«2000000000␤»
00:56 TimToady O_o
00:57 flussence oh come on, now you're just showing off!
00:57 TimToady oh wait
00:57 TimToady heh
00:57 jnthn lol :)
00:57 Tene :P
00:57 * Tene lol
00:58 TimToady rakudo: my $x = 0; $x++ until $x = Inf; say $x;
00:58 p6eval rakudo a37640: OUTPUT«Inf␤»
00:58 TimToady beatcha!
00:59 flussence rakudo can do infinite loops faster than linux \o/
00:59 TimToady it's only half of infinity, since it starts in the middle
01:00 jnthn rakudo: my $x = -Inf; $x++ until $x = Inf; say $x;
01:00 p6eval rakudo a37640: OUTPUT«Inf␤»
01:00 jnthn \o/
01:01 TimToady rakudo: say so NaN;  # oreally?
01:01 jferrero niecza: my $x = 0; $x++ until $x == 2_000_000_000; say $x;
01:01 p6eval rakudo a37640: OUTPUT«Bool::True␤»
01:01 p6eval niecza v2-27-g1829f46: OUTPUT«(timeout)»
01:02 jnthn TimToady: That surprises me a bit.
01:02 TimToady I can just get my head around Inf being true
01:02 jnthn Yeah, it's > 0.
01:03 jnthn er, != 0
01:03 TimToady but I almost think NaN.defined should be false
01:03 jnthn But all comparrisions with NaN should be false.
01:03 jnthn Well, or that.
01:03 TimToady rakudo: say NaN.defined
01:03 p6eval rakudo a37640: OUTPUT«Bool::True␤»
01:04 jnthn rakudo: say NaN != 0
01:04 p6eval rakudo a37640: OUTPUT«Bool::True␤»
01:04 jnthn oh..
01:04 TimToady rakudo: say NaN == NaN
01:04 p6eval rakudo a37640: OUTPUT«Bool::False␤»
01:04 TimToady rakudo: say Inf == Inf
01:04 p6eval rakudo a37640: OUTPUT«Bool::True␤»
01:04 jnthn TimToady: Note that any NaN comparision likely returns false, but the meta-operator negates that and gives us true.
01:05 jnthn TimToady: e.g. we're not getting the != result of two NaNs, but !(NaN == NaN)
01:05 jnthn I think that's what's going on, anyways.
01:05 TimToady I think I'm fine with that :)
01:05 jnthn OK :)
01:05 jnthn I'm not sure what NaN != NaN does in C, tbh.
01:07 TimToady I think of NaN as a very lightweight failure
01:08 Tene rakudo: say NaN == Inf
01:08 p6eval rakudo a37640: OUTPUT«Bool::False␤»
01:08 TimToady rakudo: say -1/0; say 1/-0
01:08 p6eval rakudo a37640: OUTPUT«-Inf␤Inf␤»
01:08 masak ?(NaN == NaN) is supposed to be True.
01:09 masak er, False.
01:09 TimToady rakudo: say NaN === NaN
01:09 p6eval rakudo a37640: OUTPUT«Bool::False␤»
01:09 masak that is correct, IMU.
01:09 Tene rakudo: say NaN < Inf
01:09 p6eval rakudo a37640: OUTPUT«Bool::False␤»
01:09 TimToady that one could be true, since it's asking a non-numeric question
01:09 masak hm, true.
01:09 masak didn't see the third = :)
01:10 * masak submits rakudobug
01:10 vmspb left #perl6
01:11 TimToady the problem with 1/0 being Inf is that you don't know whether the 0 underflowed from positive or negative
01:11 leprevost joined #perl6
01:11 TimToady well, unless your floater preserves the sign
01:11 jnthn "my floater" :)
01:11 TimToady dunno what IEEE has to say about that
01:12 * jnthn figgers it's time for sleep
01:12 flussence hm, I just tried some C with printf("%d", 0.0/0.0 == 0.0/0.0);
01:12 flussence printed "0"
01:12 masak TimToady: I've wondered about that too.
01:12 TimToady if we can get -0 output, seems like we should be able to input it too :)
01:12 TimToady jnthn: o/
01:12 jnthn night o/
01:13 TimToady rakudo: say -0.0
01:13 p6eval rakudo a37640: OUTPUT«0␤»
01:13 RichiH left #perl6
01:14 TimToady rakudo: my $n = -1.0e0; $n /= 2 until $n == 0; printf "%f\n", $n;
01:14 p6eval rakudo a37640: OUTPUT«-0.000000␤»
01:14 TimToady cool
01:15 TimToady rakudo: my $n = -1.0e0; $n /= 2 until $n == 0; say 1/$n
01:15 p6eval rakudo a37640: OUTPUT«Divide by zero␤  in 'infix:</>' at line 3734:CORE.setting␤  in 'infix:</>' at line 3735:CORE.setting␤  in main program body at line 22:/tmp/ofJW6VIoaE␤»
01:15 TimToady aww
01:15 masak wow! an actual Divide by zero :)
01:16 TimToady rakudo: my $n = -1.0e0; $n /= 2 until $n == 0; say Rat.new(1,$n)
01:16 p6eval rakudo a37640: OUTPUT«too many positional arguments: 3 passed, 1 expected␤  in main program body at line 22:/tmp/lOk0aLsXQM␤»
01:17 masak 'night, #perl6
01:17 TimToady niecza: my $n = -1.0e0; $n /= 2 until $n == 0; say 1/$n
01:17 p6eval niecza v2-27-g1829f46: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Action method escale not yet implemented at /tmp/KPxJZhm08u line 1:␤------> [32mmy $n = -1.0e0[33m⏏[31m; $n /= 2 until $n == 0; say 1/$n[0m␤␤Action method dec_number not yet implemented at /tmp/KPxJZhm08u line 1:␤------> [32mmy $n =
01:17 p6eval ..-1.0e0[33m⏏…
01:17 TimToady masak: \o
01:17 masak left #perl6
01:20 REPLeffect left #perl6
01:22 REPLeffect joined #perl6
01:22 sorear niecza: my $n = -1; $n /= 2 until $n == 0; say 1/$n
01:22 p6eval niecza v2-27-g1829f46: OUTPUT«-Infinity␤»
01:22 sorear TimToady: I suppose you've heard of the real projective line?
01:23 sorear read some fascinating stuff yesterday
01:23 sorear apparently there was a significant debate in the IEEE-754 committee on whether Inf should be signed
01:23 sorear if Int is its own negation, then 1/x is continuous at 0
01:25 sorear however it gets trickier for stuff like exp(x), which would need to have a branch cut at Inf
01:25 TimToady niecza: say Int == -Int  # :)
01:25 p6eval niecza v2-27-g1829f46: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Preceding context expects a term, but found infix == instead at /tmp/gUWsFCbJx8 line 1:␤------> [32msay Int [33m⏏[31m== -Int  # :)[0m␤␤Parse failed␤␤»
01:25 sorear Inf :)
01:26 TimToady rakudo: say Int == -Int  # :)
01:26 p6eval rakudo a37640: OUTPUT«Bool::True␤»
01:26 TimToady niecza: say Int.WHAT
01:26 p6eval niecza v2-27-g1829f46: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Undeclared name:␤ 'Int' used at line Any()1␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/SAFE.setting line 377 (SAFE die @ 2)␤  at /home/p6eval/niecza/src/STD.pm6 line 1156 (STD P6.comp_unit @ 74)␤  at
01:26 p6eval ../home/p6eval/niecza/src…
01:31 jevin joined #perl6
01:46 diakopter heh
01:53 sorear heh?
01:57 TimToady heh!
01:58 diakopter nm
01:58 diakopter I mean, hm
02:00 noganex joined #perl6
02:01 noganex_ left #perl6
02:03 TimToady sorear: why doesn't niecza's make force compilation of the setting?
02:04 TimToady seems like it would a trivial thing to do, just run the first run yourself
02:17 felliott joined #perl6
02:18 c1sung left #perl6
02:21 sorear I don't remember
02:22 sorear Is Perl 6 going to do any gsoc stuff?
02:25 TimToady hope so, but someone with managerial skills needs to champion it
02:27 sorear TimToady: what's your take on the correct value of ["abc" ~~ /abc/] ?
02:28 leprevost left #perl6
02:28 am0c joined #perl6
02:40 TimToady an item is still an item in list context, so I'd say [Match]
02:46 whiteknight left #perl6
02:47 ymasory joined #perl6
02:50 sorear TimToady: What about ["abc" ~~ /(.)(.)(.)/] ?
02:50 TimToady [Match,Match,Match]
02:57 sorear TimToady: So without any subcaptures the match should be returned as an item?
02:58 TimToady it seems likeliest not to lose info the user expects
02:58 c1sung joined #perl6
03:24 benabik_away is now known as Benabik
03:24 Benabik is now known as benabik
03:31 sorear TimToady: do unsuccessful matches have distinguishing qualities?
03:32 sorear right now niecza uses the Match type object as the return value for all unsuccessful matches
03:36 orafu left #perl6
03:39 plobsing joined #perl6
04:02 satyavvd joined #perl6
04:04 am0c left #perl6
04:04 am0c joined #perl6
04:17 ryan__ left #perl6
04:23 Su-Shee_ joined #perl6
04:26 Su-Shee left #perl6
04:27 Limbic_Region left #perl6
04:30 felliott left #perl6
04:34 nadim_ left #perl6
04:35 nadim_ joined #perl6
04:37 benabik is now known as benabik_away
04:58 TimToady a false Match object is fine
05:05 envi joined #perl6
05:16 _jaldhar joined #perl6
05:17 aindilis left #perl6
05:18 aindilis joined #perl6
05:18 jaldhar left #perl6
05:22 simcop2387 left #perl6
05:23 simcop2387 joined #perl6
05:37 stifynsemons joined #perl6
06:00 eternaleye joined #perl6
06:01 eternaleye left #perl6
06:01 eternaleye joined #perl6
06:04 kvijayasarathy joined #perl6
06:06 kvijayasarathy left #perl6
06:06 kvijayasarathy joined #perl6
06:07 dukeleto <2 hours for OSCON proposals, in case anybody was wondering
06:10 dukeleto sorear: i will try to make gsoc happen again. you applying this year?
06:13 TimToady some people in Kharagpur were interested in doing gsoc; I told them to hang out here and someone would tell them what to do :)
06:16 wiseguyxp joined #perl6
06:21 kaare_ joined #perl6
06:27 kvijayasarathy left #perl6
06:30 sorear What do the people in Kharagpur want to do with Perl 6?
06:32 TimToady they weren't specific in their question (it was in a large group), but I said that if they had any good ideas, tpf would certainly want to hear them
06:32 * sorear is not very familiar with the Indian Perl community...
06:34 dukeleto TimToady: feel free to direct anybody interested in GSoC+Perl to me
06:34 * dukeleto tries to be useful
06:35 TimToady thanks
06:36 cosimo left #perl6
06:36 sorear dukeleto: when do I have to decide?
06:37 dukeleto sorear: not for a few months
06:38 dukeleto sorear: the next few months is when the org has to apply, i don't think students apply until april-ish, iirc
06:38 dukeleto sorear: but you should definitely be thinking of what kind of project you want to work on
06:39 dukeleto sorear: something that you know you can complete in 3.5 months, with a breakdown of deliverables and a timeline
06:39 dukeleto sorear: i assume it will be something in niecza, you just have to choose the something :)
06:40 cjk101010 joined #perl6
06:42 sorear Don't I need a mentor?
06:44 mayuresh joined #perl6
06:46 dukeleto sorear: the way it works is that mentors apply to the org, and then the org admin pairs each accepted student with a mentor. Of course, if you have a good mentor in mind and you can get them to sign up, that can work too :)
06:46 dukeleto sorear: and we usually like to assign a backup mentor, so if the main mentor goes on vacation or is incommunicado, the student doesn't get left without help
06:46 sorear dukeleto: what I mean is that there is no-one who knows the niecza codebase better than I
06:47 dukeleto sorear: that isn't important. Your mentor just needs to be able to help you in a general way and make sure you hit your milestones
06:48 dukeleto sorear: you are not the average student, that needs lots of help. Your mentor will mostly be symbolic :)
06:48 dukeleto sorear: if you apply and are accepted, that is. All the mentors that sign up get to vote on the GSoC proposals
06:49 dukeleto sorear: we usually get around 10 student slots, so the top 10 rates proposals get into GSoC
06:49 dukeleto s/rates/rated/
06:50 mayuresh left #perl6
06:56 mtk left #perl6
07:01 wtw joined #perl6
07:04 mtk joined #perl6
07:13 colomon left #perl6
07:14 dalek niecza: 90a4b2f | sorear++ | src/niecza:
07:14 dalek niecza: Hack Inf to not generate invalid JSON
07:14 dalek niecza: review: https://github.com/sorear/niecza/commit/90a4b2f514
07:27 kst left #perl6
07:31 dalek niecza: 3f20992 | sorear++ | / (2 files):
07:31 dalek niecza: Regex matches without a $0 return $/ in list context (TimToady, moritz)
07:31 dalek niecza: review: https://github.com/sorear/niecza/commit/3f2099224e
07:34 * sorear -> sleep
07:34 kjeldahlw joined #perl6
07:34 colomon joined #perl6
07:38 colomon left #perl6
07:45 colomon joined #perl6
07:46 moritz_ good morning
07:53 diakopter /
07:53 moritz_ \
07:53 colomon left #perl6
08:00 Su-Shee_ is now known as Su-Shee
08:02 colomon joined #perl6
08:04 justatheory left #perl6
08:04 justatheory joined #perl6
08:08 justatheory left #perl6
08:14 Mowah joined #perl6
08:18 brill joined #perl6
08:26 agentzh joined #perl6
08:34 moritz_ phenny tell masak that RT #83622 rips the IRC conversation seriously out of context. On IRC, the "
08:34 moritz_ phenny: tell masak that RT #83622 rips the IRC conversation seriously out of context. On IRC, the "that one could be true" refers to a line not even included in the ticket text.
08:34 phenny moritz_: I'll pass that on when masak is around.
08:43 moritz_ seems it's ilbot hacking season again :-)
08:44 moritz_ http://irclog.perlgeek.de/​perl6/2011-02-08#i_3265501 # if you have js active, the specific line is now hilighted, and you can identify it even if it's at the bottom of the screen
08:44 moritz_ DaTa++ for the patch :-)
08:46 wiseguyxp left #perl6
09:04 tzhs joined #perl6
09:06 moritz_ tadzik: will you go to YAPC::Russia?
09:06 moritz_ 14th and 15th of May
09:07 tadzik moritz_: oh, unlikely. Dutch Perl Workshop is alredy killing my economics, and YAPC::EU is still on the calendar
09:07 tadzik but, how far from home is it?
09:07 moritz_ it's in Moscow
09:08 tadzik hell far then. No, I don't think so :(
09:08 LoRe moritz_: i'm the evil brother LoRe in here ;)
09:11 Su-Shee left #perl6
09:11 Su-Shee joined #perl6
09:12 skangas_ joined #perl6
09:13 skangas left #perl6
09:13 skangas_ is now known as skangas
09:18 moritz_ LoRe++ then
09:26 tzhs left #perl6
09:27 tzhs joined #perl6
09:33 dakkar joined #perl6
09:34 daxim joined #perl6
09:37 Su-Shee left #perl6
09:38 Su-Shee joined #perl6
09:41 VXZ joined #perl6
09:48 kjeldahl left #perl6
09:48 kjeldahl_ joined #perl6
09:49 nadim_ left #perl6
09:57 zenog joined #perl6
10:00 VXZ left #perl6
10:11 zenog sorear: Are there plans to support decimal number literals in Niecza? Is there a way that I can accelerate this? (i.e. if it is not too complicated to implement, tell me where I should start and I'll try myself if you are busy ;-)
10:13 flussence moritz_: that highlight thing can be made to work without JS, use a :target CSS selector
10:17 kjeldahl joined #perl6
10:19 kjeldahl_ left #perl6
10:19 Gothmog_ left #perl6
10:19 Gothmog_ joined #perl6
10:20 moritz_ flussence++
10:20 * moritz_ tries it
10:22 moritz_ deployed it. Can anybody please test it (for example http://irclog.perlgeek.de/​perl6/2011-02-08#i_3265601 ) with JS disabled?
10:22 moritz_ I can't easily disable JS at $work :(
10:24 gfldex moritz_: if the background of the first column is supposed to be yellow, it works with JS disabled
10:25 moritz_ actually I would have preferred the whole row to be yellow
10:25 moritz_ thanks gfldex++
10:26 flussence you'd have to move the i_* id to the <tr> to highlight the whole row
10:27 moritz_ right
10:27 flussence .oO( why doesn't CSS have a "<" operator? )
10:27 gfldex moritz_: mind the colour blind plox
10:28 flussence yellow should be safe...
10:28 moritz_ gfldex: how could I help the colour blind? make it bold?
10:28 gfldex the first column in a different colour is fine
10:29 moritz_ gfldex: is it better than having the whole row in a different color?
10:29 gfldex there is a simple rule of thumb: if it got text, let it have high contrast
10:30 gfldex if somebody got a problem with yellow background, the first column would hurt least
10:30 moritz_ ah, I see the point
10:30 flussence here's a webpage colour blindness simulator: https://chrome.google.com/extensions/detail​/efeladnkafmoofnbagdbfaieabmejfcf?hl=en-gb
10:31 jnthn morning o/
10:32 flussence (it doesn't seem to work on my browser though :( )
10:32 flussence oh, there it goes
10:33 kjeldahl_ joined #perl6
10:33 moritz_ change pushed.
10:34 kjeldahl left #perl6
10:34 moritz_ now it only relies on the CSS
10:34 moritz_ flussence++
10:34 moritz_ gfldex++
10:34 moritz_ \o jnthn
10:37 colomon left #perl6
10:43 Intensity left #perl6
10:44 colomon joined #perl6
10:55 gfldex if rakudo says "Died", where could that come from?
10:55 jnthn A die without a message, most probably
10:55 moritz_ rakudo: die
10:55 p6eval rakudo a37640: OUTPUT«Died␤␤  in main program body at line 22:/tmp/ib2mgbaS_r␤»
10:56 gfldex i have not a single die in that script :-/
10:56 * gfldex starts digging
10:57 moritz_ gfldex: do you get a backtrace?
10:58 gfldex i do
10:58 kaydsoft left #perl6
10:59 kaydsoft joined #perl6
10:59 jnthn That'll probably be revealing. :)
11:01 coldhead left #perl6
11:01 moritz_ including spicey secrets like line numbers and routine names
11:01 gfldex I do have a die in my script o.0. Maybe some coffee will help.
11:06 am0c left #perl6
11:07 masak joined #perl6
11:08 masak ahojte, zebras!
11:08 phenny masak: 08:34Z <moritz_> tell masak that RT #83622 rips the IRC conversation seriously out of context. On IRC, the "that one could be true" refers to a line not even included in the ticket text.
11:08 * masak checks
11:09 masak generally, I tend to rip the IRC conversations out of context, but I tend to do it along sensible seams...
11:09 moritz_ I know
11:09 moritz_ I was just surprised, because the ticket read contrary to what I remembered from the backlog
11:10 masak moritz_: are you referring to http://irclog.perlgeek.de/​perl6/2011-02-08#i_3264744 ?
11:11 masak because I don't believe TimToady was referring to that evalutaion. that *is* a numerical question.
11:11 moritz_ masak: yes
11:11 masak (and that's why I removed it)
11:11 moritz_ hm
11:11 masak the === one however, is decidedly not numerical.
11:11 gfldex I'm parsing a slurped file with Grammar::parse. Is there any way to get hold of the line number the grammar is parsing (when I let it die dies)?
11:11 moritz_ masak: you might be right
11:12 masak gfldex: excellent question.
11:12 orafu joined #perl6
11:12 moritz_ gfldex: $/.orig.substr(0, $/.from) <-- count the newlines in here, add 1
11:13 masak moritz_:  $/.from is where the match starts.
11:13 masak perhaps better to use $/.CURSOR.pos
11:13 moritz_ depends on what you want to do, and where you want to do it
11:13 moritz_ but yes, might be better
11:16 gfldex $/.CURSOR.pos is the position in chars from the beginning. For some strange reason my editor shows only line and column. :->
11:16 moritz_ gfldex: that's why you need to count the newlines
11:16 masak wrap it in a sub to abstract it away.
11:17 moritz_ rakudo: sub line-no($str, $pos) { 1 + $str.substr(0, $pos).comb(/\n/) }
11:17 p6eval rakudo a37640:  ( no output )
11:17 gfldex would it be worth thinking about $/.CURSOR.line ?
11:17 moritz_ rakudo: sub line-no($str, $pos) { 1 + $str.substr(0, $pos).comb(/\n/) }; say line-no("a\nb\nc\n", 3)
11:17 p6eval rakudo a37640: OUTPUT«2␤»
11:18 masak gfldex: bring it up with TimToady :)
11:19 moritz_ gfldex: I'd too love a way to access the line number easily, I just don't know if $/.CURSOR.line is the right way
11:19 moritz_ somehow it feels that $/.CURSOR is an implementation detail, and shouldn't be exposed too much
11:19 masak aye. and that its responsibility isn't line numbers.
11:21 gfldex I'm parsing by line anyway, so my solution is quite simple. But I'm for sure not the last person who wants to annoy his users with proper error messages while parsing. _And_ Perl5 is doing it properly by letting die magicly knowing where it is in the <>-operator.
11:22 * gfldex looks in The Book That Should Not Be Known for the ritual to summon TimToady attention of the above.
11:22 moritz_ gfldex: the line number is available from the file handle
11:23 moritz_ rakudo: say ~$*OUT.^methods(:local)
11:23 p6eval rakudo a37640: OUTPUT«close eof get ins lines open print printf say read write getc slurp t d e f s l z created modified accessed changed autoflush path stat␤»
11:23 moritz_ rakudo: get(); say $*IN.ins
11:23 p6eval rakudo a37640: OUTPUT«Any()␤»
11:23 moritz_ might be buggy :(
11:23 jnthn rakudo: $*IN.get; say $*IN.ins
11:24 p6eval rakudo a37640: OUTPUT«1␤»
11:24 jnthn rakudo: $*IN.get for 1..5; say $*IN.ins
11:24 p6eval rakudo a37640: OUTPUT«5␤»
11:24 moritz_ ah, get() defaults to $*ARGS
11:24 moritz_ not $*IN
11:24 moritz_ my bad
11:25 gfldex There might be no file handle involved but there may still be lines. So it may have to end up with Grammar.
11:27 moritz_ right
11:27 gfldex It might want to be a friend of $?FILE and $?LINE;
11:27 moritz_ I don't think so
11:27 masak hm, those are compile-time variables.
11:28 moritz_ point is, you can parse mutliple strings at the same time
11:28 gfldex why did i just end a sentence with ';'? o.0
11:28 moritz_ so a variable of any kind would imply ambiguty about which string it refers to
11:29 moritz_ so it's better to go through a method on the current grammar, match object or cursor or so
11:29 gfldex What means it would need to be limited to a .parse that takes a file handle.
11:31 _jaldhar left #perl6
11:31 _jaldhar joined #perl6
11:32 Helios left #perl6
11:34 Helios joined #perl6
11:37 gfldex grammar Foo { my $curr_line; token TOP { ^ <line>+ $ }; token line { <foo> '<-' <bar> { $curr_line++ } }; token bar { <some_other_stuff> | { die "OHHNOSE did not find stuff at line $curr_line"; } }
11:38 gfldex That works for me. There might be blogging.
11:38 shi joined #perl6
11:38 gfldex err that my $curr_line needs additional = 0;
11:43 satyavvd left #perl6
12:02 kaydsoft left #perl6
12:02 kaydsoft joined #perl6
12:05 Helios left #perl6
12:06 Helios joined #perl6
12:07 icwiener joined #perl6
12:13 masak moritz_: I like the idea with highlighting the row in the clogs, but would it be possible to make it a brighter yellow? say, halfway between the current nuance and #fff?
12:37 moritz_ masak: sure. You have commit access :-)
12:37 moritz_ or I can change it later on too
12:46 masak where's irclog at?
12:46 moritz_ github.com/moritz/ilbot
12:46 masak thanks.
12:46 moritz_ change pushed
12:47 masak ah, just saw it :)
12:47 moritz_ if you don't like the new color, it's in cgi/style.css
12:47 masak yes, #ff6 sounds like the right one.
12:47 masak for some reason the default 'yellow' makes me frown :(
12:49 moritz_ it was quite a contrast to the otherwise soft colors of the page
12:52 masak that, too.
12:52 bluescreen joined #perl6
12:52 masak well, the point of the yellow is to stand out, but there are different ways to stand out :)
12:57 vutekija joined #perl6
12:58 moritz_ anyway, I'm quite happy with the way the IR clogs are developing
12:58 moritz_ they don't change much, but I'm pretty sure that all change is for the better (even if it sometimes takes several iterations)
13:00 mtk left #perl6
13:06 mtk joined #perl6
13:14 MayDaniel joined #perl6
13:18 masak I'm a firm believer in iterations.
13:25 mtk left #perl6
13:30 mtk joined #perl6
13:34 szabgab I have not looked at the logs of the channel yet, have any refugees of my Perl 6 talk at FOSDEM arrived?
13:34 moritz_ I haven't noticed any
13:35 jnthn I noticed one yesterday
13:36 moritz_ I skipped most of yesterday's backlog
13:36 plainhao joined #perl6
13:37 tadzik there were two or three
13:37 masak szabgab++
13:38 szabgab so there was a discussion at one of the dinners if it would be feasible to *run* a wiki in Perl 6 today?
13:39 szabgab assuming that the pages are served as static files generated at "save" time
13:39 moritz_ it definitively would. niecza has a high startup cost, but is otherwise quite quick
13:39 masak feasible, yes. just not straightforward.
13:39 szabgab so only during editing would it be slow
13:39 moritz_ so a niecza program as fastcgi app... why not?
13:39 masak whoever decides to try it out just needs a lot of patience.
13:39 felliott joined #perl6
13:40 masak even editing could be made fast, I think.
13:40 masak most of the speed costs could be "folded in" behind the scenes.
13:40 masak no need to process the new page while the user is waiting.
13:43 MayDaniel left #perl6
13:44 tzhs left #perl6
13:45 gfldex you don't have to rebuild a wiki page unless the page itself is changed (can be rebuild on update) or if a red link turned into a blue link
13:46 gfldex so the speed of the wiki engine depends mostly on the size of articles and the number of articles in the wiki
13:47 gfldex if you use a fast backend (*sql), the number of articles doesn't really matter
13:50 masak rakudo: say 3, 5 ... 1
13:50 p6eval rakudo a37640:
13:50 p6eval ..OUTPUT«(timeout)5171921232527293133353739414345​4749515355575961636567697173757779818385878991939​5979910110310510710911111311511711912112312512712​9131133135137139141143145147149151153155157159161​1631651671691711731751771791811831851871891911931​9519719920120320520720921121321521721922122322…
13:56 dalek rakudo: cad076f | jnthn++ | .gitignore:
13:56 dalek rakudo: Update .gitignore so I get a clean status on Win32/MSVC.
13:56 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/cad076fe4e
13:58 woosley joined #perl6
13:58 fhelmberger joined #perl6
14:02 drbean left #perl6
14:05 skangas_ joined #perl6
14:05 masak rakudo: my @a = 1..10; say ~(@a>>.trans((1..26) => (14..26,1..13)))
14:05 p6eval rakudo a37640: OUTPUT«No candidates found to invoke for method 'increment_index' on object of type 'LSM'; available candidates have signatures:␤:(Mu : Regex $s;; *%_)␤:(Mu : Str $s;; *%_)␤␤  in 'Cool::next_substitution' at line 2466:CORE.setting␤  in 'Cool::trans' at line 2512:CORE.setting␤  in
14:05 p6eval ..main pro…
14:05 * masak submits rakudobug
14:05 masak that one's my fault. sorry 'bout that.
14:05 masak signature should probably be Cool, not Str.
14:05 masak rakudo: say Regex ~~ Cool
14:06 p6eval rakudo a37640: OUTPUT«Bool::True␤»
14:06 masak and I don't see why a Regex is Cool.
14:06 moritz_ me neither, but i'm sure they are cool :-)
14:06 masak not that it matters for the problem at hand, because of how narrowness works. but I don't see why it is or should be.
14:06 masak anyway, rakudobug. I'll fix it, too.
14:07 skangas left #perl6
14:07 skangas_ is now known as skangas
14:09 plobsing left #perl6
14:27 PerlJam Good morning #perl6
14:29 Juerd Good localtime
14:29 masak good now
14:29 wolfram_ joined #perl6
14:33 pmurias joined #perl6
14:33 slavik1 joined #perl6
14:35 slavik1 left #perl6
14:36 wolfram_ PerlJam (and also colomon if you're around): Sorry I left you with my FFT attempts so abruptly yesterday. I really had to catch my train. Was hoping for some useful comments though -- and that's what I got!
14:37 colomon wolfram_: no worries!
14:37 PerlJam no worries.  I shouldn't have even looked at it but my curiousity got the better of me  :)
14:38 plobsing joined #perl6
14:38 wolfram_ Got a working version now at http://nopaste.info/b5c05715b0.html. There also was a flaw in the logic, so the numbers could not be right.
14:39 wolfram_ That's a complete FFT in 6 lines of perl6. Nice. bit slow though...
14:39 PerlJam wolfram_: You should put it up on rosettacode if you haven't already.
14:40 xinming left #perl6
14:41 xinming joined #perl6
14:41 wolfram_ That's my first perl6 code. Comments for further improvement?
14:42 wolfram_ PerlJam: Is there an FFT on rosettacode already? Or would that be a comletely new entry?
14:42 shortcircuit wolfram_: Let me check
14:42 bbkr is IO::Socket::INET working for you in january Star release (parrot 3.0.0)? every recv request returns undef for me.
14:43 PerlJam wolfram_: I think it would be new by itself
14:43 shortcircuit Yeah, doesn't look like we have an FFT task.
14:43 shortcircuit wolfram_: Some simple directions on creating a task: http://blog.rosettacode.org/201​1/01/getting-2011-rolling.html
14:44 PerlJam shortcircuit++  :)
14:44 wolfram_ BTW: using rakudo on win32 from http://sourceforge.net/projects/parrotwin32/ I can't CTRL-C out of a hanging script. Any cure for that?
14:45 shortcircuit wolfram_: Also, if you haven't created an RC account, you probably should. It'll make it easier for the wiki community to chat with you, and it'll make it easy for me (as the entity behind the site) to keep up with attribution. :)
14:46 masak there should totally be an FFT task on rosettacode. and Perl 6 will probably shine at it. :)
14:46 masak shortcircuit++ wolfram_++
14:46 shortcircuit Also, masak++ for that invitation on IRC logs.
14:47 masak huh? invitation?
14:47 shortcircuit Erp. moritz_.
14:47 shortcircuit >.>
14:47 masak :P
14:47 masak moritz_++ masak-- # :)
14:51 jnthn phenny: tell pmichaud nom branch is haz an exist!
14:51 phenny jnthn: I'll pass that on when pmichaud is around.
14:52 kensanata joined #perl6
14:52 PerlJam "exist"?
14:52 jnthn PerlJam: It exists. :P
14:52 kaare__ joined #perl6
14:52 PerlJam :)
14:53 * jnthn doesn't know if dalek picks up new branches automatically.
14:53 bbkr rakudo: IO::Socket::INET.new.open( "rakudo.org", 80 ); # what else does it expects?
14:53 p6eval rakudo cad076: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in main program body at line 1␤»
14:53 masak \o/ nom branch!
14:54 pmichaud good morning, #perl6
14:54 cognominal left #perl6
14:54 phenny pmichaud: 00:15Z <jnthn> tell pmichaud I'll probably branch Rakudo tomorrow. Can mostly ignore $dayjob tomorrow and hack on Perl 6 stuff. \o/
14:54 masak bbkr: sometime tells me the error is with .new, not .open
14:54 phenny pmichaud: 14:51Z <jnthn> tell pmichaud nom branch is haz an exist!
14:54 masak morning, pm.
14:54 pmichaud jnthn: shall I go ahead and set up the new nqp repo, as well?
14:55 jnthn pmichaud: morning!
14:55 jnthn pmichaud: Yes, feel free to go ahead with the new nqp repo.
14:55 pmichaud then the nom branch can start to use the nqp repo as appropriate
14:55 jnthn pmichaud: Will be focusing on the Rakudo repo for a bit now. Though will no doubt be back doing improvements in nqp along the way
14:55 felliott left #perl6
14:55 jnthn pmichaud: Yes, that'll be good.
14:55 jnthn pmichaud: If you have tuits to set that bit up, that'd be great.
14:56 pmichaud I may have them a bit later today.
14:56 jnthn OK :)
14:56 jnthn I deleted origin/llsig branch which I know was fine and is no longer needed.
14:56 pmichaud correct
14:56 jnthn er, was *mine*
14:56 pmichaud I'll delete some of my branches today also
14:56 jnthn However, there's loads of others that I have little idea of the status of.
14:56 bbkr masak: correct. has something changed in this module? I've checked LWP::Simple included in Star distro and it uses new without any params.
14:56 jnthn Are all the mob[n] ones merged?
14:57 jnthn iirc they were to do with match object improvements some time ago?
14:57 bluescreen left #perl6
14:57 pmichaud if they aren't merged they can be safely dropped, I think (more)
14:57 pmichaud match objects are likely to get some changes in nom anyway
14:58 pmichaud based on yesterday's discussions with TimToady++
14:58 bluescreen joined #perl6
14:58 jnthn pmichaud: OK
14:58 jnthn pmichaud: Match needs re-doing anyway. :)
14:58 shi left #perl6
14:58 jnthn It's not a 6model object yet ;)
14:59 pmichaud right
14:59 slavik1 joined #perl6
14:59 pmichaud I'm also thinking of making the submatches lazy
14:59 masak bbkr: no idea. 'git blame'.
14:59 pmichaud but I'll need to clarify a few things with TimToady++ first
15:00 jnthn pmichaud: OK. Will that mean creating less objects potentially?
15:00 pmichaud yes
15:01 pmichaud if you don't ever ask for  $<something>, it might not ever be created
15:01 masak wow.
15:01 jnthn pmichaud: It also occured to me that when we set :node($/) all over the actions, we later only really need the position information (for annotations and error reporting).
15:01 PerlJam masak: Apparently you and I think alike at this moment :)
15:01 masak pmichaud: but, but... the parsing is still done, right?
15:01 pmichaud masak: sure
15:01 masak oh phew.
15:01 pmichaud we just create a very minimal match object that gets filled in on request
15:02 PerlJam (lazy submatches)++
15:02 pmichaud i.e., "lazy"
15:02 masak I'm all for that.
15:02 masak right, just not that lazy :)
15:02 pmichaud jnthn: so far we only need the position information
15:02 pmichaud it's a reference anyway, so it's cheap
15:02 jnthn pmichaud: If we just kept those rather than a reference to the full match object (which in turn references the full cursor object) then once we hit PAST stage we could throw away a load of objects.
15:03 jnthn pmichaud: The reference is cheap. Keeping all the match tree in memory when we don't really need to is less cheap though.
15:03 pmichaud I'm not certain "we don't need to"
15:03 pmichaud we can certainly fix .node so that it stores the position
15:03 PerlJam If you guys take all that pressure off the GC, what's goint to encourage the Parrot folks to keep improving it?   ;)
15:03 awoodland joined #perl6
15:03 PerlJam s/goint/going/
15:03 jnthn PerlJam: I think we need both. :P
15:03 pmichaud or that it chooses what to store based on a flag or dynamic variable somewhere
15:04 jnthn pmichaud: I just think it'd help our memory usage quite a bit, that's all.
15:04 pmichaud but I definitely want to keep :node($/)
15:04 jnthn Oh, I agree that we write :node($/)
15:04 pmichaud jnthn: I'm very doubtful about that at th emoment.
15:04 awwaiid left #perl6
15:04 pmichaud I don't think that the PAST nodes are holding the only references to the parse tree.
15:04 jnthn Oh?
15:04 pmichaud i.e., even if we eliminated them, I bet some context somewhere has the parse tree root in a register somewhere.
15:05 jnthn :/
15:05 pmichaud especially since contexts live beyond the end of the subroutine
15:05 jnthn Aye, but they become collectable too. Unless something ends up taking a closure.
15:05 pmichaud and we don't have a good mechanism for nulling out registers of temporaries
15:05 jnthn In theory anyway. :)
15:05 pmichaud we don't have a way of knowing if something took a closure
15:06 pmichaud so currently the static sub is holding a reference to its last context, in the usual case
15:06 jnthn *nod*
15:06 jnthn Yeah, that's...kinda tricky.
15:06 pmichaud which means that even after we exit the sub that was responsible for creating past, its context still exists and still holds a register with a reference to the parse tree
15:06 jnthn Ouch.
15:06 pmichaud at least, that's the current theory
15:07 jnthn Makes sense.
15:07 pmichaud part of the problem (which we've been discussing on #parrot) is that we don't have a good way to see what might be keeping a particular object alive
15:07 PerlJam If you had a good memory profiler, you could know for sure.
15:07 pmichaud PerlJam: well volunteered, sir!
15:08 PerlJam I don't even have enough time or energy to do the simple things that I know how to do, let alone figure out the things I don't know how to do
15:12 tadzik jnthn: nom branch! \o/ does Rakudo work on it?
15:12 jnthn tadzik: ?
15:12 tadzik jnthn: I mean, does Rakudo on 6model run?
15:12 jnthn tadzik: The branch is to do a major refactor of Rakudo to enable that to happen :)
15:13 jnthn tadzik: It'll take weeks.
15:13 jnthn :)
15:13 tadzik oh, ok :)
15:13 jnthn Though I guess in so far as "can nqp on 6model compiler the grammar and actions" - probably, yes. :)
15:13 jnthn But that's not so useful. :)
15:16 agentzh left #perl6
15:18 stifynsemons left #perl6
15:18 wtw left #perl6
15:20 sorear zenog: Decimal literals sound like a nice small project
15:20 sorear zenog: You'll want to add a method or two to NieczaActions class in src/NieczaActions.pm6 or src/niecza
15:21 sorear zenog: I have an augment block in src/niecza so I don't have to recompile 3000 lines when I want to make small additions like this
15:21 sorear zenog: the error message tells you the name of the method you need
15:21 sorear zenog: look at other action methods for coding examples, and at src/STD.pm6 to see the match structure
15:22 zenog sorear: Cool, I'll have a look at it.
15:22 plobsing left #perl6
15:23 sorear zenog: recommendation - use +$str, do not try to roll your own decimal-FP to binary-FP converter (remember the Java fiasco last week?  FP parsers are *tricky*)
15:23 sorear good * #perl6
15:23 zenog sorear: OK
15:24 sorear moritz_: irclog output is still legible in elinks.
15:24 MayDaniel joined #perl6
15:26 zenog Another question, this time regarding rakudo+parrot. I have ported a simple algorithm that loads a small file (<2MB) and then runs an optimization algorithm on the data. With C# or Java, the whole thing takes some seconds.
15:26 zenog Rakudo Star is on it for more than 10 hours now, and not finished with reading in the data yet.
15:26 zenog Am I doing something incredibly stupid/wrong?
15:26 sorear moritz_: fwiw, I added $/.CURSOR to niecza - STD and NieczaActions need to call grammar methods on matches all over the place
15:27 zenog Or is it a Rakudo/Parrot problem?
15:27 zenog Is there anything I can do to improve IO speed.
15:27 benabik_away is now known as benabik
15:27 benabik Morning!  o/
15:29 colomon zenog: sounds like it might be something you're doing wrong?  I'd believe in a second Rakudo processing speed was that slow, but its I/O performance is okay, so far as I know.
15:29 sorear jnthn: dalek picks up new branches if you're using push notify
15:29 colomon zenog: can you share the code / data file?
15:29 jnthn sorear: ah. I don't know that Rakudo repo is...
15:30 pmurias sorear: hi
15:30 phenny pmurias: 00:04Z <sorear> tell pmurias ehspan takes labels for start/end because that was the simplest way in the C# age, and there's no in principle reason to forbid overlapping
15:30 phenny pmurias: 00:05Z <sorear> tell pmurias Is there correct JSON for 1/0?  If so, I'll fix JSYNC.cs, either way niecza should not be generating Inf in nam trees
15:30 pmurias sorear: from what google tells me there is no correct JSON for 1/0
15:31 jnthn pmichaud: If you get chance, see https://github.com/perl6/mu/bl​ob/master/misc/dalek-push.txt
15:32 jnthn (I'd do it myself but am not a repository admin.)
15:33 sorear pmurias: I've already fixed the bad JSON from the compiler; it was an oversight in Inf parsing
15:33 wolfram_ Created draft for new Rosettacode task: FFT. See http://rosettacode.org/wiki/FFT
15:34 zenog colomon: one moment
15:34 kensanata left #perl6
15:36 cjk101010 left #perl6
15:37 zenog colomon: here is the code: http://nopaste.info/d8ba9fd2fe.html the file is u.data from this archive: http://grouplens.org/syste​m/files/ml-data.tar__0.gz
15:37 colomon zenog++
15:37 zenog colomon: Please don't laugh, it is my first non-trivial Perl 6 program.
15:37 zenog colomon: I have a similar version with an array of objects instead of three arrays for the data.
15:38 colomon zenog: actually, that's a Perl 5 program you just pasted.
15:38 zenog colomon: My bad, I am in the middle of porting it for comparison.
15:38 colomon eerrr.... seems to have bits in Perl 5 and bits in Perl 6?
15:38 colomon rakudo: use strict;
15:39 p6eval rakudo cad076: OUTPUT«===SORRY!===␤Unable to find module 'strict' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/3.​0.0-devel/languages/perl6/lib␤  .)␤»
15:39 zenog http://nopaste.info/d888710550.html
15:39 zenog colomon: The last link is the Perl 6 program.
15:39 colomon Ah, yes, that's better. :)
15:41 zenog colomon: For startup plus 100 lines it takes about 6 seconds.
15:42 zenog colomon: colomon: 55 seconds for 1000 lines
15:43 sorear How many lines is the full dataset?
15:43 zenog sorear: 100K lines
15:43 zenog sorear: In my field, this is a tiny dataset that we use for development and debugging purposes because you can load+process it really quickly (opposed to a 1GB+ dataset)
15:44 pmurias sorear: does the order matter in letn?
15:44 pmurias that is is (letn "a" a "b" b) different from (letn "b" b "a" a)
15:45 sorear pmurias: yes, it's like schemelet*
15:45 colomon zenog: I just added a "say" statement to print when each line is loaded in, and let 'er rip... just broke 2000
15:45 wolfram_ shortcircuit: That's (http://rosettacode.org/wiki/FFT) my first Rosettacode edit. Looks okay to me but you better have a look...
15:45 sorear zenog: nitpick: .split(/\s+/) probably better written .comb, although the semantics aren't quite the same
15:45 colomon zenog: It's not exactly fast, but it sure seems like it ought to be done in a couple of hours...
15:46 sorear rakudo: say [" a b c ".split(/\s+/)].perl
15:46 shortcircuit wolfram_: I don't have time. I can direct you to people equally qualified, though.
15:46 p6eval rakudo cad076: OUTPUT«["", "a", "b", "c", ""]␤»
15:46 sorear rakudo: say [" a b c ".comb].perl
15:46 p6eval rakudo cad076: OUTPUT«[" ", "a", " ", "b", " ", "c", " "]␤»
15:46 sorear erm.
15:46 sorear rakudo: say [" a b c ".words].perl
15:46 p6eval rakudo cad076: OUTPUT«["a", "b", "c"]␤»
15:46 pmurias sorear: have you considered using a structured binary representation like http://en.wikipedia.org/wiki/Protocol_buffers instead of JSON?
15:46 sorear words = comb(/S+/)
15:47 sorear pmurias: yes
15:47 sorear there probably will be a binary repr at some point
15:47 sorear the main reason I picked json was not having to write my own pretty-printer
15:48 pmurias the json output isn't very pretty
15:49 sorear it's nicer if you pipe it through json_xs
15:50 zenog colomon: OK. I found another bug,  @.rating_data must be rw, otherwise we cannot shuffle it.
15:50 sorear zenog: (draw_from_normal...) x $.num_factors probably doesn't do what you want
15:50 colomon zenog: 12,800 now.
15:50 sorear rakudo: say rand x 100
15:50 p6eval rakudo cad076:
15:50 p6eval ..OUTPUT«0.3729825942750440.3729825942750440.3729​825942750440.3729825942750440.3729825942750440.37​29825942750440.3729825942750440.3729825942750440.​3729825942750440.3729825942750440.372982594275044​0.3729825942750440.3729825942750440.3729825942750​440.3729825942750440.3729825942750440.37298259…
15:51 masak right. evaluate once, then copy.
15:51 sorear rakudo: say [rand xx 100].perl # better, but not quite
15:51 p6eval rakudo cad076: OUTPUT«[0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343, 0.692334664610343,
15:51 p6eval ..0.6923346646103…
15:51 zenog sorear: ah okay. As I said, was my first shot at it ...
15:51 sorear masak: worse, it's string replcations
15:51 wolfram_ shortcircuit: Either that or just leave it there. It
15:51 shortcircuit wolfram_: Did you see my /invite from #rosettacode?
15:52 pmichaud jnthn: nqp-rx/nom should now be nqp/master.   git clone git@github.com:nqp/nqp.git
15:52 wolfram_ shortcircuit: Either that or just leave it there. It's a Wiki. If somebode wants/needs to improve it, they can :-)
15:52 pmichaud er
15:52 pmichaud git@github.com:perl6/nqp.git
15:52 * sorear out
15:53 wolfram_ shortcircuit: invite where? email? irc?
15:54 shortcircuit wolfram_: I used the IRC server's 'invite' functionality to extend an invite to you (on this irc network) to #rosettacode.
15:54 shortcircuit wolfram_: Try just typing: /join #rosettacode
15:54 shortcircuit The invite should have brought up a notice in your IRC client, but it might not have shown.
15:55 wolfram_ shortcircuit: No didn't see anything. But I'm on webchat.freenode.net (company proxy problems). Maybe doesn't work there.
15:55 masak sorear: is that bad? isn't Str immutable?
15:56 jnthn pmichaud++
15:57 zenog colomon: .words seems to give a 20% improvement
15:57 flussence masak: strcpy sort of things are bad from a performance standpoint
15:57 pmichaud jnthn: it might be worthwhile to remove the nom branch from nqp-rx soon, to avoid confusion
15:58 flussence anything that moves more data than it needs to in general
15:58 jnthn pmichaud: Good idea.
15:58 * tadzik watches history happening
15:58 colomon zenog: sweet!
15:59 colomon zenog: 27K and counting here
15:59 zenog Anyway sorear++ colomon++ thanks for the hints so far. Any pointers to where I can help to improve performance are welcome ... I am newbie to Perl 6, but I think I could help out in some places.
16:00 zenog colomon: 27K just with say, w/o splitting and storing it to the arrays?
16:00 jnthn pmichaud: Any reason not to do it "right away"?
16:00 pmichaud jnthn: I don't have any reason not to do it right away; didn't know if maybe you had some :)
16:00 colomon zenog: nope, it's doing and the splitting and storing too.  I just added one line to tell me how far it has gotten each time through the loop.
16:00 jnthn pmichaud: Nope :)
16:01 jnthn pmichaud: Gone :)
16:01 vutekija left #perl6
16:02 zenog colomon: I use Rakudo Star 2011.01, why is it that much slower?
16:02 colomon zenog: no idea, though I am using the latest build of Rakudo from git.
16:02 colomon zenog: might also be that it will hit a wall at some point, though it's still looking good at the moment (34K done)
16:03 zenog colomon: Program will crash once you get after the initialization, here is a corrected version: http://nopaste.info/f9077329fb.html
16:03 PerlJam The latest rakudo will have the latest parrot which both have several improvements
16:04 PerlJam well, a later parrot than R* 2010.01
16:04 zenog colomon: I am not used to having method/property names resolved at runtime ...
16:06 * TimToady lurks blearily, or blears lurkily...
16:06 colomon blears?!  where?!
16:07 TimToady over thlere!
16:07 PerlJam llions and tligers and blears.
16:07 jnthn and llamas
16:07 pmichaud TimToady: when you get a chance and are more awake, could you comment about how you view match slot assignment in STD.pm in light our our discussion yesterday?
16:07 jnthn oh, wait...
16:07 jnthn :)
16:08 pmichaud i.e., STD.pm has a lot of instances of things like   "$<slot> = $value"
16:08 pmichaud which somewhat implies mutability of $/'s slots
16:08 TimToady I view that as cheating :)
16:08 jnthn pmichaud: We thend to have to work around those a bit at the moment.
16:08 pmichaud a supported cheat?
16:08 kst joined #perl6
16:09 pmichaud jnthn: I'm talking about in light of new changes to the notion Match, not what exists in nqp today :)
16:09 pmichaud *notion of Match
16:09 jnthn pmichaud: Aye, it'd just be nice if we end up in a place where we can do what STD does :)
16:09 pmichaud jnthn: well, unless STD is cheating in ways that aren't STD :)
16:09 PerlJam jnthn: or even what STD should do.
16:09 jnthn Well, or that. :)
16:10 pmichaud jnthn: right.  I need to know where STD's cheats are that need to be avoided
16:10 zenog colomon: I'll be away but I stay logged in. Thank you very much so far. &
16:10 pmichaud I *would* much prefer to see STD using binding instead of assignment at least
16:10 wiseguyxp joined #perl6
16:10 colomon zenog: no worries, I'm very interested in seeing Rakudo / Perl 6 faster.  :)
16:11 dukeleto left #perl6
16:11 dukeleto joined #perl6
16:13 plobsing joined #perl6
16:14 jnthn pmichaud: Yes, true.
16:14 jnthn That'd make things easier.
16:14 pmichaud anyway, I'll simply classify our "work arounds" as "cheats" and then we're doing the same as STD -- cheating.  :-P
16:15 Patterner left #perl6
16:15 jnthn Yes, but have you seen how ugly our cheats are :-P
16:16 pmichaud I haven't see many really ugly cheats... maybe I've not been paying attention closely enough
16:16 pmichaud *seen
16:17 Psyche^ joined #perl6
16:17 Psyche^ is now known as Patterner
16:17 jnthn pmichaud: copyOPER in Grammar.pm ;)
16:17 pmichaud oh, that
16:17 pmichaud STD's cheat for that is not much better
16:17 pmichaud imo
16:17 jnthn oh, OK :)
16:18 masak sorear: was it you who once said that github issue numbers are not monotonic? I've been using the github issue system quite a bit lately, and I haven't noticed anything like that.
16:21 daxim left #perl6
16:23 tadzik http://nopaste.snit.ch/30876 -- nqp test failures
16:24 * PerlJam wonders how long it'll take for "which nqp?" to have an obvious answer  :)
16:24 pmichaud if there's no -rx, you're referring to the new nqp.
16:24 tadzik yeah, new nqp
16:25 takadonet hey all
16:25 tadzik hey takadonet
16:25 jnthn tadzik: t/nqp/55-multi-method.t - that one surprises me.
16:25 jnthn A couple of the others I know about but that one shoudl not fail.
16:25 tadzik it's the most interesting one actually
16:25 wiseguyxp left #perl6
16:25 tadzik allow me a three-liner
16:25 tadzik > ./nqp t/nqp/55-multi-method.t
16:25 tadzik 1..4
16:25 tadzik zsh: segmentation fault  ./nqp t/nqp/55-multi-method.t
16:26 jnthn :/
16:26 risou joined #perl6
16:26 jnthn tadzik: Can you use gdb and get me a stack trace?
16:26 tadzik sure thing
16:26 risou left #perl6
16:26 jnthn tadzik: Thanks :)
16:26 risou joined #perl6
16:26 pmurias is spliting up commits important?
16:27 * tadzik can't gdb
16:27 tadzik jnthn: how do I run a program with a parameter?
16:28 dalek niecza: 8e6294d | pmurias++ | cl-backend/backend.lisp:
16:28 dalek niecza: fix letn, ignore module definitions for now, add allow defining a new method
16:28 dalek niecza: review: https://github.com/sorear/niecza/commit/8e6294d229
16:29 MayDaniel left #perl6
16:29 jnthn tadzik: r teh_param
16:29 tadzik neh
16:30 tadzik owait
16:30 tadzik nqp is an empty file here
16:30 * tadzik scratches head
16:32 wolfram_ left #perl6
16:34 pmichaud loliblogged:  http://pmthium.com/2011/02/08/new-nq​p-repository-new-nom-rakudo-branch/
16:35 tadzik lolpmichaudblogs!
16:36 pmichaud emailed to p6c and parrot-dev
16:36 jnthn pmichaud: nice :)
16:36 jnthn pub & # back in 2-3 hours, I expect
16:38 tadzik jnthn: http://nopaste.snit.ch/30877
16:42 vutekija joined #perl6
16:42 felliott joined #perl6
16:48 felliott left #perl6
16:48 pmurias left #perl6
16:49 estrabd left #perl6
16:52 estrabd joined #perl6
16:53 pmurias joined #perl6
16:54 felliott joined #perl6
16:58 cognominal joined #perl6
17:02 justatheory joined #perl6
17:02 dalek niecza: 8c97bc9 | pmurias++ | cl-backend/backend.lisp:
17:02 dalek niecza: [cl-backend] scopedlex can do binding, remove unused function
17:02 dalek niecza: review: https://github.com/sorear/niecza/commit/8c97bc98ff
17:07 vmspb joined #perl6
17:15 awoodland left #perl6
17:23 woosley left #perl6
17:23 felliott left #perl6
17:23 woosley joined #perl6
17:39 orafu left #perl6
17:41 rgrau joined #perl6
17:43 cdarroch joined #perl6
17:43 cdarroch left #perl6
17:43 cdarroch joined #perl6
17:44 TimToady gfldex: counting lines in the grammar as you parse is error prone, especially if you have multiline comments or quotes, or if you backtrack; it's generally better to rely on automatic translation of the current position to the line number, since cursors are tracking positions anyway
17:44 TimToady in STD that's $¢.lineof
17:45 felliott joined #perl6
17:45 TimToady and then it can also cache the translation table for you
17:47 Layla_91 joined #perl6
17:48 risou left #perl6
17:48 risou_ joined #perl6
17:49 felliott left #perl6
17:50 Layla_91 Howdy! :D
17:50 TimToady o/
17:50 moritz_ that Perl 6 FFT algorithm would be nice to have in rosettacode :-)
17:51 shortcircuit moritz_: http://rosettacode.org/wiki/FFT
17:51 TimToady already there
17:51 shortcircuit wolfram_++ put it up already.
17:51 tadzik Layla_91: o/
17:51 moritz_ ah, I haven't backlogged long enough before commenting :-)
17:51 shortcircuit TimToady: Did those wget tarballs work well enough?
17:51 TimToady pity that .[0,2,4...*] doesn't autotrim yet...
17:51 PerlJam indeed
17:52 PerlJam though it still makes me long for a syntax similar to  @array[@%%2]  or something
17:52 TimToady shortcircuit: they worked well enough--I translated a few more hrefs to make them work even better
17:52 shortcircuit Cool.
17:53 moritz_ one could get rid of the map with »*» $twd (but would need a pair of parens
17:53 TimToady they do still tend to lose some of the formatting if one doesn't have network access, but that's livable, except for the delays of looking for network access when there isn't...
17:53 TimToady which I cured by turning off my wifi card :)
17:53 shortcircuit Hehe.
17:54 shortcircuit Sounds like there are absolute references embedded somewhere where they don't belong. I might be able to fix that.
17:54 colomon wait, can .[0,2,4...*] ever autotrim?
17:54 envi left #perl6
17:54 pmurias left #perl6
17:55 colomon does .[ ] assume the list it is given is monotonic non-decreasing?
17:56 TimToady there's supposed to be some way of asking an iterator if it's *ish, but rakudo doesn't do that yet, afaik
17:56 moritz_ is that way specced?
17:56 TimToady are iterators specced?
17:57 TimToady that's one of those things we're kinda waiting for a doc backport on from rakudo
17:57 colomon but even if you know it's *ish, how do you know the next value you get won't be back in the range of the .[ ]
17:57 colomon ?
17:57 dakkar left #perl6
17:57 colomon iterators are pmichaud's grant, right?
17:57 TimToady if it goes off the end with a *-ish iterator, we can assume it's monotonic
17:58 TimToady it will behoove the programmer not to run off the end with a *-ish sequence if they don't want that assumed
17:58 colomon can we assume that if it goes off the end it is done, whether or not it is *-ish?
17:59 vmspb left #perl6
18:00 felliott joined #perl6
18:03 TimToady maybe that would be simplest
18:05 TimToady though perhaps we could special case the single subscript case to produce a failure instead of a Nil
18:05 moritz_ pmichaud: could you please add dalek pushing to rakudo/rakudo, as described in https://github.com/perl6/mu/bl​ob/master/misc/dalek-push.txt ? thanks
18:05 PerlJam What does "*ish" really mean?  is this sequence *ish?    0,2,4, { @array.rand.Int } ... *
18:05 PerlJam ?
18:06 TimToady any sequence that is known to be "infinite" because there's a * or Inf involved
18:06 TimToady so that one is *ish
18:06 TimToady likewise $x xx *
18:06 TimToady and 1,2,3,*
18:06 TimToady probably better to spell it *-ish
18:07 TimToady or maybe splattery :)
18:08 PerlJam So that's a non-monotonic sequence but is still *-ish.  How do we warn the user they may be doing something stupid?  :)
18:08 TimToady you write a document that says "Don't do something stupid." :)
18:09 PerlJam wfm :)
18:09 TimToady and put little letters that say "Professional driver on closed course.  Do not attempt."
18:10 _ilbot joined #perl6
18:10 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
18:10 Util std: my @z[5] = 15, 16; @z.perl.say;
18:10 p6eval std 625303c: OUTPUT«ok 00:01 123m␤»
18:11 Util rakudo: my @z[5] = 15, 16; @z.perl.say;
18:11 p6eval rakudo cad076: OUTPUT«[15, 16]␤»
18:11 Util How can that be legal?
18:11 PerlJam Util: why would it not be?
18:11 PerlJam Though, I would have expected some Anys
18:12 PerlJam oh, I see.
18:12 TimToady you told it to put 15 and 16 into @z[5].  how is that not what you asked for?
18:13 PerlJam Util: in declarations like "my @z[5]",  the [5] is the shape of the array
18:13 Util I would expect `my @foo[32]` to by a syntax error.
18:13 nadim_ joined #perl6
18:13 TimToady ah, right
18:13 Util Aha! # shape
18:13 TimToady what a dumb language
18:14 TimToady I wonder if rakudo is parsing it right
18:14 Util Just surprising
18:14 moritz_ iirc it just ignores shapes semantically
18:14 TimToady almost certainly it's ignoring the [5] if so
18:14 PerlJam yes, I  think so too
18:15 tadzik pugs: my @z[5] = 15, 16; @z.perl.say;
18:15 p6eval pugs: OUTPUT«[undef, undef, undef, undef, undef, [15, 16]]␤»
18:15 TimToady that's how it would come out without the declarative shape
18:15 PerlJam really?  not  [ 15, 16, Any, Any, Any ]  ?
18:15 TimToady pugs doesn't know shape parsing
18:16 TimToady so it's (my @z).[5] =
18:16 PerlJam oh, of course
18:16 PerlJam (ETOOMANYCONTEXTS in my brain sometimes :)
18:16 TimToady I never get confused...oh wait...
18:17 Util (unrelated):
18:17 Util rakudo: my @M = [3,3],[3,3]; say "in : ", @M>>.WHAT.perl, @M.perl; for @(@M[0]) {$_ *= 2}; say "out: ", @M>>.WHAT.perl, @M.perl; @M[0][0] = 1; say "OK";
18:17 TimToady I suspect we'll learn to read the declarations better when we've been using them for reals
18:17 p6eval rakudo cad076: OUTPUT«in : (Array, Array)[[3, 3], [3, 3]]␤out: (Array, Array)[[6, 6], [3, 3]]␤OK␤»
18:17 Util rakudo: my @M = [3,3],[3,3]; say "in : ", @M>>.WHAT.perl, @M.perl; @M[0] = @M[0] X* 2;     say "out: ", @M>>.WHAT.perl, @M.perl; @M[0][0] = 1; say "OK";
18:17 p6eval rakudo cad076: OUTPUT«in : (Array, Array)[[3, 3], [3, 3]]␤out: (List, Array)[(6, 6), [3, 3]]␤Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/6zUFr5Fkmo␤»
18:17 Util Why does X* create an immutable list?
18:17 TimToady has to copy values
18:18 TimToady rakudo: say <1 2> X* <10 20>
18:18 p6eval rakudo cad076: OUTPUT«10202040␤»
18:18 Util and this doesn't (have to copy values)? :
18:18 Util rakudo: my @M = [3,3],[3,3]; say "in : ", @M>>.WHAT.perl, @M.perl; @M[0] = @M[0] >>*>> 2;  say "out: ", @M>>.WHAT.perl, @M.perl; @M[0][0] = 1; say "OK";
18:18 TimToady where are the lvalues?
18:18 p6eval rakudo cad076: OUTPUT«in : (Array, Array)[[3, 3], [3, 3]]␤out: (Array, Array)[[6, 6], [3, 3]]␤OK␤»
18:21 Util The lvalues are in the same place in the `>>*>>` version as in the `X*` version.
18:22 fhelmberger left #perl6
18:22 TimToady I dunno, that's peculiar
18:23 TimToady looks like it's plus or minus a deref
18:23 TimToady probably because it's list context rather than item
18:25 TimToady rakudo: my @M = [3,3],[3,3]; say "in : ", @M>>.WHAT.perl, @M.perl; @M[0] = [@M[0] X* 2]; say "out: ", @M>>.WHAT.perl, @M.perl; @M[0][0] = 1; say "OK";
18:25 p6eval rakudo cad076: OUTPUT«in : (Array, Array)[[3, 3], [3, 3]]␤out: (Array, Array)[[6, 6], [3, 3]]␤OK␤»
18:25 TimToady there you go
18:25 fhelmberger joined #perl6
18:25 TimToady the hyper returns a new Array, while the X returns a list
18:26 TimToady list vs item is the essential difference between X and hyper
18:27 TimToady (and Z)
18:27 TimToady rakudo: my @M = [3,3],[3,3]; say "in : ", @M>>.WHAT.perl, @M.perl; @M[0][] = @M[0] X* 2; say "out: ", @M>>.WHAT.perl, @M.perl; @M[0][0] = 1; say "OK";
18:28 p6eval rakudo cad076: OUTPUT«in : (Array, Array)[[3, 3], [3, 3]]␤Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/lHzni4IZDw␤»
18:28 TimToady that shoulda worked too, methinks
18:28 TimToady rakudo: my @M = [3,3],[3,3]; say "in : ", @M>>.WHAT.perl, @M.perl; @(@M[0]) = @M[0] X* 2; say "out: ", @M>>.WHAT.perl, @M.perl; @M[0][0] = 1; say "OK";
18:29 p6eval rakudo cad076: OUTPUT«in : (Array, Array)[[3, 3], [3, 3]]␤Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/4Shk2O87BY␤»
18:29 TimToady hmm
18:29 TimToady that seems buggy to me
18:31 TimToady rakudo: my @M = [3,3],[3,3]; @M[0][] = 1,2,3;
18:31 p6eval rakudo cad076: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/iLDvXu2ad8␤»
18:32 fhelmberger left #perl6
18:32 TimToady why can't I assign a list to an existing (sub)array?
18:32 zby_home_ joined #perl6
18:32 TimToady [3,3] is supposed to create a mutable Array
18:33 TimToady rakudo: my @M = [3,3],[3,3]; @M[0].push: 1,2,3; say @M.perl
18:33 p6eval rakudo cad076: OUTPUT«[[3, 3, 1, 2, 3], [3, 3]]␤»
18:33 TimToady I guess @() and zen slice aren't working quite right
18:35 colomon zenog: Had no trouble reading in the entire u.data file, though it was disappointingly slow.  Then it blew up, just as you said it would.
18:35 vmspb joined #perl6
18:36 colomon #phasers in 25?
18:36 Util colomon: yes
18:36 colomon Util++
18:38 Util tadzik, PerlJam, TimToady: Thanks!
18:40 tadzik me?
18:41 gfldex left #perl6
18:42 Util tadzik: I saw you try; that is always appreciated.
18:42 gfldex joined #perl6
18:43 Layla_91 left #perl6
18:44 mberends joined #perl6
18:49 gfldex left #perl6
18:51 gfldex joined #perl6
18:51 tadzik Util++ # appreciating
18:51 impious joined #perl6
18:52 impious left #perl6
18:53 gfldex left #perl6
18:55 molaf joined #perl6
18:57 gfldex joined #perl6
19:02 Sarten-X left #perl6
19:07 risou_ left #perl6
19:10 asarch joined #perl6
19:10 VXZ joined #perl6
19:11 MayDaniel joined #perl6
19:12 Sarten-X joined #perl6
19:16 alester joined #perl6
19:17 ashleydev left #perl6
19:17 ashleydev joined #perl6
19:27 colomon left #perl6
19:31 shi joined #perl6
19:31 mberends left #perl6
19:33 Vlavv` left #perl6
19:33 Vlavv_ joined #perl6
19:36 ash_ joined #perl6
19:38 Util S04, line 380: ..."place an explicit return statement after it, use a C<sink>"...
19:38 Util Is that missing an "or" after the comma?
19:39 dual left #perl6
19:42 TimToady nod
19:43 kst left #perl6
19:43 TimToady feel free
19:44 mberends joined #perl6
19:45 dalek specs: 3bda36a | util++ | S04-control.pod:
19:45 dalek specs: Add missing "or"
19:45 dalek specs: review: https://github.com/perl6/specs/commit/3bda36af2a
19:45 dual joined #perl6
19:45 Util thanks!
19:47 molaf left #perl6
19:50 plobsing left #perl6
19:52 vutekija left #perl6
19:53 vutekija joined #perl6
19:53 coldhead joined #perl6
19:57 vutekija left #perl6
19:58 bluescreen left #perl6
20:00 molaf joined #perl6
20:00 bluescreen joined #perl6
20:01 molaf left #perl6
20:08 arlinius left #perl6
20:10 moritz_ TimToady: the 'today' URLs now redirect as though wished
20:18 colomon joined #perl6
20:19 diakopter how was that?
20:20 moritz_ how was what?
20:20 mberends ifair that was to the actual date, so that search engine spiders do not mis-index the content.
20:20 diakopter the redirecting
20:21 moritz_ diakopter: the http://irclog.perlgeek.de/perl6/today URL now redirects to the current date
20:21 diakopter I thought it always did that
20:21 moritz_ so that TimToady++ doesn't have to refresh + go to previous day
20:21 moritz_ diakopter: nope, it just delivered the content from the current day
20:21 diakopter ah, oh
20:22 diakopter TimToady++ moritz_++
20:22 diakopter google, of course, hits /today every few seconds :)
20:23 moritz_ does it?
20:23 diakopter try it... type some jibberish
20:23 diakopter then search for it
20:23 moritz_ pooSui1uOabi1quu
20:23 diakopter HHFIBHOWECKXL
20:24 moritz_ my jibberish is better than yours!!!
20:24 diakopter bwahaha   "Showing results for FACEBOOK. Search instead for HHFIBHOWECKXL"
20:24 moritz_ lol
20:25 stkowski joined #perl6
20:25 diakopter hm, well, it did work every time I tried it over the past year, like 2 or 3 times
20:26 diakopter I guess I'll wait another minute
20:27 mberends last year google visited a home based P6 webserver 4 times a day after it was announced in #perl6
20:27 diakopter hm
20:27 diakopter it wasn't jibberish actually
20:28 diakopter it was a particular phrase of languagey words
20:28 diakopter The fox brown quick jumped over dog lazy the
20:28 ash_ probably off topic, but does anyone with good make-foo know how to list all of the targets of a makefile?
20:29 mberends grep would probably handle that
20:29 arnsholt Best I can suggest off-hand is grep -P '^[^ ]+:' =)
20:30 arnsholt Or actually grep -P '^[^:]:'
20:30 arnsholt Bah. Insert plus where appropriate in that last one
20:31 ash_ i know make -np will list some of the targets, and by some i mean all of the targets built into make + yours, i just want mine, not the default ones
20:32 moritz_ ash_: run it with an empty makefile once, and use that as a reference to remove all builtins
20:32 kfo_ joined #perl6
20:33 ash_ you and your logic
20:33 ash_ sounds good
20:33 moritz_ it will remove overridden built-in targets
20:33 moritz_ but it's a nice approximation
20:35 kfo left #perl6
20:36 * colomon just used 20 lines of C++ to do something that would have taken two lines of Perl.  :\
20:37 colomon and the sad thing is, I would have been sure the Perl version worked, and I'm eyeing the C++ version suspiciously.
20:37 arnsholt Don't you just love low-level programming?
20:38 colomon not really.
20:38 arnsholt Hehe. You and me both
20:38 ash_ colomon: i am writing an emulator for ugrad students to test their programs with in C++, and many many times I keep feeling like that myself
20:38 colomon I keep on thinking what a happy day it will be when there's a fairly full Perl 6 implement on .NET.
20:38 arnsholt I usually find valgrind to increase my confidence a bit, though
20:39 colomon valgrind is lovely, no doubt.  I spent hours last night trying to track down a problem that valgrind found for me in two minutes (when I thought to use it).
20:40 arnsholt Yeah. I've occasionally wondered why I bother tracking down those "jump depends on uninitialised value" errors
20:40 ash_ i am almost to the point where i might start using perl embedded into my C++ for parts of it
20:40 arnsholt But it usually turns out to be a good idea
20:41 szabgab moritz_: have you submitted a talk to LinuxTag Berlin? if not yet, the dead line is today!
20:41 colomon the problem it found, incidentally, was a typo in a printf format string that was causing a bus error.
20:41 arnsholt *sigh* A good example of all the things I hate with low-level work
20:42 moritz_ szabgab: i haven't, and i won't attend (family)
20:42 flussence for that make target list thing, you could take a look at how {bash,zsh}-completion does it
20:42 szabgab oh
20:42 szabgab moritz_: do you know if any perl 6-er have submitted?
20:43 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_history_tablet
20:44 ash_ left #perl6
20:44 moritz_ szabgab: no :(
20:45 colomon ... and those 20 lines of C++ do not appear to work.  :(
20:47 V15170R joined #perl6
20:47 V15170R Hello
20:47 colomon oh, actually it was the accessor function that was wrong.  sigh.
20:47 V15170R is there something like XML::Parser or XML::Parser::SAX for perl6 yet?
20:49 flussence https://github.com/krunen/xml/
20:52 Chillance joined #perl6
20:56 dalek book: 5a230d6 | (Christopher Bottoms)++ | src/subs-n-sigs.pod:
20:56 dalek book: Dance subroutine example: Printing to the screen seemed to simplify the example a little.
20:56 dalek book: review: https://github.com/perl6/book/commit/5a230d6738
20:57 asarch left #perl6
21:01 dalek book: 47dfb50 | (Christopher Bottoms)++ | src/subs-n-sigs.pod:
21:01 dalek book: Dance subroutine example: Finished changing print's to say's
21:01 dalek book: review: https://github.com/perl6/book/commit/47dfb50c6b
21:02 plainhao left #perl6
21:02 Sarten-X left #perl6
21:04 ash_ joined #perl6
21:06 ash__ joined #perl6
21:06 ash_ left #perl6
21:06 ash__ is now known as ash_
21:09 Sarten-X joined #perl6
21:12 Kovensky left #perl6
21:17 plobsing joined #perl6
21:19 flussence .oO( one problem with generating all my passwords with a hmac hash... forgetting the input format. argh )
21:21 sjohnson heh
21:22 molaf joined #perl6
21:23 flussence aha, there it is.
21:23 V15170R hi again :)
21:23 ymasory_ joined #perl6
21:27 V15170R left #perl6
21:27 pmurias joined #perl6
21:28 * jnthn back
21:28 jnthn oops, missed #phasers
21:28 pmurias colomon: do you use .NET?
21:29 colomon pmurias: nope, not yet.
21:30 pmurias colomon: so what do you expect from a Perl 6 implementation on that platform?
21:30 colomon but the ability to move a lot of my code from C++ to Perl 6 would be a pretty good argument for doing a port.
21:30 bluescreen left #perl6
21:30 tadzik I'd like a fast implementation. Hell, it may be buggy
21:31 colomon Expect in what sense?  I guess I'm hoping for fairly fast, feature-full, and interoperable with other .NET languages.
21:31 colomon though it wouldn't have to be blazingly fast to be pretty darned useful.
21:31 kst joined #perl6
21:31 pmurias re doing a port, you mean the port of your code from C++ to Perl 6
21:32 colomon yes
21:32 plobsing left #perl6
21:32 pmurias why is it in C++ rather then in Perl 5?
21:32 colomon I've already had a request for a C# port, but I'm putting it off as long as possible.
21:32 jnthn mberends: ping
21:32 wiseguyxp joined #perl6
21:32 mathw evening
21:32 jnthn o/ mathw
21:33 * mathw is excited by the creation of the 'nom' branch
21:33 * mathw is also apparently incapable of writing sane Perl 6 anymore
21:33 colomon pmurias: I don't think anyone has ever considered Perl 5 an appropriate language for high-powered CAD data processing.  :)
21:33 Kovensky joined #perl6
21:35 jnthn pmichaud: Glad you updated the README. I looked at that earlier and thought "huh" :)
21:35 pmurias colomon: so what would you need from niecza before you could use it?
21:37 lukas___ joined #perl6
21:38 colomon pmurias: Hmm.  I haven't given it much thought.   Guess I'd want grammars (which it already has, right?), iterators, meta-ops...
21:38 tadzik pmurias: I'd need completeness. I check frequently, and it can't run any of my scripts
21:38 plobsing joined #perl6
21:38 tadzik but I see sorear++ working and implementing stuff, so I'm waiting
21:39 takadonet I'm in the same boat as tadzik
21:39 zenog left #perl6
21:39 colomon pmurias: I should maybe start looking at what it would take to port the parsing portion of one of the ASCII translators.  That would be a good start.  But it's got to be pretty low priority for me at the moment anyway, I've got a huge load of stuff on my plate.
21:43 pmurias tadzik: what sort of stuff niecza lacks?
21:50 * masak back
21:51 masak I have this low-hanging-fruit task for Yapsi, that I'd like to award to someone who's not already overburdened by Perl 6 TODOs. contact me here on the channel or by privmsg if you're interested.
21:54 * jnthn gets curious ;)
21:54 masak jnthn: I doubt you qualify as "doesn't have hands full", though :P
21:55 jnthn True :P
21:55 masak jnthn: you'll just have to hope that someone bites so that I can karma the person and advertise the result. :)
21:56 perigrin I'm not overburdedn by *Perl 6* TODOs ...
21:56 perigrin it's all the other TODOs that are crushing my spirit :)
21:57 masak aww :)
21:57 tadzik pmurias: let me run some stuff with it
21:58 tadzik ...now how do I run files? It gives me the prompt
21:59 pmurias tadzik: pass the file name?
21:59 pmurias vim foo.p6;mono run/Niecza.exe foo.p6
22:00 tadzik oh, my ~/bin/niecza script wasn't passing params, my bad
22:02 tadzik ok. 1) can't load my modules. 2) Unhandled exception: Unable to resolve method fmt in class Num. 3) is rw NYI. 4) Action method dec_number not yet implemented (say 3.14)
22:03 tadzik just some random scripts from my ~/src/perl6
22:03 woosley left #perl6
22:03 tadzik does NYI
22:04 masak tadzik++
22:04 woosley joined #perl6
22:04 masak tadzik: maybe submit those as github issues?
22:04 tadzik loop as well. I'd love to try it, but I can't run anything
22:04 masak ;)
22:04 tadzik masak: I think that things are just further on sorear's TODO than other
22:04 * masak currently only writes things from scratch in niecza, due to its differences to rakudo
22:04 tadzik so I'm just waiting patiently
22:05 tadzik that'd probably be the way
22:05 masak tadzik: well, he's really responsive to user feedback.
22:05 masak just so you know.
22:05 tadzik I don't want to spoil his plans with my "I want loop now!" stuff. I believe sorear knows best what to do
22:06 pmurias tadzik: could you nopaste your scripts
22:06 tadzik pmurias: sure
22:06 pmurias i'm wandering what you want loop for
22:07 masak ...when goto would suffice? :P
22:07 tadzik http://wklej.org/id/472640/ -- I was learning Perl 6 on this one :')
22:07 tadzik pmurias: for a stupid loop benchark :)
22:08 tadzik http://wklej.org/id/472642/ -- here. I'm comparing it to pir, nqp, perl 5 and stuff
22:08 masak tadzik: as a person often enough on the developer side of things, I love it when users butt in. :) even if I have different priorities, it's nice to know where the users are and what they need.
22:08 tadzik masak: I'd consider that
22:09 pmurias tadzik: you could use a while for niecza
22:10 tadzik pmurias: "for niecza" is a key here. I'd need to adjust everything I have.
22:11 tadzik writing from scratch, for niecza, as masak says, would be the right approach here probably. But you were curious why niecza can't be my favourite Perl 6 implementation atm
22:11 masak right.
22:11 masak people have different thresholds of "early adopter"-ness.
22:12 * colomon just read pmichaud++'s blog post.  what terrific nqp news!
22:14 szabgab TimToady: I just looked at your web site and it is missing the background color (and a lot of other parts)
22:18 masak "missing the background color"?
22:18 colomon left #perl6
22:18 brill left #perl6
22:18 tadzik for me it's missing its index.html
22:23 zby_home_ left #perl6
22:24 ash_ left #perl6
22:24 ash_ joined #perl6
22:28 Chillance left #perl6
22:29 pmurias left #perl6
22:32 masak is an LTM parser such as STD.pm6 combinable with the idea of "sequence points", such that if one has a big file already parsed, one could pick the last valid sequence point, and continue parsing from there on? my guess is yes, but I still don't grok LTM.
22:33 masak i.e. I'm not entirely sure what type of control flow LTM imposes.
22:34 brill joined #perl6
22:39 flatwhatson left #perl6
22:40 flatwhatson joined #perl6
22:40 kaare__ left #perl6
22:41 shi left #perl6
22:41 MayDaniel left #perl6
22:41 woosley left #perl6
22:45 Mowah left #perl6
22:47 dukeleto left #perl6
22:48 dukeleto joined #perl6
22:52 ymasory_ left #perl6
22:55 shi joined #perl6
22:56 drbean joined #perl6
22:58 plobsing left #perl6
23:07 plobsing joined #perl6
23:14 lukas___ left #perl6
23:15 TimToady masak: arguably, LTM makes it easier to have sequence points because you're not relying so much on backtracking
23:16 TimToady all you really have to do is remember the exact language you were in at a given position, which is what immutable *cough* Cursors provide
23:17 TimToady well, and some continuation context if you're down in recursive descent somewhere...but any parser has that problem
23:17 whiteknight joined #perl6
23:18 plobsing left #perl6
23:19 brill left #perl6
23:19 masak aye.
23:19 leprevost joined #perl6
23:20 masak what would be way cooler was if there was some way to "rescue" some of the later sequence points, saying "ok, we're back on track, don't need to re-parse these bits".
23:21 lukas___ joined #perl6
23:21 masak consider the file sitting in an interactive editor, and I change my variable from "$sucessor" to "$successor".
23:22 masak all the Match nodes that fall out of the new parse would have the exact same structure -- it's just a matter of the parser "realizing" this and canceling the parse.
23:23 TimToady same structure, but not the same data, since the current position is part of it
23:24 masak hm, yes.
23:24 TimToady there's probably a way of recording all positions relative to the previous construct that would help
23:24 TimToady but then you'd have to recalculate to find the actual position later
23:25 masak reminds me a bit of events/deltas and snapshots at strategic places to avoid having to recalculate too much.
23:25 TimToady doubtless there are various strategies to minimize reparsing
23:25 TimToady another approach is to reparse to the end of the file, but do it in the background once the current page is reanalyzed
23:26 masak yes.
23:26 TimToady depending on how much CPU you care to waste, you can still make it look fast
23:26 masak :)
23:26 TimToady "just throw another core at it"
23:26 TimToady I wonder how long till that approach is noticed by the carbon neutralists...
23:27 masak there's an ad outside my house about how "standby mode" on appliances is using up large parts of Sweden's electricity.
23:27 TimToady certainly it would faster to walk the remaining tree and adjust postions
23:27 masak and slightly more elegant, too.
23:27 TimToady I suspect they can make standby much cheaper in the future
23:27 wolverian masak: that varies a lot by device. e.g. wii vs. ps3.
23:28 masak wolverian: I'm sure it does.
23:28 masak I can't help thinking that it's a kinda silly campaign.
23:28 TimToady battery powered strew-them-about processors tend to be very efficient, yet know how to wake up very fast
23:29 masak lobbying the industry to waste less energy would probably do loads more for the environment than harrying citizens.
23:29 TimToady eventually they'll just shovel them out of airplanes and ad hoc grid the whole world with solar powered relays
23:29 masak o.O
23:30 masak talk about "cloud computing"!
23:30 icwiener left #perl6
23:30 TimToady and someday you'll have intraocular projectors, none of this stupid display or contact lens business
23:30 masak TimToady: are you working at the Singularity Institute now? :P
23:30 TimToady that last one I predicted in the late 80s
23:31 TimToady I'm working at the Plurality Institute, actually
23:31 masak :P
23:31 flussence I remember reading somewhere that a 1-line change to some C compiler made about 90kW of difference for its combined userbase...
23:31 masak I knew about that pun. should have seen it coming from 30 years away...
23:32 TimToady kind of a serious pun though
23:33 Tene I've considered trying to work for singinst.
23:33 Tene I don't have a very good singing voice, though.
23:34 masak "Hello and welcome to the punners convention. Today we're doing Singularities."
23:34 tadzik I do, but I'm quite alone in my opinion
23:34 TimToady all puns are singular, we sincerely hope and pray
23:35 Tene more-seriously, I don't expect I have much to offer to them.
23:36 masak I've read about the Singularity pattern in Gang of Four. I heard it's a bit of a Civilisation smell, though.
23:36 TimToady we just need to make sure that the singularity is programmed with a language that humans like more than machines do.
23:36 TimToady then the machines will all go shopping
23:40 ash_ if your worried about power consumption from standby, just unplug anything you can
23:40 masak right.
23:40 ash_ although, i don't recommend unplugging, say the refrigerator
23:41 felliott left #perl6
23:41 masak one way to "save" power for the fridge is to take things out of the freezer and put them in the fridge :)
23:41 Tene https://gist.github.com/817504
23:41 plobsing joined #perl6
23:41 Tene rakudo: say (1..4).grep( * %% 2 )
23:42 p6eval rakudo cad076: OUTPUT«24␤»
23:42 ash_ what? no perl6 or perl5?
23:42 * ash_ sidenote, i almost wrote that as "no perl or perl5"
23:43 masak Tene: or an invocant colon. I can't believe I just said that.
23:43 TimToady phenny: ask wolfram_ /me is kinda wondering why you used evens and odds instead of the complex numbers that Perl 6 has built in...
23:43 phenny TimToady: I'll pass that on when wolfram_ is around.
23:43 Tene masak: I find my colon to dramatically improve convenience
23:43 IllvilJa left #perl6
23:43 masak Tene: :)
23:44 cosimo joined #perl6
23:45 jnthn sleep &
23:45 felliott joined #perl6
23:45 felliott left #perl6
23:46 TimToady rakudo: say grep * %% 2, 1..4
23:46 p6eval rakudo cad076: OUTPUT«24␤»
23:46 TimToady that seems most readable to me
23:47 TimToady rakudo: 1..4 ==> grep * %% 2 ==> say
23:47 p6eval rakudo cad076: OUTPUT«24␤»
23:47 TimToady shiny!
23:48 masak that's... a little bit insane :)
23:49 TimToady rakudo: classify(* % 2, 1..4).[0].perl.say
23:49 p6eval rakudo cad076: OUTPUT«"1" => [1, 3]␤»
23:49 TimToady rakudo: classify(* % 2, 1..4).[1].perl.say
23:49 alester left #perl6
23:49 p6eval rakudo cad076: OUTPUT«"0" => [2, 4]␤»
23:49 Eevee pipeline actually looks more sane to me than the plain grep; I always have trouble parsing grep's comma form
23:49 masak that's the old .classify semantics, right?
23:50 TimToady something seems strange about it
23:50 TimToady duh
23:50 TimToady rakudo: classify(* % 2, 1..4).{'0'}.perl.say
23:50 p6eval rakudo cad076: OUTPUT«undef␤»
23:50 ash_ undef?
23:51 TimToady it's not a hash, just a list of pairs, I guess
23:51 TimToady so masak is correct, old semantics
23:51 TimToady spec currently says it returns a hash
23:51 felliott joined #perl6
23:51 lamstyle left #perl6
23:51 TimToady the 0 and 1 were backwards because the 1 pair came out before the 0 pair :)
23:52 ash_ how did that put out an undef? just wondering
23:52 TimToady rakudo: classify(* % 2, 1..4).perl.say
23:52 p6eval rakudo cad076: OUTPUT«("1" => [1, 3], "0" => [2, 4])␤»
23:53 TimToady rakudo: classify(* % 2, 1..4).{}.perl.say
23:53 p6eval rakudo cad076: OUTPUT«("1" => [1, 3], "0" => [2, 4])␤»
23:54 TimToady it's probably saying classify didn't return any named arguments
23:54 ash_ rakudo: classify(* % 2, 1..4).<0>.perl.say
23:54 p6eval rakudo cad076: OUTPUT«undef␤»
23:54 TimToady rakudo: classify(* % 2, 1..4).[0]<1>.perl.say
23:54 p6eval rakudo cad076: OUTPUT«undef␤»
23:55 TimToady rakudo: classify(* % 2, 1..4).[0].perl.say
23:55 p6eval rakudo cad076: OUTPUT«"1" => [1, 3]␤»
23:55 ggoebel joined #perl6
23:55 TimToady I guess a pair doesn't like hash subscripting :)
23:55 TimToady rakudo: classify(* % 2, 1..4).WHAT.say
23:55 felliott left #perl6
23:55 p6eval rakudo cad076: OUTPUT«List()␤»
23:56 ash_ is it part of List() thats returning the undef somewhere
23:56 TimToady rakudo: (1,2,3,4).<0>.say
23:56 p6eval rakudo cad076:  ( no output )
23:56 TimToady rakudo: (1,2,3,4).WHAT.say
23:56 flussence undef comes from Exception iirc
23:56 p6eval rakudo cad076: OUTPUT«Parcel()␤»
23:58 TimToady rakudo: classify(* % 2, 1..4).<0>.WHAT.say
23:58 p6eval rakudo cad076: OUTPUT«Failure()␤»
23:58 TimToady flussence: yep
23:58 ash_ ah
23:58 ash_ flussence++
23:58 ash_ rakudo: Failure.say
23:58 p6eval rakudo cad076: OUTPUT«Failure()␤»
23:59 TimToady rakudo: Failure.perl.say
23:59 p6eval rakudo cad076: OUTPUT«Failure␤»
23:59 TimToady hmm
23:59 TimToady rakudo: Failure.new.perl.say
23:59 p6eval rakudo cad076: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in main program body at line 1␤»
23:59 TimToady rakudo: Failure.new("foo").perl.say
23:59 p6eval rakudo cad076: OUTPUT«"foo"␤»
23:59 * TimToady scratches head

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs