Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-12-26

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 wolf2k_ubuntu joined #perl6
00:26 dj_ joined #perl6
00:27 justatheory joined #perl6
00:34 machtfuernacht joined #perl6
00:43 mikehh joined #perl6
00:44 jferrero joined #perl6
00:53 simcop2387 joined #perl6
00:55 diakopter phenny: tell mberends after looking more into CCI (I tried the demo hello world compiler), I decided it was much too slow... so I'm sticking with runsharp
00:55 phenny diakopter: I'll pass that on when mberends is around.
01:05 constant joined #perl6
01:20 am0c joined #perl6
01:35 colomon joined #perl6
02:13 colomon joined #perl6
02:19 xinming_ joined #perl6
02:20 drbean joined #perl6
02:21 patspam joined #perl6
02:22 ispeak joined #perl6
02:26 RichiH joined #perl6
02:31 carlin Ohh, I didn't know about the slurp builtin, I thought you could only do it from a file-handle
02:31 carlin I've made that mistake heaps
02:31 carlin masak: thanks
02:31 carlin rakudo: say slurp('/home/p6eval/rakudo-ng/README')
02:31 p6eval rakudo 8dc189: =head1 Rakudo Perl 6␤␤This is Rakudo Perl, a Perl 6 compiler for the Parrot virtual machine.␤␤Rakudo Perl is Copyright (C) 2008-2009, The Perl Foundation.␤Rakudo Perl is distributed under the terms of the Artistic License 2.0.␤For more details, see the full text of the license in the
02:31 p6eval ..file…
02:39 colomon joined #perl6
02:50 diakopter carlin: nice :)
02:53 diakopter rakudo: say slurp('/etc/debian-release')
02:53 p6eval rakudo 8dc189: Unable to open filehandle from path '/etc/debian-release'␤in Main (file <unknown>, line <unknown>)␤
02:53 diakopter rakudo: say slurp('/etc/debian_version')
02:53 p6eval rakudo 8dc189: 5.0.3␤␤
02:53 diakopter rakudo: say slurp('/proc/uptime')
02:53 p6eval rakudo 8dc189: 6265140.80 4354955.06␤␤
02:54 diakopter rakudo: say slurp('/proc/version')
02:54 p6eval rakudo 8dc189: Linux version 2.6.16-xen (root@ppk.vpsfarm.com) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-9)) #1 SMP Sun Feb 24 18:08:45 EST 2008␤␤
02:54 diakopter o_O
02:54 diakopter rakudo: say slurp('/proc/kallsyms')
02:54 p6eval rakudo 8dc189: ffffffff80100014 T stext␤ffffffff80100014 T _stext␤ffffffff80101000 T init_level4_pgt␤ffffffff80102000 T init_level4_user_pgt␤ffffffff80103000 T level3_kernel_pgt␤ffffffff80104000 T level3_user_pgt␤ffffffff80105000 T level2_kernel_pgt␤ffffffff80106000 T
02:54 p6eval ..empty_zero_page␤ffffffff80107000 T …
02:55 diakopter rakudo: say slurp('/proc/stat')
02:55 p6eval rakudo 8dc189: cpu  212113455 19850 7576190 2209984369 38851441 67404 43852 37431679␤cpu0 149918745 6063 3562594 401186433 34313356 67404 35833 37431679␤cpu1 21868164 3952 1426912 601331011 1886121 0 5864 0␤cpu2 18650239 5403 1250817 605301259 1313266 0 1065 0␤cpu3 21676307 4432 1335867 602165666
02:55 p6eval ..133869…
02:56 diakopter rakudo: say slurp('/proc/cpuinfo')
02:56 p6eval rakudo 8dc189: processor        : 0␤vendor_id     : AuthenticAMD␤cpu family : 15␤model                : 65␤model name   : Dual-Core AMD Opteron(tm) Processor 2212 HE␤stepping   : 2␤cpu MHz              : 1994.997␤cache size     : 1024 KB␤physical id     : 1␤siblings      : 1␤core id               :
02:56 p6eval ..1␤cpu cores     : 0␤fpu         : yes␤fpu_exception : yes␤cpuid level : 1␤wp          : ye…
02:57 diakopter rakudo: say slurp('/proc/cpuinfo').split(/\s/).join(' ')
02:57 p6eval rakudo 8dc189: processor : 0 vendor_id : AuthenticAMD cpu family : 15 model  : 65 model name : Dual-Core AMD Opteron(tm) Processor 2212 HE stepping : 2 cpu MHz  : 1994.997 cache size : 1024 KB physical id : 1 siblings : 1 core id  : 1 cpu cores : 0 fpu  : yes fpu_exception : yes cpuid level : 1 wp
02:57 p6eval ..: ye…
02:59 colomon ng: say (1, 2, [3, 4]).perl
02:59 p6eval ng 2cab48: (1, 2, [3, 4])␤
03:00 nsh hrmm
03:01 nsh rakudo: say slurp('/etc/passwd').split(/\s/)[0]
03:01 p6eval rakudo 8dc189: root:x:0:0:root:/root:/bin/bash␤
03:01 nsh heh :-P
03:02 * nsh goes back to waiting for things to compile
03:06 Baggio_ joined #perl6
03:10 unobe joined #perl6
03:39 diakopter phenny: tell mberends yay; turns out I can emit an OpCodes.Switch(Label[]) *after* all of the labels are already emitted.
03:39 phenny diakopter: I'll pass that on when mberends is around.
03:39 SmokeMachine joined #perl6
03:40 diakopter non-computed goto; whee
03:52 diakopter interesting; I can emit the same jumptable multiple times
03:52 diakopter .. or subsets of it
04:00 ispeak joined #perl6
04:05 drbean joined #perl6
04:06 constant joined #perl6
04:10 nihiliad joined #perl6
04:27 drbean joined #perl6
04:29 FalseVinylShrub joined #perl6
04:45 wayland76 Oh noes!  The root password is X!
04:47 soupdragon joined #perl6
04:47 diakopter :)
04:54 constant joined #perl6
05:05 dlocaus joined #perl6
05:08 dlocaus left #perl6
05:19 Baggio_ joined #perl6
05:19 buu joined #perl6
05:20 meppl joined #perl6
06:34 Baggio_ joined #perl6
06:38 partisan joined #perl6
06:54 unobe joined #perl6
06:54 unobe rakudo: \1.perl
06:55 p6eval rakudo 8dc189:  ( no output )
06:55 unobe rakudo: \(1,2).perl
06:55 p6eval rakudo 8dc189:  ( no output )
06:55 unobe rakudo: \(1,2).perl.say
06:55 p6eval rakudo 8dc189: [1, 2]␤
06:55 unobe rakudo: \1.perl.say
06:55 p6eval rakudo 8dc189: 1␤
06:55 unobe rakudo: \1.WHAT.perl.say
06:55 p6eval rakudo 8dc189: Int␤
06:55 unobe rakudo: \(1,2).WHAT.perl.say
06:55 p6eval rakudo 8dc189: List␤
06:56 unobe rakudo: Parcel.WHAT.say
06:56 p6eval rakudo 8dc189: Could not find non-existent sub Parcel␤in Main (file src/gen_setting.pm, line 324)␤
06:56 unobe rakudo: Capture.WHAT.say
06:56 p6eval rakudo 8dc189: Capture()␤
07:01 Psyche^ joined #perl6
07:16 diakopter ng: Parcel.say
07:16 p6eval ng 2cab48: sh: ./perl6: No such file or directory␤
07:29 xinming joined #perl6
07:32 unobe rakudo: Parcel.new(1).say
07:32 p6eval rakudo 8dc189: Could not find non-existent sub Parcel␤in Main (file src/gen_setting.pm, line 324)␤
07:32 unobe rakudo: Capture.new(1).say
07:32 p6eval rakudo 8dc189: 1␤
07:32 unobe rakudo: Capture.new(1).WHAT.say
07:32 p6eval rakudo 8dc189: Capture()␤
07:32 abra joined #perl6
07:32 unobe ng: say 1
07:33 p6eval ng 2cab48: 1␤
07:33 unobe ng: Parcel.say
07:33 p6eval ng 2cab48: Parcel()␤
08:04 snearch_ joined #perl6
08:06 iblechbot joined #perl6
08:11 diakopter rakudo: say Parcel.new()
08:11 p6eval rakudo 8dc189: Could not find non-existent sub Parcel␤in Main (file src/gen_setting.pm, line 324)␤
08:11 diakopter ng: say Parcel.new()
08:11 p6eval ng 2cab48: ␤
08:11 diakopter ng: say Parcel.new(Parcel)
08:11 p6eval ng 2cab48: ␤
08:11 diakopter ng: say Parcel.new().WHAT
08:11 p6eval ng 2cab48: List()␤
08:12 diakopter ng: say Parcel().WHAT
08:12 p6eval ng 2cab48: Could not find non-existent sub &Parcel␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
08:12 diakopter ng: say Parcel.WHAT
08:12 p6eval ng 2cab48: Parcel()␤
08:21 kaare joined #perl6
08:33 trondham joined #perl6
08:58 Baggio_ joined #perl6
08:59 abra1 joined #perl6
09:13 Su-Shee joined #perl6
09:13 Su-Shee good morning
09:15 moritz_ good morning
09:16 soupdragon hi all
09:18 ejs joined #perl6
09:23 Guest97891 joined #perl6
09:38 Su-Shee moritz_: the advent calendar was a success because it's explanatory and directed to the reader with a specific and rather every day subject.
09:40 abra joined #perl6
09:40 abra joined #perl6
09:44 trondham joined #perl6
09:53 moritz_ Su-Shee: that's from the reader's perspective, yes
09:55 Su-Shee well that's what makes the hits, doesn't it? :)
09:56 moritz_ only if there's something that can be hit :-)
09:56 Su-Shee web servers can :)
09:56 moritz_ :-)
10:00 Chillance joined #perl6
10:08 abra joined #perl6
10:09 abra joined #perl6
10:10 abra joined #perl6
10:22 betterworld left #perl6
10:22 betterworld joined #perl6
10:34 carlin left #perl6
10:43 abra joined #perl6
10:45 colomon joined #perl6
11:06 trondham joined #perl6
11:08 colomon rakudo: say (1, 2, [3, 4]).perl
11:08 p6eval rakudo 8dc189: [1, 2, [3, 4]]␤
11:23 mberends joined #perl6
11:26 dalek joined #perl6
11:41 hejki hmm.. if i have class Foo { ... }; class Bar is Foo { ... }; class Baz is Foo { ... }; can i somehow say inside Foo.new that if something is set, it's Bar.new and if something else, then Baz.new?
11:41 hejki (or should this be done in the calling code instead?)
11:44 mberends ahem
11:44 phenny mberends: 00:55Z <diakopter> tell mberends after looking more into CCI (I tried the demo hello world compiler), I decided it was much too slow... so I'm sticking with runsharp
11:44 phenny mberends: 03:39Z <diakopter> tell mberends yay; turns out I can emit an OpCodes.Switch(Label[]) *after* all of the labels are already emitted.
11:44 masak joined #perl6
11:45 masak oh hai
11:45 hejki ohai
11:45 hejki i'm certain masak knows some nice IO-tut?
11:45 mberends hejki: Foo knows nothing about Bar or Baz, so it's definitely up to your calling code
11:45 hejki or someone else if that matters
11:45 hejki mberends: ye so i thought :|
11:46 masak hejki: what kind of IO-tut?
11:47 hejki opening, reading and writing files
11:47 masak hejki: you could perhaps define Bar and Baz, and then re-open Foo to add a new method. but I think the need for that indicates that you're Doing Something Wrong. :)
11:48 masak hejki: reading files: my $content = slurp('filename')
11:48 masak hejki: writing files: my $fh = open('filename'); $fh.say for @lines-of-content; $fh.close
11:48 hejki nice
11:48 hejki masak++
11:49 masak hejki: you asked about CGI the other day.
11:49 hejki btw.. is there something similar to -f, -d, -l and -s ?
11:49 hejki yup
11:49 hejki i had some holiday stuff so i haven't been able to check it out yet
11:49 masak hejki: I tremble with fear every time someone contemplates usign the CGI.pm of November.
11:50 hejki i have the tab open in vimperator so i remember it tho ;>
11:50 masak so please don't do that. :)
11:50 hejki heh :P
11:50 mberends tutorial-masak-bot++
11:50 masak s/usign/using/
11:50 masak .oO( I'm on a bus, writin ur tutorialz )
11:52 hejki class masak { has $.question is rw; method ask { answer $.question } }
11:53 masak japhb: yes, I'm doing a big Temporal refactor. I got more than half-way during the November blogging spree. haven't looked at it much since then. would be nice to have it merged by early January.
11:55 masak japhb: http://github.com/masak/temporal-flux-perl6syn​/blob/master/S32-setting-library/Temporal.pod http://github.com/masak/rak​udo/blob/master/temporal.t
11:55 masak mberends: this is the most ambitious commit comment I've ever written: http://github.com/masak/gge/commit/d71​f92d543fdc72aa77bba338fefa73f499a8326
11:56 masak it's for the tree spider refactor. it explains why I chose to do it, and how it works.
11:59 masak diakopter: ^^ might interest you as well.
12:00 masak moritz_: I have now corrected the infix:<&> semantics. it's a blast to see it backtrack two quantifiers at once, arriving at the correct consensus.
12:00 masak moritz_: the cool thing is, infix:<&> as such still doesn't do any backtracking whatsoever.
12:01 mberends reading
12:02 mberends reading
12:02 hejki how to test if something is a link (in filesystem)?  ~~ :l doesn't seem to work - or am i missing something :)
12:03 mberends hejki: it doesn't work yet - not even specced fully. Work around it by parsing ls -l output
12:03 hejki hmm.. is there anything that does stat()? i could use that too
12:04 mberends Parrot does stat(), but returns only one field per call :(
12:04 mberends reading
12:05 c1sung joined #perl6
12:06 hejki :|
12:07 mberends reading
12:08 mberends phew, that will need several re-reads! it all makes sense, and gives some ideas for spidey, whose legs have not all been written yet. masak++
12:09 hejki if qqx{ls -l $filename}.comb(/^^l/).elems { ... } \o/
12:09 mberends nice one hejki
12:11 drbean joined #perl6
12:26 soupdragon joined #perl6
12:37 masak joined #perl6
12:37 nihiliad joined #perl6
12:37 masak mberends: glad you like it. :)
12:40 masak for a good time, I recommend downloading GGE and doing `./test-regex '^ [.* & a*]' aab`
12:42 arnsholt Welcome to backtracking-land? =)
12:45 partisan joined #perl6
12:57 Baggio_ joined #perl6
13:03 masak joined #perl6
13:03 masak arnsholt: yes, something like that.
13:04 masak arnsholt: it first backtracks the a* until it hits the bottom. then it fails on that and starts backtracking .*
13:05 masak it's a bit like nested for loops.
13:06 masak I just implemented two minor features in GGE that are TODO in PGE :)
13:29 payload joined #perl6
13:31 pmurias joined #perl6
13:40 mberends rm -rf go # as it's the concensus here that go doesn't matter
13:53 orafu joined #perl6
14:03 mberends phenny, tell masak the GGE commit message does evoke several analogies between regex match trees and viv AST, implying there could be overlap in the algorithms we are each writing.
14:03 phenny mberends: I'll pass that on when masak is around.
14:16 patspam joined #perl6
14:20 xinming_ joined #perl6
14:36 IllvilJa joined #perl6
14:50 araujo joined #perl6
14:51 xiaoyafeng joined #perl6
14:54 jmbers joined #perl6
14:56 Baggio_ joined #perl6
15:01 Psyche^ joined #perl6
15:10 colomon phenny: tell jnthn Blocks with $_ or implied $_ don't get the correct arity at the moment in ng.  It's costing us a good number of tests...
15:10 phenny colomon: I'll pass that on when jnthn is around.
15:18 PacoLinux joined #perl6
15:27 masak joined #perl6
15:27 masak rakudo: sub f(@a, $i=0) { $i ~ "[{map { f($_, $i + 1) }, @a}]" }; say f([[], [[]], []])
15:27 phenny masak: 14:03Z <mberends> tell masak the GGE commit message does evoke several analogies between regex match trees and viv AST, implying there could be overlap in the algorithms we are each writing.
15:27 p6eval rakudo 8dc189: 0[1[] 2[3[]] 4[]]␤
15:28 masak mberends: cool.
15:28 masak ng: sub f(@a, $i=0) { $i ~ "[{map { f($_, $i + 1) }, @a}]" }; say f([[], [[]], []])
15:28 p6eval ng 43dc5a: Could not find non-existent sub &map␤current instr.: '_block44' pc 410 (EVAL_1:139)␤
15:33 rodi joined #perl6
15:34 Baggio_ joined #perl6
15:45 japhb mberends, the stat method on parrot's OS object will return the full stat() array
15:45 japhb nqp: my $OS := pir::root_new__PP(<parrot OS>); my @s := $OS.stat("."); for @s { say($_) }
15:45 p6eval nqp: 2049␤688372␤16877␤9␤1000␤1000␤0␤4096␤12​61837802␤1261837891␤1261837891␤4096␤8␤
15:47 japhb masak: thank you for the Temporal links
15:47 masak np.
15:47 japhb masak, mberends: what's the state of proto's installed-modules branch these days?
15:47 mberends japhb: thanks, /me sits corrected
15:48 masak japhb: last I heard, it was fairly complete.
15:48 masak there's one ecosystem conflict left to handle, IIRC.
15:48 japhb What's the merge plan / time frame?
15:48 mberends masak: shall be have a status meeting about installed-modules soon?
15:49 mberends *we
15:49 masak mberends: gladly.
15:50 mberends afk now, food. back in >120 mins
15:50 PZt joined #perl6
15:59 Psyche^ joined #perl6
16:00 partisan joined #perl6
16:00 wolf2k_ubuntu joined #perl6
16:08 xenoterracide joined #perl6
16:09 payload joined #perl6
16:11 vorner joined #perl6
16:18 JimmyZ joined #perl6
16:30 diakopter diakopter: wb
16:33 vorner joined #perl6
16:47 jferrero joined #perl6
16:47 colomon joined #perl6
16:50 JimmyZ joined #perl6
17:03 payload joined #perl6
17:05 colomon ng: say Int ~~ Num
17:05 p6eval ng 43dc5a: 1␤
17:08 iblechbot joined #perl6
17:18 pugs_svn r29397 | colomon++ | [t/spec] Cheat slightly by switching $_ to $^a throughout, to make ng happy.  Add tests for passing types, regexes, and ranges to first.
17:25 dalek rakudo/ng: 06c9474 | (Solomon Foster)++ | t/spectest.data:
17:25 dalek rakudo/ng: Turn first.t test on.
17:25 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/0​6c9474788abb03fd614afbd264cab81c9010723
17:47 Achilles14 joined #perl6
17:49 araujo joined #perl6
17:50 Achilles14 hi, I want to help perl6 development. can somebody get me started?
17:54 payload joined #perl6
17:54 diakopter oops, missed Achilles14
17:58 araujo joined #perl6
18:00 mikehh_ joined #perl6
18:00 mathw Well, it is Boxing Day
18:02 araujo joined #perl6
18:05 _jaldhar_ joined #perl6
18:20 mberends kangaroo fillets make a nice Boxing Day dinner ;)
18:22 mathw ooh
18:22 mathw we had cold turkey, ham, sausages wrapped in bacon, with chipped potatoes, salad etc.
18:23 mathw which made a nice change from the giant roast turkey dinner we had yesterday!
18:24 mberends was yesterday with ham, sausages wrapped in bacon, etc perhaps?
18:29 colomon We've just had leftover turkey so far.
18:29 colomon but dinner is supposed to be more leftover turkey and stew.  :)
18:29 Su-Shee luckily, our lefts are over ;)
18:30 colomon I think my wife convinced my mom to give us the turkey bones so we can make stock when we get home tomorrow.  :)
18:31 Su-Shee they'll make nice soup ;)
18:31 colomon I notice that Rakudo master's pick implementation doesn't have a type for the $num parameter, and takes floor on it to get an integer.
18:32 colomon The spec calls for an Int.
18:32 colomon Seems to me the spec is right in this case?
18:34 diakopter colomon: seems right to me, but it also seems like someone chose coerce-to-Num for a reason...?
18:34 diakopter dunno
18:35 colomon According to blame, we need to ask masak.
18:35 colomon It's only listed as one month ago?!
18:36 colomon 11/20
18:37 Exodist joined #perl6
18:37 colomon phenny: tell masak Why did you take the Int constraint off of .pick?
18:37 phenny colomon: I'll pass that on when masak is around.
18:42 mikehh_ joined #perl6
18:46 araujo joined #perl6
18:52 gazelle joined #perl6
18:52 justatheory joined #perl6
19:05 araujo joined #perl6
19:10 mikehh joined #perl6
19:19 araujo joined #perl6
19:21 pnate joined #perl6
19:31 mikehh_ joined #perl6
19:59 araujo joined #perl6
20:49 arthur-_ joined #perl6
20:51 arthur-_ joined #perl6
21:05 pnate joined #perl6
21:11 colomon joined #perl6
21:14 arthur-_ joined #perl6
21:24 y3llow_ joined #perl6
21:40 arthur-_ joined #perl6
22:05 dlocaus joined #perl6
22:06 justatheory joined #perl6
22:08 colomon joined #perl6
22:16 dlocaus left #perl6
22:57 ruoso joined #perl6
23:00 pmurias ruoso: hi
23:04 AndChat joined #perl6
23:06 ruoso hi pmurias
23:08 pmurias ruoso: i ported mildew over to the current version of STD
23:08 pmurias but STD behaves slightly differently on by system
23:09 ruoso pmurias, porting++
23:10 ruoso pmurias, I wish I could get back to work with smop in the same pace
23:16 pmurias ruoso: what direction do you think i should pursue with mildew/smop?
23:19 soupdragon joined #perl6
23:20 TiMBuS joined #perl6
23:26 ruoso I still believe that smop's place is in the p5 integration
23:28 youwin I cant see why the dot operator cant work with space between its arguments
23:30 youwin is it intended to work that way, just not yet implemented by rakudo?
23:31 pmurias perl6: 1 . say;
23:31 p6eval rakudo 8dc189: Confused at line 2, near ". say;"␤in Main (file <unknown>, line <unknown>)␤
23:31 p6eval ..pugs: *** ␤    Unexpected "."␤    expecting operator␤    at /tmp/WGEug0z27T line 1, column 3␤
23:31 p6eval ..elf 29397: Parse error in: /tmp/rawd1YkVlL␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: 1 . say;␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤  STD_red/std.rb:210:in `_UNIT'␤
23:31 p6eval .../..…
23:32 ruoso youwin, dot is not infix
23:33 ruoso std: 1 . say
23:33 p6eval std 29397: [31m===[0mSORRY![31m===[0m␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/0XwetABKCz line 1:␤------> [32m1 . [33m⏏[31msay[0m␤FAILED 00:01 106m␤
23:33 pmurias ruoso: dealing with memory leaks is the thing that mostly keeps me from working on smop
23:33 ruoso pmurias, so maybe you should simply move on with the leaks anyway
23:33 youwin the whole thing .meth acts like a postfix operator
23:34 ruoso youwin, the dotty is a special thing
23:34 ruoso pmurias, I mean, someone will fix the leaks eventually ;)
23:34 ruoso it doesn't need to be you
23:36 youwin i just dont see why it had to be implemented that way
23:38 youwin but im still in the middle of learning what this language is all about
23:43 takadonet joined #perl6
23:43 takadonet hey everyone
23:46 pmurias ruoso: what i think would make sense would be to work on improving the p5 interop and basic mildew features, and when it's possible to build cool things using p5 modules work on integration for performance
23:52 ruoso pmurias, I think that's a good plan already

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

Perl 6 | Reference Documentation | Rakudo