Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-10-16

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:11 [particle]1 joined #perl6
00:12 muixirt_ joined #perl6
00:12 xivix left #perl6
00:12 [particle] left #perl6
00:13 rgrau_ left #perl6
00:15 muixirt left #perl6
00:15 muixirt_ is now known as muixirt
00:16 muixirt left #perl6
00:23 justatheory left #perl6
00:30 pjcj joined #perl6
00:33 am0c^ joined #perl6
00:34 jferrero left #perl6
00:49 dalek niecza/master: 6cbd751 | sorear++ | / (5 files):
00:49 dalek niecza/master: Implement the regex ~ form
00:49 dalek niecza/master:
00:49 dalek niecza/master: Requires a FAILGOAL in your grammar.  Since regex frames are not full
00:49 dalek niecza/master: call frames, $*GOAL is not set; you should use Cursor.top_goal instead
00:49 dalek niecza/master: (NYI).
00:49 dalek niecza/master: review: http://github.com/sorear/niecza/commit/6​cbd7517ca61da521a9de66628f9da71523eb731
01:00 dalek niecza/master: 3a957b5 | sorear++ | / (2 files):
01:00 dalek niecza/master: Implement <{ }> code assertions
01:00 dalek niecza/master: review: http://github.com/sorear/niecza/commit/3​a957b5cfba45c6970a9870e3c6067136ffec0dd
01:06 TimToady joined #perl6
01:07 isBEKaml joined #perl6
01:28 diakopter TimToady: wb
01:58 jdv79 n
02:00 zostay left #perl6
02:02 zostay joined #perl6
02:23 sftp_ joined #perl6
02:24 ironcame1 joined #perl6
02:25 synth left #perl6
02:25 sftp left #perl6
02:25 ironcamel left #perl6
02:25 meppl left #perl6
02:25 coldboot left #perl6
02:25 TiMBuS left #perl6
02:25 TiMBuS joined #perl6
02:25 synth joined #perl6
02:25 meppl joined #perl6
02:26 coldboot joined #perl6
02:26 snikkers left #perl6
02:30 mafs left #perl6
02:39 shortcircuit left #perl6
02:40 shortcircuit joined #perl6
02:50 supernovus joined #perl6
02:52 justatheory joined #perl6
02:57 supernovus A quick question. If I have an object, and I want to dynamically add a new attribute to it, is this possible?
03:02 sorear $object does role { has $.foo };
03:03 supernovus Hmm, that seems a lot easier than the horrid mess I was trying with $object.^add_method($foo) (which told me that "Modifications to classes are not allowed after instantiation")
03:03 sorear You can't modify classes.
03:03 supernovus err, add_attribute that is
03:04 sorear You need to create a new class with the attribute, and switch your object to the new class
03:04 sorear whcih is what infix:<does> does
03:04 supernovus Yeah, I think does seems like a much better solution :-)
03:05 sorear aloha: seen tylercurtis
03:05 aloha sorear: tylercurtis was last seen in #perl6 7 days 14 hours ago joining the channel.
03:05 supernovus Awesome, does works great :-D
03:06 supernovus I know I've been working all day and am tired, as I actually used runtime role composition previously, so it should have been first in my head instead of the horrible hacks I have been trying :-P
03:06 jasonmay that is pretty slick
03:09 supernovus I'm writing a plugin for my web framework called Lighter, which is inspired by CodeIgniter (from PHP). What I want to do is make it so that when you do self.load-plugin('Plugin::Name') it dynamically loads the plugin, initialized an object, and then assigns it to self.plugin-name. I had gotten everything but the last step figured out... :-)
03:09 jasonmay rakudo: say IO::Socket::INET.non_existing_method
03:09 p6eval rakudo 064702: OUTPUT«Method 'non_existing_method' not found for invocant of class 'Failure'␤  in main program body at line 22:/tmp/lm3N2By2L8␤»
03:09 jasonmay for me, said: ... of class ''
03:11 supernovus jasonmay: I gues class '' too. Now if you create an object, it shows up as class 'IO;Socket;INET' instead.
03:12 supernovus rakudo: my $s = IO::Socket::INET.new; $s.non_existing_method;
03:12 p6eval rakudo 064702: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in main program body at line 1␤»
03:12 supernovus uhh
03:12 supernovus rakudo: my $s = IO::Socket::INET.new; $s.non_existing_method();
03:12 p6eval rakudo 064702: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in main program body at line 1␤»
03:13 justatheory left #perl6
03:16 supernovus well, that's different output than what I'm getting in the REPL
03:18 huf left #perl6
03:20 satyavvd joined #perl6
03:20 huf joined #perl6
03:22 sorear jasonmay: Rakudo uses a lot of anonymous classes internally
03:23 satyavvd_ joined #perl6
03:25 satyavvd left #perl6
03:25 satyavvd_ is now known as satyavvd
03:25 nymacro joined #perl6
03:26 Sarten-X left #perl6
03:32 meppl left #perl6
03:34 meppl joined #perl6
03:40 ggoebel joined #perl6
03:42 pythonian4000 is now known as pythonian4000afk
03:55 lue rakudo: say 1, {$^a + 2} ... 9
03:55 p6eval rakudo 064702: OUTPUT«13579␤»
03:55 lue rakudo: say 1, {$^a + 2} ... 10 # oh and hi :)
03:55 p6eval rakudo 064702:
03:55 p6eval ..OUTPUT«(timeout)1517192123252729313335373941434​5474951535557596163656769717375777981838587899193​9597991011031051071091111131151171191211231251271​2913113313513713914114314514714915115315515715916​1163165167169171173175177179181183185187189191193​1951971992012032052072092112132152172192212232…
03:57 lue methinks that's a bug, no?
04:07 sorear no
04:07 sorear the stop condition is a smartmartch
04:07 sorear 10 means "stop if the value 10 is produced"
04:07 sorear you probably want
04:08 sorear rakudo: say 1, {$^a + 2} ... {$^a >= 10}
04:08 p6eval rakudo 064702: OUTPUT«1357911␤»
04:08 sorear rakudo: say 1, {$^a + 2} ...^ {$^a > 10} # to exclude the stop value
04:08 p6eval rakudo 064702: OUTPUT«13579␤»
04:09 lue alright.
04:13 Schwern left #perl6
04:14 Schwern joined #perl6
04:38 satyavvd left #perl6
04:46 \xF0_ left #perl6
04:48 \xF0 joined #perl6
04:55 pythonian4000afk is now known as pythonian4000
05:01 sorear rakudo: my $x = "foo" => "bar"; sub zaz(*%foo) { say %foo.perl }; zaz(|$x)
05:01 p6eval rakudo 064702: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in 'zaz' at line 1:/tmp/drBMkycqAH␤  in main program body at line 22:/tmp/drBMkycqAH␤»
05:03 jhuni joined #perl6
05:06 _kaare joined #perl6
05:14 am0c^ left #perl6
05:24 supernovus Okay, now I've come across another problem. Is there a way to set a dynamic attribute via indirect call. I know for method calls you can do $object."$method"($param);  but it doesn't seem you can do $object."$attribute" = 'new value';
05:27 sorear that absolutely should work
05:27 sorear rakudobug it
05:29 supernovus Okay, yeah, it spit out a nice friendly error:  Quoted method name requires parenthesized arguments at line 1, near " = $value;"
05:30 sorear And it's not clear from that what you need to change?
05:30 dalek niecza/master: b4b25d0 | sorear++ | / (4 files):
05:30 dalek niecza/master: Implement nonconstant strings in regexes
05:30 dalek niecza/master: review: http://github.com/sorear/niecza/commit/b​4b25d0fae4f67ff61e95980a88c0f8b254a523f
05:30 dalek niecza/master: c75b9ef | sorear++ | / (5 files):
05:30 dalek niecza/master: Implement flattening arguments
05:30 dalek niecza/master: review: http://github.com/sorear/niecza/commit/c​75b9ef26d479e6d5d2277fe5dc4463d544f8f92
05:30 sorear What should the message be?
05:30 sorear $object."$attribute"() = 'new value'
05:31 supernovus I tried changing to $object."$method"('new value')... gah! Another sign I should have gone to bed hours ago...
05:31 sorear Hehe.  Been there done that. :)
05:33 supernovus thanks for the help, sometimes it's just brain failure on my part ;-)
05:34 sorear Sometimes all it takes is another pair of eyes.
05:38 supernovus Well, I certainly can say this channel has always been a huge help. I know I tend to be using some pretty esoteric bits of the language in some of my projects (I think eval("use $modulename") isn't a daily use statement for instance...) but nobody ever questions my madness, just points me in the right direction to fulfil it further ;-)
05:41 sorear eval("use $modulename") is a sign you might want to be using Perl 5
05:41 sorear Perl 6 is a much less dynamic language in that way
05:41 sorear I'm not sure yet how much less
05:43 supernovus Oh, I certainly don't want to be using Perl 5... way too many years of that. Neah, eval("use $modulename") is my workaround for no 'require' statement in Rakudo. At least three of my projects support dynamically loaded plugins, and that's the workaround to make them work.
05:44 sorear I'm wary of dynamically loading code without the ability to dynamically unload code.
05:44 sorear I'd also like more fault isolation.
05:45 supernovus Now that would be interesting, an "unrequire" statement... you'd need an "unimport" to go along with it. Would be interesting.
05:46 supernovus Of course, not really important until "require" is implemented ;-) If I knew more about Rakudo's guts, I'd try to make require myself.
05:48 supernovus I'm sure a proper require statement would be better than eval("use $module"); if defined $! { die "eval use failed: $!" } :-P
05:52 * sorear adds supernovus to the "would prefer eval and try to be separate" list
05:53 supernovus sorear: I thought eval and try were separate already?
05:53 sorear no
05:53 sorear eval does 2 things
05:53 sorear 1. it interprets code in a string
05:53 sorear 2. it catches exceptions and sets $!
05:53 sorear #2 is try's domain, and eval shouldn't be doing it
05:56 supernovus Ah, I didn't realize that there was an overlap. How would the call work with try?  try { eval("use module") CATCH { die "eval use failed: $!" } }
05:57 sorear you would just use eval("use module")
05:57 sorear if you're just going to die again you don't need to CATCH
05:58 supernovus Oh yeah, wouldn't need eval, duh! sorry, brain is really slow tonight. So then for the CURRENT behavior you would do try { eval("blah"); }
05:58 sorear or just try eval("blah");
05:58 sorear try takes a <blast>
05:59 supernovus Ah, cool. Well, that sounds like a good idea. I'd sure like it if I didn't have to put explicit "if defined $! { die "some eval call failed: $!" }" statements in every single place I use eval!
06:10 [particle]1 left #perl6
06:11 [particle] joined #perl6
06:11 supernovus left #perl6
06:11 \xF0 left #perl6
06:11 \xF0 joined #perl6
06:12 skids left #perl6
06:27 sorear .u 23cf
06:27 phenny U+23CF EJECT SYMBOL (⏏)
06:39 _twitch joined #perl6
06:49 dalek niecza/master: f014c14 | sorear++ | / (4 files):
06:49 dalek niecza/master: Add <alpha> and an <+INTERNAL::cclass> mechanism
06:49 dalek niecza/master: review: http://github.com/sorear/niecza/commit/f​014c14ff68fe45514304d4cfd211c4c7df1c139
06:49 dalek niecza/master: c7274f4 | sorear++ | v6/ (3 files):
06:49 dalek niecza/master: Port over mid-level Cursor.pm6 stuff
06:49 dalek niecza/master: review: http://github.com/sorear/niecza/commit/c​7274f43f93884ffd7ce17a029f6272e33114dc8
07:03 Schwern left #perl6
07:13 tadzik joined #perl6
07:13 isBEKaml left #perl6
07:14 tadzik g'morning
07:14 sorear hey
07:17 kjeldahl joined #perl6
07:31 tadzik left #perl6
07:37 nymacro left #perl6
07:39 nymacro joined #perl6
07:41 mavrc joined #perl6
07:46 _twitch left #perl6
07:47 _twitch joined #perl6
07:47 wooden_ is now known as wooden
07:54 xinming left #perl6
07:56 xinming joined #perl6
08:01 xinming left #perl6
08:02 xinming joined #perl6
08:06 molaf joined #perl6
08:10 xinming left #perl6
08:12 xinming joined #perl6
08:12 ggoebel left #perl6
08:15 kjeldahl left #perl6
08:19 kjeldahl joined #perl6
08:24 kjeldahl left #perl6
08:26 dju joined #perl6
08:32 dju left #perl6
08:32 dju joined #perl6
08:46 Mowah joined #perl6
08:46 moritz_ rakudo: say 'raboof'.flip
08:47 p6eval rakudo 064702: OUTPUT«foobar␤»
09:04 y3llow_ left #perl6
09:08 am0c^ joined #perl6
09:10 [sbp] is now known as sbp
09:31 agentzh joined #perl6
09:32 am0c^ left #perl6
09:39 icwiener joined #perl6
09:40 icwiener left #perl6
09:42 Chillance left #perl6
09:42 icwiener joined #perl6
09:53 johann joined #perl6
09:57 johann left #perl6
10:01 moritz_ rakudo: my @a = 1, 2, 3; my $x := @a; .say for $x;
10:01 p6eval rakudo 064702: OUTPUT«1 2 3␤»
10:11 tadzik joined #perl6
10:12 tadzik o/
10:18 moritz_ \o
10:18 moritz_ it seems I have  $_ = 'foo'; m:g/./;  working
10:19 moritz_ problem is, it doesn't work like  'foo' ~~ m:g/./
10:19 moritz_ because m:g returns a list
10:19 moritz_ so it boils down to 'foo' ~~ (Match.new(...), Match.new(...), Match.new(...))
10:19 moritz_ which returns False
10:39 moritz_ rakudo: 'abc' ~~ /(.)(.)/; .say for $/.list
10:39 p6eval rakudo 064702: OUTPUT«a␤b␤»
10:40 moritz_ rakudo: 'abc' ~~ /(.)(.)/; .say for $/.flat
10:40 p6eval rakudo 064702: OUTPUT«a␤b␤»
11:01 ggoebel joined #perl6
11:03 MayDaniel joined #perl6
11:06 pythonian4000 is now known as pythonian4000afk
11:15 masak joined #perl6
11:15 masak o/
11:16 moritz_ \o
11:17 pythonian4000afk is now known as pythonian4000
11:19 MayDaniel left #perl6
11:25 ggoebel left #perl6
11:25 MayDaniel joined #perl6
11:26 jhuni left #perl6
11:41 mberends left #perl6
11:47 pythonian4000 is now known as pythonian4000afk
11:52 satyavvd joined #perl6
11:53 mberends joined #perl6
12:26 masak yay! moritz_, au, TimToady and I are in the CREDIT section of chromatic's book. http://www.modernperlbooks.co​m/mt/2010/10/due-credits.html
12:27 colomon \o/
12:28 masak also, quietfanatic++ is funny :) http://www.christiananime.net/showp​ost.php?p=1431406&amp;postcount=11
12:28 * moritz_ can't even remember what he contributed to the book
12:28 masak moritz_: long live Open Source :)
12:30 masak also, au++ has finally hit the limit of the postmodern: http://twitter.com/audreyt/status/27535583618
12:30 moritz_ what does that translate to?
12:31 masak moritz_:
12:31 masak that was today's distractions, sponsored by Twitter. now back to your regularly scheduled Perl 6.
12:31 masak moritz_: oh, you meant the avatar picture?
12:31 masak I haven't figgered that out yet. haven't tried, though.
12:31 masak the point of the tweet was that it was empty.
12:32 * jnthn can has bacon o/
12:32 * moritz_ doesn't read any scripts besides Latin and a bit of Greek
12:32 masak it came right after the tweet "this tweet  no verb" :)
12:32 jnthn Hopefully this fuels a little 6model hacking today :-)
12:34 masak no, I can't decipher au's avatar picture. it looks like Traditional, though.
12:35 masak if any hanzi expert is around to assist, I'll happily accept clues.
12:37 satyavvd left #perl6
12:40 burning_aces joined #perl6
12:43 _twitch left #perl6
12:46 masak my live "Perl 6" filter is currently (literally) overflowing with Japanese tweets.
12:46 kcwu_ left #perl6
12:47 jnthn Nice! :-)
12:49 masak I'm reasonably sure that during his keynote talk, TimToady compared the speed of Rakudo to a turtle's.
12:49 * moritz_ would like to see how an electronic filter literally overflows
12:49 masak moritz_: there's a 200-tweet limit.
12:50 masak moritz_: and since yesterday, there seems to have been more than 200 tweets.
12:50 masak s/seems/seem/
12:50 * moritz_ has even written a Turtle in Perl 6
12:50 moritz_ for solving nonograms
12:52 masak recent developments have made me start thinking of the "real" goal or "central" goal of Perl 6.
12:52 masak and then I found this page: http://dev.perl.org/perl6/architecture.html
12:53 masak it's outdated in various ways, but I think it still makes a good job summarizing the goal of Perl 6.
12:53 masak there's easily a whole blog post in there somewhere.
13:00 masak rakudo: class A { has $.b is rw }; given A.new { ."b"() = 42; say .b }
13:00 p6eval rakudo 064702: OUTPUT«42␤»
13:00 masak supernovus reported this as not working. it seems to work.
13:00 masak hm, "reported" as in "mentioned on IRC", not "RT'd".
13:06 jnthn masak: http://dev.perl.org/perl6/talks/2000/als/ is an interesting one ot read thorugh too
13:11 araujo left #perl6
13:15 icwiener left #perl6
13:15 icwiener joined #perl6
13:20 Patterner left #perl6
13:25 moritz_ '"Non-critical built-ins", for example sockets and operating system calls, will no longer be operations in the core of Perl. They'll be in dynamically loaded, possibly automatically loaded, modules. '
13:25 moritz_ +1
13:30 jdv79 weird.  i always thought of sockets as being critical but i guess if you had to make the distinction...
13:31 Psyche^ joined #perl6
13:31 Psyche^ is now known as Patterner
13:31 jdv79 i guess the exception would be enough info to track down an issue
13:31 moritz_ well, "critical" really depends on your applications
13:31 moritz_ it's critical to have them, but not for all tasks
13:32 jdv79 that's what i meant.  in a pure sense they are not critical
13:32 moritz_ for example you don't need them to load modules
13:32 jdv79 arithmetic ops on the other had would be
13:32 jdv79 *hand
13:33 jdv79 neat idea
13:34 moritz_ maybe we can install "trap" type objects, which load a module and replace themselves with the "real" thing when you call a method on them
13:36 jnthn TrapHOW :-)
13:36 jdv79 lembark would call it a trampoline
13:37 jdv79 who uses that word?
13:37 jdv79 :)
13:37 * moritz_ would make IO::Socket.*, DateTime and Date such traps
13:37 moritz_ jdv79: chromatic uses it often :-)
13:40 chturne left #perl6
13:59 kjeldahl joined #perl6
14:03 masak ooh, didn't realize that the whirlpool meme goes as far back as 2000: http://www.wall.org/~larry/als/talk.html#s-12
14:04 mberends left #perl6
14:05 masak here's the pre-fork Perl family tree: http://www.wall.org/~larry/als/talk.html#s-17
14:05 nymacro left #perl6
14:09 nymacro joined #perl6
14:12 jnthn masak: Gotta love the quote at the end of that talk. :-)
14:12 jnthn "Never promise to complete a project within six months of the end of the year--in either direction."
14:12 kjeldahl left #perl6
14:12 masak :)
14:13 agentzh left #perl6
14:13 zulon joined #perl6
14:15 pjcj left #perl6
14:21 colomon left #perl6
14:21 Axius joined #perl6
14:23 masak "We don't know how long this Perl 6 thing is gonna take.  There are still some people using Perl 4 out there." -- Larry Wall, http://dev.perl.org/perl6/t​alks/2000/als/larry-als.txt
14:24 kjeldahl joined #perl6
14:30 pjcj joined #perl6
14:30 burning_aces left #perl6
14:35 orafu joined #perl6
14:37 ggoebel joined #perl6
14:41 Axius left #perl6
14:59 cotto left #perl6
15:04 chturne joined #perl6
15:06 masak mfollett++ http://mfollett.com/if-you-​like-x-you-might-like-perl
15:09 M_o_C joined #perl6
15:12 ggoebel left #perl6
15:37 skids joined #perl6
15:42 xivix joined #perl6
15:43 xivix Woo! I'm the 200th user!
15:43 xivix ATM.
15:43 xabbu42 joined #perl6
15:43 tadzik left #perl6
15:46 xivix left #perl6
15:58 Schwern joined #perl6
15:59 tadzik joined #perl6
16:01 rgrau` joined #perl6
16:03 xabbu42_ joined #perl6
16:03 xabbu42 left #perl6
16:03 xabbu42_ is now known as xabbu42
16:13 kjeldahl left #perl6
16:13 max joined #perl6
16:13 max is now known as Guest62111
16:14 Guest62111 hello I am new here and need advice.
16:14 moritz_ hi
16:15 tadzik hello max
16:16 Guest62111 Is perl 6 mature enough to start rewriting my perl 5 scripts? I wrote a ticketing system with perl 5 and it was a bit complex stuff :S
16:17 isBEKaml joined #perl6
16:18 tadzik it depends I think. Perl 6 is significantly slower and memory-hungry. How do you define "mature"?
16:18 moritz_ complex applications are already possible in Perl 6, but likely they'll be too slow for now
16:18 tadzik s/Perl 6/Perl 6 implementations/
16:21 Guest62111 oh I see.. no the system is already having problem of being a bit slow.. maybe I will just wait a bit until the slowness problems are fixed..
16:21 Guest62111 I hope that will be soon :)
16:23 isBEKaml hey guys, what's with rakudo builds taking a long time to get done? This morning it took me over an hour at core.pir when normally it takes 20 mins totally.
16:23 isBEKaml http://pastebin.ca/1963696
16:23 isBEKaml Notice the last few lines, Compiler.pir is repeated.
16:24 moritz_ isBEKaml: how much memory do you have available?
16:24 isBEKaml moritz_, 512 megs of ram and a  1 gb swap.
16:25 isBEKaml moritz_, I don't think that should be a problem. but the machine is an ancient one, generally.
16:28 xabbu42 left #perl6
16:28 * moritz_ thinks it might very well be a problem
16:30 isBEKaml moritz_: I noticed one thing, though. Up until I get to core.pir generation, the memory usage was hovering around 200 megs, then it suddenly shot up to 600 megs and ate away steadily.
16:31 moritz_ isBEKaml: well, that's the most memory intensive step
16:31 Guest62111 left #perl6
16:32 isBEKaml moritz_: yes, is there any way to cut it down? I'm sure this must have come up earlier on discussions here.
16:33 isBEKaml I'm guessing I can just take out core.pir step from the makebuilds and put it back from somewhere else(the file)
16:33 isBEKaml after all, that's going to be static, if I'm not totally wrong.
16:34 M_o_C left #perl6
16:34 larry joined #perl6
16:34 moritz_ right
16:34 moritz_ no success in splitting up the compilation yet :(
16:35 isBEKaml I hope you guys come up with something in the future. I could do it if I know how, but I have no idea. :(
16:36 * moritz_ has an idea
16:36 * isBEKaml looks on eagerly
16:36 moritz_ the difficulty is that the setting acts as an outer scope to the program
16:36 moritz_ so we concatenate all the source code to have it one scope
16:36 isBEKaml I saw that - please continue.
16:37 moritz_ but... couldn't we split off the parts without lexical symbols onto different files?
16:37 moritz_ and compile that in a separate step?
16:37 isBEKaml erm, I thought they were as good as having them in their own files.
16:38 moritz_ many setting files define both methods and subs
16:38 moritz_ jnthn, pmichaud: ping. See the idea above... does that sound feasible?
16:41 isBEKaml moritz_: tell me something that I'm not sure about... From your idea, it sounds like we could generate separate pirs and include them as separate steps than have one huge pir generation step. If, say, I generate Str.pir - wouldn't that cut down the scope ?
16:41 isBEKaml I mean, how do we call into methods that are defined in Str.pir?
16:41 moritz_ isBEKaml: the problem are subs, not methods
16:42 isBEKaml moritz_: exactly - private scopes in their own classes.
16:42 isBEKaml sorry, I conflated subs and methods  - java thinko here. :(
16:43 masak Java does indeed conflate subs and methods.
16:43 moritz_ subs go into lexical scopes, methods into classes
16:43 masak at least syntactically. semantically it doesn't have subs.
16:43 isBEKaml masak:  most of the time I code methods into java classes, they are mostly helper methods and hence private.
16:43 moritz_ augmenting a class and adding some methods should be possible without having to worry aobut scope
16:44 isBEKaml masak: unless they are part of field accessors, of course or some method that I explicitly want public.
16:44 larry rakudo: say 'Back to stone age..!';
16:44 p6eval rakudo 064702: OUTPUT«Back to stone age..!␤»
16:45 moritz_ larry: building bamboo ships to cross the ocean?
16:45 shortcircuit left #perl6
16:45 isBEKaml moritz_: forget the oceans, stoners revered them!
16:46 shortcircuit joined #perl6
16:47 larry mortiz_: yeah.. looking for the perfect tool..
16:48 isBEKaml the perfect tool is always assembly, but hey, you can spare yourself the pain! :)
16:48 mavrc left #perl6
16:48 isBEKaml *SCNR*
16:49 mavrc joined #perl6
16:51 pmichaud moritz_: which idea...?
16:51 pmichaud 16:37 <moritz_> but... couldn't we split off the parts without lexical symbols onto different files?
16:51 pmichaud that one?
16:52 pmichaud most all of them have lexical symbols.  and some day, even class declarations will be lexical entries.
16:54 jnthn pmichaud! \o/
16:54 jnthn pmichaud: Any progress on the PCT::HLLCompiler move?
16:56 masak couldn't a PIR concatenating thing be built that compiles the core/**.pm files separately and glues together the resulting PIR?
16:56 pmichaud masak: you still have to get the lexicals in the right place(s)
16:57 jnthn It's not quite that simple, I fear.
16:57 * masak suspected that
16:57 pmichaud and all of the *.pm files are considered to be in a common lexical scope
16:57 jnthn It's not just concatenating the PIR, that'd not get you a single lexical scope.
16:57 pmichaud ...what jnthn++ said.
16:57 larry left #perl6
16:57 masak yeah, they belong in the same lexical scope.
16:58 pmichaud I've been brainstorming attempting an approach similar to what the REPL does
16:58 pmichaud i.e., don't use Parrot's built-in lexical scoping, but create a dynamic hash for it
16:58 pmichaud jnthn:  PCT::HLLCompiler is highest on my list
16:58 jnthn pmichaud: Thanks.
16:59 jnthn pmichaud: I spent last week feeling excessively tired and a little unwell, so didn't really get chance to block on it yet.
16:59 jnthn But hope to soon.
16:59 jnthn Well, or hope not to. :-)
17:00 pmichaud same here -- excessively tired but expecting to be back onto things soon
17:01 lola92 joined #perl6
17:02 lola92 Ciao! can I ask question?
17:02 masak hi! go ahead.
17:03 lola92 Can I create frozen binaries of perl6 code ?
17:04 lola92 If yes please tell how I am new :)
17:06 masak there is some way to create "fakecutables".
17:06 masak I don't remember where I read how.
17:10 lola92 masak: Last 2 years I used py2exe for my python it makes it easier to give to my windows users so they execute with no headache, I was thinking to move to perl (perl6 :)  if that can be done in perl6..
17:11 M_o_C joined #perl6
17:12 masak lola92: so, there's something in Parrot called pbc_to_exe which might interest you.
17:12 flussence isn't the perl6 binary itself created that way?
17:12 masak I wish I knew more details. maybe people on #parrot do.
17:12 masak flussence: yes.
17:12 jnthn The issue is that the .pir file that Rakudo will spit out with --target=pir is suitable for modules, but is missing some bits for standalone scripts, iirc.
17:12 masak the resulting .exe is essentially a full bytecode interpreter along with a huuuge array of bytes.
17:13 lola92 masak: oh :(
17:13 jnthn So making a PBC of that doesn't work without manual hacking the file.
17:13 masak lola92: well, what did you expect it to be? :)
17:14 lola92 masak: just huge :P :D You just made a girl happy :D Let me check pbc_to_exe :)
17:14 jnthn If you can get a PBC file then yes, you can feed it to pbc_to_exe.
17:16 masak lola92: ah; here's the reference I was looking for: http://perlgeek.de/blog-en/perl-​6/my-first-executable.writeback
17:16 masak it's our dear moritz_++ who has scouted the territory, as is often the case.
17:19 \xF0 left #perl6
17:19 \xF0 joined #perl6
17:20 lola92 masak: Will it need parrot on the client PCs to work?
17:21 masak judging from the blog post, it will need libparrot.
17:24 lola92 masak: I saw that too. So it will not be just an exe to distribute to clients.. :''(
17:24 lola92 masak: But thanks for help :)
17:24 masak well no, it will be an exe and libparrot.
17:25 masak lola92: hope you find what you seek. good luck.
17:27 lola92 masak: thanks :) If you ever visit Germany come visit :D Goodbye :)
17:28 masak I'll keep that in mind. :)
17:30 isBEKaml hmmm... perl6.org still points to proto from the "Whatever" section.
17:31 lola92 left #perl6
17:32 justatheory joined #perl6
17:34 kjeldahl joined #perl6
17:40 zulon left #perl6
17:43 * masak is glad he didn't greet lola92 with "don't ask to ask" :)
17:45 ggoebel joined #perl6
17:50 * isBEKaml wonders if there's some sort of a culture thing asking permission before asking a question...
17:50 masak isBEKaml: are you wondering, or are you asking? :P
17:51 isBEKaml masak: hmmm, I always make mistakes in context. :P
17:51 masak isBEKaml: I'm making an autopun, not making fun of you, fwiw :)
17:51 isBEKaml either I put mistakes into context or put context into mistakes. xD
17:51 eternaleye left #perl6
17:52 masak actually, it's rather a failed autopun...
17:52 muixirt joined #perl6
17:52 isBEKaml well, both of us failed there. ;)
17:53 muixirt hi moritz_
17:53 eternaleye joined #perl6
17:54 * isBEKaml thinks the mu repo should be broken up into smaller parts....
17:54 isBEKaml rather huge at 59 megs.
17:54 muixirt w.r.t. compiling core.pm I naively ask why does perl6.pbc spew out the resulting pir code in one big chunk?
17:55 masak muixirt: one .pm file goes in, one .pir file comes out.
17:55 isBEKaml same questions a couple of hrs apart. Are we running a loop? :O
17:55 * muixirt is only guessing
17:55 isBEKaml muixirt: I asked that a couple of hours ago, fwiw.
17:56 masak muixirt: as to the deeper "why", see the IRC logs. things need to be in the same lexical scope.
17:56 muixirt oops
17:56 isBEKaml though not the exact question.
17:56 eternaleye left #perl6
17:58 eternaleye joined #perl6
17:59 muixirt masak: I'm under the impression that compiling core.pm perl6.pbc builds up a huge string of pir code. Am I guessing wrong?
17:59 masak core.pm is one huge .pm file. compiling it results in one huge .pir file.
18:00 sorear I need help reconciling $<foo> = 1 with "Cursors are logically immmutable"
18:00 masak in between the huge .pm file and the huge .pir file, a lot of memory is used. this is a problem.
18:00 masak sorear: are you talking about modifying $/ in closures in a regex?
18:00 sorear yes
18:01 masak I've never seen a mention of that particular kind of assignment, but leaving that aside...
18:02 ggoebel left #perl6
18:02 masak ...I have the impression that $/ doesn't contain a Cursor but a Match, or (before the regex has finished) a kind of Match-being-constructed.
18:03 muixirt masak: in the end my question is: why is there the necessity  to build up the entire pir code in memory instead of print out as the pir code gets generated? (Again, I'm guessing here, surely there are good reasons)
18:03 timbunce joined #perl6
18:03 masak muixirt: that's exactly what I asked in the IRC log as well.
18:04 muixirt which time?
18:04 masak muixirt: the answer is that they need to be generated in the same lexical scope.
18:04 masak muixirt: http://irclog.perlgeek.de/​perl6/2010-10-16#i_2918181
18:06 muixirt masak: That is another direction, I'm thinking of something different
18:06 isBEKaml rakudo: my $string="a b c d e \n"; my $str=$string.flip.substr(1).flip; say $string.bytes ~ $str.bytes ~ $str;
18:06 p6eval rakudo 064702: OUTPUT«1110a b c d e ␤»
18:08 isBEKaml parrot++ moritz_ ++ # reverse back in!
18:09 lue rakudo: [+] (.9, {$^a * .1} ... *)
18:09 p6eval rakudo 064702: OUTPUT«(timeout)»
18:10 masak rakudo: given Buf.new(0x263A).decode { .say; say .flip }
18:10 p6eval rakudo 064702: OUTPUT«:␤:␤»
18:10 isBEKaml .u 263A
18:10 phenny U+263A WHITE SMILING FACE (☺)
18:10 masak .u :
18:10 phenny U+003A COLON (:)
18:10 masak huh.
18:10 lue I noticed rakudo doesn't handle geometric (series.plural) well. [ or at all, for that matter :) ]
18:11 masak lue: and I bet you can guess why... :)
18:11 timbunce left #perl6
18:11 muixirt masak: I'm fine with a large core.pm, and of course do compilers need a lot of memorey, but what I like to know is why that 4.7M pir code must be held in memory until the last line of pir code is added and than spewed out (again surely there must be a good reason)
18:11 cotto joined #perl6
18:12 envi left #perl6
18:12 masak muixirt: I do believe that that's a very reasonable question to ask, yes.
18:12 flussence it's a tree!
18:13 masak :)
18:13 Sarten-X joined #perl6
18:13 lue it's been a while, but I guess it's either a problem with adding an infinite number of elements, or the fact its not lazy.
18:13 araujo joined #perl6
18:14 masak lue: I'd go with option A. :)
18:15 * lue wonders if its feasible to get infinite geometric series-es working, and also if its something better suited for a module
18:15 masak better suited for a module, but certainly a fun experiment.
18:15 masak involving introspection of closures.
18:16 justatheory left #perl6
18:18 ruoso joined #perl6
18:21 sorear muixirt: We do it all in memory because it's simpler that way and it doesn't hurt.
18:22 sorear muixirt: A 4.7MB compact byte string is neglible compared to the 400MB of POST::Node objects which are being used to build it.
18:22 sorear masak: this form of assignment is, afaik, only used in STD.pm6.  But STD uses it all over the place :(
18:23 sorear masak: the problem with the "match being constructed" view is backtracking
18:23 muixirt sorear: well I suspect that this pircode builds up piece by piece, and that costs a lot of memory (string appending)
18:23 masak then I suppose it's a question for the guy who wrote STD.pm6.
18:24 muixirt sorear: only asking because of 6034 brks and one single write (compiling core.pm)
18:27 sorear muixirt: we use a StringBuilder
18:27 sorear muixirt: the millions of crosslinked hashes which are created are the real problem
18:28 masak rakudo: grammar G { regex foo { } }
18:28 p6eval rakudo 064702:  ( no output )
18:28 lue rakudo: my sub ™($a) { say $a }; ™(3)
18:28 masak rakudo: grammar G { regex foo { } }; say "alive"
18:29 p6eval rakudo 064702: OUTPUT«===SORRY!===␤Malformed my at line 22, near "sub \u2122($a) "␤»
18:29 p6eval rakudo 064702: OUTPUT«alive␤»
18:29 sorear 1 AST node = PCT::Node = 1x Object PMC, 1x RPA (for attributes), 1x PMCProxy (for the Capture superclass), 1x Capture, 1x RPA, 1x Hash
18:29 * masak submits rakudobug
18:29 masak rakudo: my regex foo {}
18:29 lue is that (what i did) a known bug?
18:29 sorear each of *those* consists of a 16 byte header and a variable size attribute block
18:29 p6eval rakudo 064702: OUTPUT«===SORRY!===␤Malformed regex at line 22, near "foo {}"␤»
18:29 masak rakudo: my regex foo {}; say "alive"
18:29 p6eval rakudo 064702: OUTPUT«===SORRY!===␤Malformed regex at line 22, near "foo {}; sa"␤»
18:29 sorear Hashes, in particular, are quite big
18:30 sorear moving PCT::Node away from Capture and to a real Object will cut core.pm memory use by around 5
18:30 masak lue: do you know about identifiers and alphanumerics? it's in S02.
18:30 sorear pmichaud++ tells me that with the current Object implementation it will be far too slow, and I trust him
18:31 muixirt sorear: thanks for the explanation
18:31 masak std: grammar G { regex foo { } }
18:31 p6eval std 263c207: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/BgWKE1ZX7r line 1:␤------> [32mgrammar G { regex foo { [33m⏏[31m} }[0m␤    expecting quantifier␤Parse failed␤FAILED 00:01 116m␤»
18:32 * muixirt pets poor parrot GC
18:32 masak rakudo: / /
18:32 p6eval rakudo 064702: OUTPUT«===SORRY!===␤Null regex not allowed at line 22, near ""␤»
18:37 xivix joined #perl6
18:38 isBEKaml rakudo: my $foo, $bar;
18:38 p6eval rakudo 064702: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
18:38 isBEKaml rakudo: my ($foo, $bar);
18:38 p6eval rakudo 064702:  ( no output )
18:38 isBEKaml is it necessary that I have to enclose multiple variable declarations in parens?
18:38 xivix Apparently.
18:39 jnthn Yes.
18:39 isBEKaml precedence thing between my and , ?
18:39 jnthn my $foo, $bar is like (my $foo), $bar
18:39 jnthn std: my $foo, $bar;
18:39 p6eval std 263c207: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable $bar is not predeclared (declarators are tighter than comma, so maybe your 'my' signature needs parens?) at /tmp/tnFW4d59h3 line 1:␤------> [32mmy $foo, $bar[33m⏏[31m;[0m␤Check failed␤FAILED 00:01 118m␤»
18:39 jnthn "Steal this error"
18:39 isBEKaml jnthn: that was what I was asking about. my isn't an operator and hence precedence doesn't need to come in play.
18:40 isBEKaml anyway, that's similar to how p5 treats multiple var declarations too.
18:40 xivix rakudo: my ($foo = 1, $bar = 2);
18:40 p6eval rakudo 064702:  ( no output )
18:43 xivix Does rakudo have warnings and/or strict?
18:44 Schwern left #perl6
18:44 trek1s joined #perl6
18:47 tadzik xivix: strictness is default
18:48 xivix That's good.
18:48 xivix Imagine non-strict C.
18:48 masak C is a bit too static to be non-strict.
18:49 masak alternatively, C *is* non-strict :)
18:49 jnthn int *x = (int *)42; # not so strict ;-)
18:49 xivix I guess.
18:50 xivix But it's also all "you didn't declare this earlier."
18:51 masak that's because it's static.
18:52 xivix Right.
18:52 masak actually, Perl 6 has the same property. the lexpad is known by the end of parse time.
18:53 xivix I work with ANSI C, which is very picky.
18:53 xivix About everything.
18:57 xivix left #perl6
18:57 colomon joined #perl6
18:57 isBEKaml left #perl6
19:08 masak rakudo: for ^8 { say .fmt("%03b") }
19:08 p6eval rakudo 064702: OUTPUT«000␤001␤010␤011␤100␤101␤110␤111␤»
19:09 masak rakudo: for ^8 { .=fmt("%03b"); .say }
19:09 p6eval rakudo 064702: OUTPUT«000␤Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in <anon> at line 22:/tmp/1quR8AafjR␤  in main program body at line 1␤»
19:09 masak bug or not? why does it die on the second iteration?
19:09 masak rakudo: for ^8 -> $_ is copy { .=fmt("%03b"); .say }
19:09 p6eval rakudo 064702: OUTPUT«000␤001␤010␤011␤100␤101␤110␤111␤»
19:10 colomon could it somehow be checking what the value already was?
19:10 colomon rakudo: rakudo: for ^8 { $_ = 0; .say }
19:10 p6eval rakudo 064702: OUTPUT«===SORRY!===␤Confused at line 22, near "rakudo: fo"␤»
19:10 colomon rakudo: for ^8 { $_ = 0; .say }
19:11 p6eval rakudo 064702: OUTPUT«0␤Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in <anon> at line 22:/tmp/0dgx5yH9uo␤  in main program body at line 1␤»
19:11 colomon rakudo: for 0, 0, 0 { $_ = 0; .say }
19:11 p6eval rakudo 064702: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in <anon> at line 22:/tmp/FPzGS6jgdj␤  in main program body at line 1␤»
19:11 colomon ???????
19:12 Italian_Plumber joined #perl6
19:12 masak rakudo: for ^8 -> $_ is copy { .=fmt("%03b"); $_ = (~$_).trans("01" => "☹☺"); .say }
19:12 p6eval rakudo 064702: OUTPUT«☹☹☹␤☹☹☺␤☹☺☹␤☹☺☺␤☺☹☹␤☺☹☺␤☺☺☹␤☺☺☺␤»
19:12 colomon rakudo: for 0, * + 0 ... * { $_ = 0; .say }
19:12 masak middle statement is circumspect because of the usual Parrot string bug.
19:12 p6eval rakudo 064702: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in <anon> at line 22:/tmp/AHs_k3DfBp␤  in main program body at line 1␤»
19:13 colomon masak: wait, what?
19:13 masak rakudo: for ^8 -> $_ is copy { .=fmt("%03b"); .=trans("01" => "☹☺"); .say }
19:13 p6eval rakudo 064702: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤  in <anon> at line 22:/tmp/HVRQeHobw0␤  in main program body at line 1␤»
19:13 masak colomon: that one.
19:13 colomon ah, so that's what the ~$_.  gotcha
19:20 nymacro left #perl6
19:21 mavrc left #perl6
19:23 colomon still have no clue why the bug
19:23 masak so you agree it's a bug?
19:24 colomon seems like it's got to be, one way or the other.
19:24 * masak submits rakudobug
19:24 cognominal left #perl6
19:24 colomon I mean, either going through the loop the first time is wrong, or not going through it the second time is.
19:25 masak nod
19:25 colomon unless there's something really subtle and disturbing going on.
19:26 c9s masak: moritz_> what does that translate to? # that means "life is just like a dream"
19:26 masak c9s: thanks!
19:27 masak c9s: top-left character means "like"?
19:27 mavrc joined #perl6
19:27 masak c9s: which of the bottom two means "life" and which means "life"? :)
19:28 c9s masak: read from top-right to bottom-right
19:29 masak nodnod. :)
19:29 c9s masak: then the second col.
19:29 c9s it's traditional chinese. :-)
19:29 masak so, word for word, "one life like dream"?
19:30 c9s masak: right. :-)
19:30 masak \o/
19:30 masak c9s++
19:30 c9s masak++ # word for word
19:30 c9s \o/
19:30 masak one of these days, I'm going to learn classical Chinese.
19:31 c9s really ? interesting !
19:31 masak well, not *in* a day, naturally. :)
19:31 c9s you can ask me if you stuck in these characters
19:31 masak I can? awesome!
19:32 c9s i know it's hard to distinguish and memorize
19:32 c9s masak: yeah , sure!
19:32 c9s masak: do you know 書法?
19:32 c9s masak: http://www.google.com/search?sourceid=chr​ome&amp;ie=UTF-8&amp;q=%E6%9B%B8%E6%B3%95
19:33 kcwu joined #perl6
19:33 masak c9s: I know *about* it. I can't do it myself :)
19:33 c9s i learn these character with Calligraphy (書法)
19:33 masak wow.
19:33 * masak is impressed
19:33 c9s when i was child
19:34 masak one of my teachers did, too. it looks really nice when you write it.
19:34 c9s it's because i am taiwanese XD
19:34 c9s yeah
19:34 masak my teacher was a Mainlander.
19:34 masak 南人
19:34 c9s oh china
19:34 masak yes, the big one :)
19:35 c9s masak: cool! whihc input method are you using ?
19:35 masak Pinyin :(
19:35 masak it sucks.
19:35 c9s why?
19:35 masak I want to learn wubi.
19:35 c9s wubi ?
19:35 \xF0 left #perl6
19:35 masak Pinyin sucks because each sound has too many options. it's write and then hunt-and-peck.
19:35 masak among tens of characters.
19:36 masak I want something more predictable.
19:36 c9s masak: do you know chewing ?
19:36 masak nope.
19:36 c9s if you are using linux , you can install scim-chewing
19:36 c9s it can predict the words
19:36 c9s and select them for you
19:36 masak nice. I'm not, though. I'm on a Mac.
19:36 c9s masak: then you can use Vanilla Input Method
19:37 \xF0 joined #perl6
19:37 c9s masak: http://openvanilla.org/
19:37 masak \o/
19:37 masak 谢谢你!
19:37 c9s au joined this project before.
19:37 masak yes, she did.
19:38 c9s btw if you want more accuraccy you might interesting in 倉頡 & 大易 (au's using)
19:38 c9s it's traditional. :-)
19:39 c9s masak: i also wrote a 大易 (Dayi) converter module. :-p
19:39 * masak 's brain overfloweth
19:39 c9s Convert::Dayi
19:39 c9s :-p
19:40 c9s Dayi is like wubi i guess
19:40 zostay left #perl6
19:40 masak was just going to say that.
19:40 c9s but i use chewing (pinyin)
19:40 masak will investigate thanks!
19:40 c9s ;-)
19:41 zostay joined #perl6
19:41 * masak 恭恭敬敬地鞠躬
19:42 c9s XDD that's too much
19:42 c9s my pleasure :-)
19:43 * masak 現在是快樂的
19:43 c9s :D
19:44 c9s masak: 厲害!
19:44 c9s awesome!
19:44 masak 啊,“c9s”與“cornelus”是一樣
19:44 masak er, "cornelius"
19:44 c9s yeah
19:44 masak sort of a riff on "i10n", eh? :)
19:44 c9s haha
19:44 c9s yeah just like that
19:44 c9s :-p
19:45 * sorear envy
19:45 masak sorear: you're young, not too late to start.
19:45 masak sorear: I started at 25, 'cus I figured it might be too late at 26 :)
19:45 c9s sorear: :-)
19:47 c9s sorear: you can ask me chinese also if you like. :-)
19:50 pythonian4000afk is now known as pythonian4000
19:51 masak sorear: you'd have to rename niecza to 沒有時間 :)
19:56 c9s perl6 is awesome, thank you guys for doing these hard works
19:58 mathw :O
19:58 mathw :)
20:02 sorear hey, I can actually read the last two characters of that
20:06 ggoebel joined #perl6
20:08 sorear ok. I'm going to change { $<foo> = 1 } to $<foo> = { 1 }
20:08 sorear ie, if you make an alias to a { } interpolation, the alias will be to the value returned
20:08 sorear also it seems I implemented the wrong semantics for <{ foo }> :/
20:09 Kodi joined #perl6
20:09 sorear hi Kodi
20:09 Kodi sorear: Greetings.
20:09 cognominal joined #perl6
20:10 Kodi rakudo: say (2, 1) before (11, 1)
20:10 p6eval rakudo 064702: OUTPUT«Bool::False␤»
20:10 kjeldahl left #perl6
20:11 _kaare left #perl6
20:11 moritz_ rakudo: say <a b> before <a a>
20:11 p6eval rakudo 064702: OUTPUT«Bool::False␤»
20:11 moritz_ rakudo: say <a b> after  <a a>
20:11 p6eval rakudo 064702: OUTPUT«Bool::True␤»
20:12 Kodi I think 'cmp' on Seqs (or Parcels, or whichever those are) should do a recursive comparison, instead of comparing stringifications, which is what it seems to do at the moment.
20:12 moritz_ agreed
20:12 masak hm.
20:13 moritz_ it does that on Pairs already
20:13 moritz_ which is very useful
20:13 masak even Pairs are more scalar-y than list-y.
20:16 ggoebel left #perl6
20:23 Kodi rakudo: say [or] (2, 1) <<cmp>> (11, 1);
20:23 p6eval rakudo 064702: OUTPUT«-1␤»
20:25 masak I'll say this: I agree that it's a better default than comparing stringifications.
20:25 masak I'm not 100% sure it's "right" :)
20:31 shortcircuit left #perl6
20:31 shortcircuit joined #perl6
20:32 christine left #perl6
20:46 jferrero joined #perl6
20:52 Italian_Plumber left #perl6
20:54 dalek roast: 592eef1 | KodiB++ | S32-temporal/DateTime.t:
20:54 dalek roast: [DateTime.t] Golfed &us2007dst using hyperspaceships.
20:54 dalek roast: review: http://github.com/perl6/roast/commit/59​2eef1935e20130f3efac23e5bab7362fdac098
20:56 tadzik hrm. C++ has this Contructor Initialization List, the stuff after the colon. Wikipedia says it's the only place when you can fire off the baseclass' constructor. How is something like this achieved in Perl 6?
20:57 moritz_ tadzik: you can use nextsame() to get to the parent class'es new()
20:57 tadzik that makes sense
20:59 Italian_Plumber joined #perl6
21:01 Kodi left #perl6
21:02 Schwern joined #perl6
21:08 dukeleto left #perl6
21:09 trek1s left #perl6
21:15 kid51 joined #perl6
21:15 xivix joined #perl6
21:15 dukeleto joined #perl6
21:21 MayDaniel left #perl6
21:21 ggoebel joined #perl6
21:22 ggoebel left #perl6
21:23 kjeldahl joined #perl6
21:24 eternaleye left #perl6
21:27 icwiener left #perl6
21:27 icwiener_ joined #perl6
21:29 araujo http://ideone.com/7k9Kc
21:31 dukeleto left #perl6
21:33 kid51 left #perl6
21:41 meppl left #perl6
21:43 sorear rakudo: say try die "Hi"
21:44 p6eval rakudo 064702: OUTPUT«Null PMC access in type()␤  in main program body at line 22:/tmp/8yR2hfVumY␤»
21:44 sorear pugs: say try "Hi"
21:44 p6eval pugs: OUTPUT«*** Cannot cast from VStr "Hi" to Pugs.AST.Types.VCode (VCode)␤    at /tmp/52omWykEeI line 1, column 5 - line 2, column 1␤»
21:44 sorear pugs: say try die"Hi"
21:44 p6eval pugs: OUTPUT«*** Hi␤    at /tmp/zLr8GNu7rT line 1, column 5 - line 2, column 1␤»
21:50 zostay left #perl6
21:51 zostay joined #perl6
21:55 sorear tyler curtis lives
21:57 ggoebel joined #perl6
21:58 kjeldahl left #perl6
22:00 ggoebel left #perl6
22:07 dalek niecza/master: 5a45932 | sorear++ | / (3 files):
22:07 dalek niecza/master: Fix :r ~, <![]>, foo:['->']
22:07 dalek niecza/master: review: http://github.com/sorear/niecza/commit/5​a459325fc88864195191bc0732a060e07770b70
22:07 dalek niecza/master: 9d8f45c | sorear++ | / (4 files):
22:07 dalek niecza/master: Add $<foo> = { 2 + 2 } value capture extension
22:07 dalek niecza/master: review: http://github.com/sorear/niecza/commit/9​d8f45ccda42755798fb0d21d83c1029423759a5
22:07 dalek niecza/master: 32cdb76 | sorear++ | / (7 files):
22:07 dalek niecza/master: Implement primitive statement_prefix:try
22:07 dalek niecza/master: review: http://github.com/sorear/niecza/commit/3​2cdb76509560eaf50b3423d9881056ea30d58d7
22:11 zostay left #perl6
22:12 zostay joined #perl6
22:15 colomon moritz_: what if there's more than one parent class?
22:16 jnthn It calls the next thing in the mro.
22:16 xivix left #perl6
22:24 masak how does one override the mro in Perl 6?
22:25 araujo http://gitorious.org/koan !
22:25 * araujo just uploaded the code
22:25 masak araujo: \o/
22:26 dolmen joined #perl6
22:26 jnthn masak: See http://github.com/perl6/nqp-rx/blob/​nom/src/metamodel/how/NQPClassHOW.pm but we probably want to factor things a bit differently to make things easier.
22:26 araujo masak, :D
22:27 jnthn Maybe method ^compute_mro($class) { ... } will do it on a per-class basis.
22:27 jnthn Whatever it ends up looking like, it's overriding something in the meta-object.
22:28 masak right. the code you linked doesn't seem to allow any overriding.
22:28 jnthn Aye
22:28 jnthn Well, it *is* only a first cut. :-)
22:29 jnthn masak: Feel free to twiddle it.
22:29 jnthn I guess you have an nqp-rx commit bit.
22:29 masak guess so.
22:29 jnthn A compute_mro method is fine with me for now.
22:30 masak actually, I'm going to bed.
22:30 masak but maybe some other time :)
22:30 jnthn Oh, how sensible. :P
22:30 jnthn Dobru noc :-)
22:32 masak dobru noc :)
22:32 masak left #perl6
22:32 meppl joined #perl6
22:40 rgrau` left #perl6
22:40 Mowah left #perl6
22:49 M_o_C left #perl6
22:50 zostay left #perl6
22:55 zostay joined #perl6
23:02 tom_tsuruhara joined #perl6
23:08 zostay left #perl6
23:09 masonkramer joined #perl6
23:12 rgrau_ joined #perl6
23:14 zostay joined #perl6
23:30 icwiener_ left #perl6
23:37 muixirt left #perl6
23:49 jaldhar joined #perl6
23:56 Chillance joined #perl6

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

Perl 6 | Reference Documentation | Rakudo