Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-08-30

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
06:40 ilogger starts logging #perl6 at Tue Aug 30 06:40:00 2005
06:40 ilogger has joined #perl6
06:50 Eryadan has joined #perl6
07:16 meppl has joined #perl6
07:21 revdiablo has quit IRC (Remote closed the connection)
07:25 Forth has quit IRC (Nick collision from services.)
07:25 Forth has joined #perl6
07:25 Forth has quit IRC (Nick collision from services.)
07:30 Forth_ has joined #perl6
07:52 meppl has quit IRC (Remote closed the connection)
08:10 lhooq has joined #perl6
08:10 CapoeiraA has quit IRC (Read error: 110 (Connection timed out))
08:11 CapoeiraA has joined #perl6
08:11 lhooq ?eval 2+2
08:11 evalbot_6581 4
08:15 wilx has quit IRC (Remote closed the connection)
08:19 wilx has joined #perl6
08:19 f0rth_ has joined #perl6
08:19 f0rth has quit IRC (Read error: 104 (Connection reset by peer))
08:22 meppl has joined #perl6
08:25 wilx has quit IRC (Read error: 104 (Connection reset by peer))
08:26 broquaint has joined #perl6
08:30 wilx has joined #perl6
09:17 Maddingue has quit IRC (Read error: 110 (Connection timed out))
09:20 Maddingue has joined #perl6
09:35 umbop has joined #perl6
10:14 Eryadan has quit IRC (Remote closed the connection)
10:22 elmex has joined #perl6
10:30 prefiks has joined #perl6
11:03 sri has quit IRC (Remote closed the connection)
11:08 prefiks has left "Ex-Chat"
11:13 Eryadan has joined #perl6
11:35 integral has quit IRC ("Changing server")
11:36 jp-autark has quit IRC ("leaving")
11:38 GeJ ?eval "Hello World!".say
11:38 evalbot_6581 Hello World! bool::true
11:39 rindolf has joined #perl6
11:40 rindolf Hi all!
11:40 rindolf autrijus: here?
11:41 autrijus rindolf: hi
11:41 rindolf autrijus: hi
11:41 rindolf autrijus: I'm glad I found you here.
11:42 autrijus greetings.
11:43 Juerd You're wasting bytes :)
11:43 rindolf autrijus: can you please read http://www.nntp.perl.org/group/perl.module-authors/4022 and let me know how I can resolve this ExtUtils::Install issue?
11:44 integral has joined #perl6
11:45 autrijus rindolf: export PERL_EXTUTILS_AUTOINSTALL=--default
11:46 rindolf autrijus: OK. Is --default the mode that behaves like a regular Makefile.PL with PREREQ_PM?
11:46 autrijus aye.
11:50 ajs_home has quit IRC (Read error: 104 (Connection reset by peer))
11:52 rindolf autrijus: it works now.
11:52 rindolf autrijus: thanks.
11:55 autrijus np :)
11:56 rindolf autrijus: I could not gather from the man page that that is what --default does.
11:57 autrijus indeed. you want a committer bit?
11:57 rindolf autrijus: for EU::I?
11:57 autrijus EU::AI, yes
11:58 rindolf autrijus: if I'm in the mood, I might write a patch for the POD and put it in RT.
11:58 rindolf Right now, though, I have other things to do. (including some stuff I'm getting paid to do)
11:59 rindolf I'll just write a short E-mail about it to module-authors.
12:00 autrijus sure. vipe.technion.ac.il?
12:00 rindolf autrijus: what about vipe.t.a.i?
12:01 autrijus was confirming whether it's your email addr
12:01 rindolf autrijus: I have several E-mail addresses.
12:01 rindolf [email@hidden.address] is one of them.
12:02 rindolf I also have [email@hidden.address] and [email@hidden.address]
12:02 autrijus ok. an invitation for committership into extutils-autoinstall is in your inbox now
12:02 autrijus the svn repos is http://svn.openfoundry.org/modinstall/ExtUtils-AutoInstall
12:02 autrijus if you find time to post to RT, please commit ahead instead
12:03 rindolf autrijus: as you wish. I'll try not to misplace this commitership.
12:03 sri has joined #perl6
12:03 autrijus rindolf++ # thanks!
12:03 rindolf autrijus: :-)
12:04 rindolf has quit IRC ("Yay! I'm a Llama again!")
12:13 elmex has quit IRC ("leaving")
12:18 geoffb good $time_of_day, autrijus
12:19 geoffb Same to you, Juerd, since you seem to be the other person on-channel atm.  :-)
12:25 dudley has joined #perl6
12:27 integral is now known as integral|ZzZzz
12:29 elmex has joined #perl6
12:56 autark has joined #perl6
12:56 autark is now known as jp-autark
13:02 iblechbot has quit IRC (Read error: 104 (Connection reset by peer))
13:02 umbop has quit IRC (Connection timed out)
13:05 umbop has joined #perl6
13:08 nothingmuch has joined #perl6
13:11 Qiang_ has joined #perl6
13:18 nothingm1ch has joined #perl6
13:30 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
13:45 justatheory has joined #perl6
13:54 stevan__ has joined #perl6
14:02 stevan_ has quit IRC (Read error: 110 (Connection timed out))
14:03 scook0 has quit IRC ("Leaving")
14:10 SM_ax has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
15:04 hlen has joined #perl6
15:06 putter has joined #perl6
15:08 putter autrijus: fyi, the http://rt.openfoundry.org/Foundry/Project/Source/index.html/pugs/browse/ links are again in chinese.  eg, the link to Home is 登入.  fyi.
15:12 putter luqui: credit for finding the hash bug belongs to someone else.  I just echoed it.  But with the irc log bOrked, I'm afraid I can't give the correct attribution.
15:13 putter iblech: btw, you should be ready to go.  last night I smashed perl5.t down into edible 50 test pieces, and things looks plausible.
15:16 nothingm1ch has quit IRC (Read error: 110 (Connection timed out))
15:34 putter Can anyone describe what's up with PIL and classes?  I assume if it was easy it would already be done?  I wonder if it might be kludged with a wrapper script?
15:36 putter It seem a next step in moving PIL2JS along.  And helps in beginning p6-based PIL codegen.
15:50 joepurl has quit IRC (Remote closed the connection)
15:50 vkon has joined #perl6
15:51 vkon my question probably obvious, but: whether *parrot* required for regexp's in pugs (rules are implemented via PGE)
15:52 vkon ?
15:54 vkon has quit IRC (Client Quit)
15:54 saorge has joined #perl6
15:56 putter parrot is indeed required for p6 rules in pugs.  But not for :perl5 rules, which are provided by the included PCRE.  One can used an external parrot (the default), or embed it.
15:59 iblechbot has joined #perl6
16:00 meppl has quit IRC (Remote closed the connection)
16:06 brentdax autrijus: get my e-mail?
16:06 dudley has quit IRC ()
16:13 hlen has quit IRC (Read error: 110 (Connection timed out))
16:14 fglock has joined #perl6
16:20 putter hi fglock
16:20 fglock hi putter
16:23 fglock I'm working on Array.clone - I need this to fix some tests
16:23 iblechbot has quit IRC (Connection timed out)
16:23 * putter tries to picture a dual runtime, PIL-Run with p5 mm, and PIL2JS under JS::SM.  or tri-runtime with pugs embedded.
16:24 fglock :) best of each world
16:24 putter ah.  I was just trying to picture using your lazy arrays from PIL2JS... ;)
16:25 fglock can you make p5 calls?
16:25 * stevan__ wonders what is in the putters water that he is having such visions
16:25 stevan__ is now known as stevan
16:25 Aankhen`` JS::SM?
16:25 stevan Javascritp::SpiderMonkey
16:25 Aankhen`` Ah.
16:25 stevan but spelt correctly
16:26 putter hmm... svnbot is dead...  as of a few minutes ago, yes :)
16:26 stevan putter: the freenode admins are clearly drunk again
16:27 putter but I'm not sure what a JS proxy looks like.  PIL class limitations mean one cant do the obvious by just injecting p6.
16:28 putter stevan: there seemed several partitions over the last day or so.  maybe svnbot is off happy in some private universe
16:30 putter a musing: name for a JS::SM which includes a copy of spidermonkey, so you can just CPAN install it cleanly... JavaScript::SpiderMonkey::WithMonkey  ?;)
16:30 putter JavaScript::SpiderMonkey::PrimateIncluded ?
16:30 * stevan pictures a universe where svnbots frolic about free from their commit-happy masters
16:31 putter ;)
16:31 putter "svnbots dream of committed sheep..."
16:32 Aankh|Clone has joined #perl6
16:32 stevan :D
16:33 umbop has quit IRC (Read error: 104 (Connection reset by peer))
16:34 putter fglock: perl5/PIL2JS$ perl -Ilib -e 'use Perl6::Run::JS; Perl6::Run::JS->new->eval(q/say "hi"; eval_perl5(q!print "ho\n";!);/);'
16:36 putter Note you can run multiple js-based p6 instances in the same perl process.
16:38 putter Before I dive in, has anyone here looked at the PIL vis classes issue?
16:38 * fglock will be offline for a few hours
16:38 putter bye fglock
16:38 fglock bye :(
16:38 putter life! :)
16:38 fglock has left "Fui embora"
16:49 Aankhen`` has quit IRC (No route to host)
16:49 autrijus brentdax: what mail?
16:49 autrijus I don't think I did
16:51 brentdax Hmm, okay...
16:51 brentdax I noticed in your blog that you installed Kontent, and I was just wondering if you had any comments on the procedure or how it's documented, since I'll be releasing 0.02 soon.
16:52 autrijus ooh.
16:52 autrijus url to the svn again?
16:53 brentdax http://svn.brentdax.com/kontent
16:54 brentdax I haven't changed the docs on the installation yet, and I need to write some stuff to insert a few really critical pages (like, say, the setting containing the HTML template), so it's not entirely usable right now.
16:54 putter autrijus: do you have a moment for a quick -CPIL question?
16:57 zuulvin_ has joined #perl6
16:57 zuulvin_ has quit IRC (Client Quit)
16:59 stevan hey autrijus how is $work?
17:01 Aankh|Clone has quit IRC (Connection timed out)
17:02 Eryadan has quit IRC (Remote closed the connection)
17:05 autrijus stevan: tired, but fortunately free from tomorrow on to friday
17:05 autrijus putter: yes?
17:07 stevan autrijus: me too :)
17:07 stevan sept 1 is launch
17:08 autrijus ooh then we can hack something :)
17:08 autrijus maybe MM2 stuff
17:08 stevan autrijus: MM 2.0 is is good shape
17:08 stevan the bootstapping is in
17:08 stevan I am starting to covert tests
17:11 brentdax Does Pugs have a YAML dumper?  It seems like the Perl 5 one won't work properly--it interprets hashes as arrays of arrays.
17:11 autrijus hrmph
17:11 autrijus you mean .perl?
17:11 brentdax No, I mean using perl5:YAML.
17:11 autrijus we don't have yaml dumper yet -- but I think SJSON can do
17:11 putter autrijus: !:)  I'd like to get -CPIL dumping class info for PIL2JS and PIL-Run.  I notice -CPIL -e 'class C;' runs, but -e 'class C {}' doesnt.  are there known deep reasons for this?  or it just hasnt been attempted?  any other thoughts?  thank you.
17:13 putter brentdax: iblech had a magic invocation.  which I forget.  so I use jspugs's :pil.yaml <expr>
17:13 autrijus there's no deep reasons, except we didn't know how to represent class literal
17:13 putter brentdax: or for entire files, crude_repl.pl  with the :v option toggled on.
17:14 autrijus however, class literal now looks like just a regular MM closure constructor call
17:14 autrijus so maybe we'll just emit that
17:15 sapper has joined #perl6
17:17 kcwu_ has joined #perl6
17:17 iblechbot has joined #perl6
17:18 kcwu has quit IRC (Read error: 104 (Connection reset by peer))
17:18 putter ok.  thanks. I'll try to deal with the "{} causes -CPIL failure" issue, and leave the rest for later/others.
17:19 autrijus nod
17:19 yinjieh_ has joined #perl6
17:24 evalbot6 has joined #perl6
17:24 svnbot6 has joined #perl6
17:26 yinjieh has quit IRC (Read error: 110 (Connection timed out))
17:32 dduncan has joined #perl6
17:40 brentdax Hey, I remember writing that panic routine for Parrot...
17:42 Bollenator has joined #perl6
17:42 autrijus ?
17:43 brentdax I wrote Parrot's PANIC macro a few years back.  Just now, I got it to panic while running a substitution on a long string.
17:46 Bollenator has left
17:47 brentdax (Out of memory, nothing that necessarily means there's a bug in PGE.)
17:47 justatheory has quit IRC ()
17:50 luqui brentdax, how long?
17:53 brentdax Hmm...actually, the longest string it could have been working on was 1K or so.
17:53 meppl has joined #perl6
17:53 brentdax I had it doing a series of substitutions on a bunch of strings (one of which was much longer than the others).
17:53 brentdax I'm using an older Pugs and Parrot, though...
17:57 vkon has joined #perl6
18:01 vkon putter: thank you for complete answer ~2hr ago!
18:02 saorge has quit IRC (Read error: 104 (Connection reset by peer))
18:04 justatheory has joined #perl6
18:09 vkon ?eval 'qwerty'~~/q/
18:09 evalbot_6581 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:09 evalbot6 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:09 vkon ?eval $?PUGS_VERSION
18:09 evalbot_6581 \'Perl6 User\'s Golfing System, version 6.2.9, August 3, 2005'
18:09 evalbot6 \'Perl6 User\'s Golfing System, version 6.2.9, August 3, 2005 (r6378)'
18:12 vkon ?eval say 'qwerty'~~/q/ ?? 'y' :: 'n'
18:12 evalbot_6581 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:12 evalbot6 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:13 vkon ?eval say 'qwerty' ~~ /q/ ?? 'y' :: 'n'
18:13 evalbot_6581 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:13 evalbot6 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:14 vkon strange... results on evalbot are rather different on what I see on perl6.feather.nl
18:16 geoffb ?eval say 'qwerty' ~~ rx:perl5/q/ ?? 'y' :: 'n'
18:16 evalbot_6581 y bool::true
18:16 evalbot6 y bool::true
18:16 putter vkon: you're welcome.  (asyncronous conversations)++
18:17 putter ?eval  'qwerty' ~~ /q/
18:17 evalbot_6581 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:17 evalbot6 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:17 putter I suspect evalbot is compiled without parrot :(
18:18 geoffb autrijus, ping
18:18 saorge has joined #perl6
18:19 putter Actually, no, I don't understand that error message.  Even compiled without parrot, and no external parrot available, the error message should be different.
18:19 vkon putter: when I do it on my PC, I get expected result, but when ssh [email@hidden.address] I see error 'Parrot VM: panic: out of mem'
18:20 vkon putter: it probably parrot feature considered non-safe and not available within evalbot?
18:20 putter parrot --version ?
18:20 autrijus geoffb: pong
18:21 geoffb There's an annoying bug that I could really use a crushing for:
18:21 geoffb ?eval  my $foo = 0; $foo++; say $foo; my $bar = [0]; $bar[0]++; say $bar; my $baz = {a => [0]}; $baz<a>[0]++; say $baz;
18:21 evalbot_6581 1 1 Error: Can't modify constant item: VInt 0
18:21 evalbot6 1 1 Error: Can't modify constant item: VInt 0
18:22 geoffb It's blocking my conversion of a nice chunk of P5 code to P6 (without hideous hacks).  :-(
18:22 vkon putter: on feather... This is parrot version 0.2.3-devel (r9087); on my PC is 0.2.2-devel
18:22 Amnesiac has joined #perl6
18:24 autrijus geoffb: which t/ test is that?
18:25 Amnesiac has quit IRC (Read error: 104 (Connection reset by peer))
18:25 autrijus got the bug. fixing
18:25 geoffb Don't know, came across it when I was too otherwise tired to figure that out, but I'll try to A) find it, or B) write a test now
18:26 autrijus please write a test.
18:26 autrijus my $baz = [[9]];
18:26 autrijus $baz[0][0] = 10;
18:26 autrijus is the minimal case I got here
18:26 geoffb OK, doing so.
18:26 putter vkon: hmm... I wonder if a release 0.2.3 would have the same problem...?
18:26 autrijus this borks too
18:26 autrijus my @baz = [9];
18:26 autrijus @baz[0][0] = 10;
18:27 autrijus so it's circumfix [] not preserving lvaluehood
18:27 Amnesiac has joined #perl6
18:29 autrijus even more minimal
18:29 autrijus [[0]][0][0] = 0;
18:30 geoffb *chuckle*
18:30 geoffb All right you, golfing boy.  :-)
18:30 vkon putter: I don't have 0.2.3, so I'll fetch today's 'rsync' and will rebuild; this will be not immediate :) I'll do this
18:31 geoffb I'm transcribing these various cases into a pugsbug/.t
18:31 vkon ?eval [[0]][0][0] = 0;
18:31 evalbot_6581 Error: Can't modify constant item: VInt 0
18:31 evalbot6 Error: Can't modify constant item: VInt 0
18:32 Amnesiac has quit IRC (Read error: 104 (Connection reset by peer))
18:34 Amnesiac has joined #perl6
18:35 vkon putter: BTW on 'feather.perl6.nl' currently built pugs is 6378, so this is rather old?
18:37 PerlJam vkon: 10 days old or so.
18:39 Amnesiac has quit IRC (Read error: 104 (Connection reset by peer))
18:40 autrijus back. fixing
18:41 Amnesiac has joined #perl6
18:41 Amnesiac has quit IRC (Read error: 104 (Connection reset by peer))
18:42 geoffb autrijus, 6588, t/pugsbugs/lvalue_deep_brackets.t
18:43 autrijus great
18:43 geoffb It's dies after test 2, but I figured it's better that you have it while you're working, than I have it perfect.
18:43 autrijus yup
18:44 geoffb and btw, chromatic++ for making add-svn-props.sh work with svn and svk equally.
18:44 G2 has joined #perl6
18:46 autrijus wunderbar
18:46 svnbot6 r6588 | geoffb++ | First cut of test for lvalue deep brackets
18:49 autrijus got the bug.
18:49 autrijus the inner [0] is forced back into rvalue context.
18:50 skylan_ has joined #perl6
18:50 SM_ax has joined #perl6
18:50 geoffb wheee!, thanks
18:52 autrijus np :)
18:54 putter vkon: awesome.  re 6378, now 6589, so yes, a bit.
18:58 luqui ?eval (a => 'b')[1]
18:58 evalbot_6581 Can't exec "./pugs": Permission denied at examples/network/evalbot//evalhelper.p5 line 42.
18:58 evalbot6 \'b'
18:58 svnbot6 r6589 | putter++ | Compile.hs: -CPIL -e 'class C {...}' now works (no longer fails with an error).  Next step - remember package/module/class/grammar flavor, so it can tell you what C is.
18:58 luqui ?eval (a => 'b')[1]
18:58 evalbot_6581 \'b'
18:58 evalbot6 \'b'
18:58 luqui oh, evalbot6 is back
18:58 evalbot_6581 has quit IRC (Remote closed the connection)
18:58 putter yay
19:00 autrijus fixed.
19:00 autrijus committing
19:03 skylan has quit IRC (Connection timed out)
19:08 autrijus geoffb: try the fix?
19:10 svnbot6 r6590 | autrijus++ | * a one-line change that possibly have great impact:
19:10 svnbot6 r6590 | autrijus++ |   when using fromVal to cast a VList into a VList, don't
19:10 svnbot6 r6590 | autrijus++ |   recursively flatten references in them anymore.
19:13 lhooq one-line change for a file, one giant leap for pugs
19:17 fglock has joined #perl6
19:19 geoffb autrijus, sorry, pulled away by $child
19:19 geoffb bak now
19:19 geoffb pulling . . .
19:19 geoffb making . . .
19:20 autrijus k. remember to pull to see my test fixes
19:20 autrijus it all passes here
19:20 fglock hi all
19:21 geoffb hi, fglock
19:21 * fglock misses the daily autrijus journal
19:21 svnbot6 r6591 | autrijus++ | * lvalue_deep_brackets.t - make tests sane; all passes now.
19:21 svnbot6 r6591 | autrijus++ |   consider moving to other t/ dirs?
19:21 * geoffb too
19:22 autrijus fglock: I miss them too
19:23 fglock how about a docs/JOURNAL file
19:23 autrijus what would that do? collaborative journal making?
19:24 autrijus I thought that's what pugs.kwiki.org is for :)
19:25 fglock I'm taking a look there
19:25 brentdax has quit IRC ("Chatzilla 0.9.68.5 [Firefox 1.0.4/20050725]")
19:27 fglock autrijus: a question on lazy arrays - '@a=1..Inf; @b=@a; say @a.shift, @b.shift;' - is this 1,1 or 1,2 ?
19:27 svnbot6 r6592 | autrijus++ | * wizards.p6 - print debug messages only if $DEBUG is set.
19:28 autrijus fglock: 1,1 for sure
19:28 autrijus 1,2 only comes when
19:28 autrijus @b := @a
19:28 autrijus the generators are cloned
19:28 autrijus not shallowly copied
19:29 fglock ok - I'm working on cloning generators right now - just wanted to be sure
19:29 geoffb Bah, no wonder that took so long to build -- I forgot to quit Firefox first
19:31 fglock can you point me to a description of List x Array in Perl 6 - what is each one, what are the differences?
19:33 autrijus fglock: Array, like Scalar, is a container type; you can write stuff into it. List on the other hand represents values; you cannot directly write into a list
19:34 prefiks has joined #perl6
19:34 geoffb autrijus++ # Stomped that bug but good!
19:34 nothingmuch has joined #perl6
19:34 geoffb hey, nm!
19:34 nothingmuch three day weekend, oh how I long for thee
19:34 geoffb heh
19:34 nothingmuch hi ho
19:35 nothingmuch keeping up is *hard*, and I don't even have kids
19:35 autrijus fglock: I'm not aware of any unambiguous writeup on this subject, sadly. whatever we come up will have to do, I think
19:35 nothingmuch I don't know how career people do it =(
19:35 autrijus oh, they don't :)
19:36 nothingmuch my parents work full time, but I don't recall neglect
19:36 geoffb It's difficult, but you just give up something the kids don't notice.  :-)
19:37 lhooq kids don't have much RAM, that is
19:37 * geoffb , now a father of two, getting wise in his old age
19:37 nothingmuch geoffb: my problem is that my job is sort of my hobby, i guess
19:37 nothingmuch i don't get sick of computers
19:37 geoffb nothingmuch, oh yeah, ditto that.
19:37 nothingmuch i want to code the "fun stuff" too, when I get home
19:38 nothingmuch but on the other hand I don't want to do that
19:38 autrijus why would you get sick with part of you? :)
19:38 geoffb yep, so there.  That's why I quit being a FTE and became a PTC.  :-)
19:38 nothingmuch since I want to go outside, and see the lovely sun, and hear the lovely birds, and ride my lovely bike
19:38 nothingmuch fte == full time employee? ptc == part time contractor?
19:38 geoffb perfecto
19:38 fglock in p5 runtime, List is a temporary object - it only exists for a short while before it disappears into an Array. It can actually be optimized out.
19:39 nothingmuch autrijus: it's not a part of me... it's something that I do, no more
19:39 nothingmuch i'
19:39 Juerd_ has joined #perl6
19:39 Juerd has quit IRC (Read error: 104 (Connection reset by peer))
19:39 nothingmuch don't see myself doing this 5 years from now
19:39 autrijus okay then
19:40 autrijus I fully expect to become even more a cyborg after 5 years.
19:40 nothingmuch yeah, that is something that always scared me about you =)
19:40 autrijus fglock: how is it different from, say, a Str into a Scalar?
19:40 geoffb "And in 2010, autrijus became Hugh."
19:41 nothingmuch Hugh?
19:41 geoffb The borg with self-will
19:41 geoffb Couple episodes of TNG, IIRC
19:42 autrijus from "I, Borg"?
19:42 fglock you store Str into Scalar, and Array into Scalar - but you don't store List into Scalar. Also, you store List into Array, but you extract Scalar from Array (fetch) or Array from Array (splice)
19:42 geoffb autrijus, yeah, that might be it
19:42 putter Ok, quick strawman proposal.  Currently, class C{method f(){}}  in PIL gives you C::f, but no indication whether C is class,package,module,grammar.  Proposal: PIL includes a  "&class("C");" (in this case, to tell you which one it is.  Thoughts?
19:43 nothingmuch . o O ( autrijus voodoo dolls available at http://www.collectorsgalleryonline.com/Merchant2/merchant.mv?Screen=PROD&amp;Store_Code=CG&amp;Product_Code=STNEXTGENHUGHBORG&amp;Category_Code=STK )
19:43 autrijus putter: should probably be
19:44 autrijus our ::C := class {};
19:44 geoffb ?eval my $foo = 'bar'; $foo ~~ rx:perl5/^\+/ ?? "plus" : "other"
19:44 evalbot6 Error:  unexpected ":" expecting operator or "::"
19:44 geoffb ?eval my $foo = 'bar'; $foo ~~ rx:perl5/^\+/ ?? "plus" :: "other"
19:44 evalbot6 'other'
19:44 vkon has quit IRC (Read error: 104 (Connection reset by peer))
19:44 geoffb ?eval my $foo = '+bar'; $foo ~~ rx:perl5/^\+/ ?? "plus" :: "other"
19:44 evalbot6 'plus'
19:44 geoffb hmmm
19:44 autrijus putter: or drop the {}, just
19:44 autrijus our ::C := Class.new;
19:45 nothingmuch metamodels++
19:45 f0rth has joined #perl6
19:45 autrijus putter: the idea is to leverage a direct metamodel call based on the builting ::Module, ::Class etc
19:45 f0rth_ has quit IRC (Remote closed the connection)
19:47 autrijus putter: sounds sane?
19:47 putter hmm...  package C; ... package main;... package C;...     two  our ::C := ??
19:47 nothingmuch well, BEGIN { our ::C := }
19:47 autrijus nothingmuch: right.
19:48 autrijus putter: no, I think just one, as packages are not reopened
19:48 nothingmuch . o ( they are refurbished )
19:48 putter packages are not reopened??!?
19:49 autrijus as in, they are always reopened, sorry
19:49 autrijus you don't need to say "package C is reopened"
19:49 nothingmuch package C compiles not to BEGIN { ::C := ?? } then
19:50 nothingmuch BEGIN { ::C := Package.new unless defined ::C; ::C.extend { ... } }
19:50 autrijus sure, that can work.
19:51 autrijus our Package ::C .= new(...)
19:51 autrijus which would call the instance .new if ::C is defined
19:51 autrijus neatly sidestepping the "unless defined" problem
19:51 autrijus but that may be too cute.
19:51 autrijus I can't think too well, it's 4am here :)
19:51 nothingmuch btw, are ::X symbols stored in namespace?
19:52 nothingmuch if so is there a root instance of package?
19:52 nothingmuch or is this orthogonal, just pretending to be namespace-ey?
19:52 * putter thinks "&pil_hack_class("C"), and let the runtimes worry about it for now..."  ;)
19:52 autrijus putter: at least &Class::create('C')
19:52 nothingmuch i disagree
19:52 autrijus or &Class::_create
19:52 nothingmuch PIL should present a static image
19:53 nothingmuch or pretend to
19:53 nothingmuch this can be translated to &Class::create('C')
19:53 nothingmuch but that is potentially a lossy conversion WRT to the user's intents
19:53 autrijus nothingmuch: sure. ::= is just the RHS turned into normal form (i.e. constant rvalue)
19:54 autrijus nothingmuch: and yes, PIL2 needs to be a static image. but at this moment PIL1 is all dynamic and has very little static contents
19:54 autrijus so why not delegate to runtime for now :)
19:54 nothingmuch btw, I forget what happens in PIL for things like loop()
19:54 nothingmuch are the loops generalized into looping constructs?
19:55 nothingmuch or are these delegated to the runtime?
19:55 sapper has quit IRC ("Leaving")
19:55 putter nothingmuch: re static, PIL1 re oo already seems... not PIL2.  the objective is to make progress on backends, not to do PIL2 design work...
19:57 nothingmuch putter: i don't necessarily mean "getting it to work" in the right now scale
19:58 putter ah ;)
19:58 nothingmuch but if we want to be able to implement 'use optimize', the linker I proposed, static analysis, optimizers, type inferrencing, value inferrencing and so forth
19:58 nothingmuch which are priority 2 features, but still important
19:58 putter written in p6?
19:58 nothingmuch yup
19:59 nothingmuch shouldn't be that bad
19:59 putter does anything need to happen to get you to the point of being able to work on it?
19:59 putter (quite a sentence)
19:59 putter -CPerl6 ?
19:59 nothingmuch anyway, if pugs compiles to a PIL that is too "runtimeish" then these things won't have clear semantics
20:00 nothingmuch uh...
20:00 nothingmuch like i said about the 3 day weeken d
20:00 putter ;)
20:00 nothingmuch i don't think these are important enough now though
20:00 nothingmuch things should be working
20:00 autrijus one thing PIL1 does not have is an object-literal node type
20:01 autrijus where you can present an anonymous object -- say, a class object -- just like an anonymous closure
20:01 nothingmuch heh, this guy bought from the same place I bought my computer: http://i10.ebayimg.com/03/i/04/d2/31/9a_1_b.JPG
20:01 nothingmuch small world, eh?
20:01 fglock has quit IRC (Read error: 110 (Connection timed out))
20:01 autrijus it would not be a runtime call to .new; rather, it would be just like a serialized opaque object.
20:01 autrijus that is what objects in BEGIN would compile to
20:02 fglock has joined #perl6
20:02 nothingmuch btw, is the serialization format of the env completely defined yet?
20:02 putter re important, but they all share a PIL analysis/manipulation infrastructure with codegen.  And iblech will be doing more of PIL2JS in p6 rather than js as that becomes possible.  And much of what he does in p6, can be used for pilrun.
20:02 autrijus nothingmuch: nothing is, so no
20:02 nothingmuch autrijus: by completely i meant "good enough"
20:02 putter re object-literal, neat :)
20:03 autrijus nothingmuch: ah. no, the linkset problem is still open
20:03 * nothingmuch ponders a peep-hole optimizer for PIL
20:03 autrijus we still don't know what the equivalent of .hi file would be for p6
20:03 nothingmuch linkset problem in two words?
20:03 nothingmuch autrijus: followup on the linker thread?
20:04 putter so I think getting p6-based codegen from PIL is a good shortterm objective.
20:04 autrijus sure, but sleep is more important first
20:04 autrijus putter: yes. -CPerl6 would be trivial, no?
20:04 putter s/is a/going is a/
20:04 nothingmuch if any(@ARGV) eq "-CPerl6" { exec "cat" }
20:04 autrijus putter: actually if you define &bless, then -CPerl5 is likely oodwgood enough already
20:05 autrijus nothingmuch: ;)
20:05 putter autrijus: cut and copy two Drift files?  or is there abstraction potential there I missed... ;)
20:05 putter re bless, yes.  good idea.
20:05 nothingmuch oh
20:05 nothingmuch what is this Drift thing?
20:05 autrijus nothingmuch: it allows you to derive any class for any data type.
20:06 nothingmuch uh... example?
20:06 autrijus nothingmuch: see src/DrIFT/*
20:06 autrijus yay I answered before you asked
20:06 putter lol
20:06 nothingmuch not on my terminal ;-)
20:06 autrijus well, I'm going to get progressively silly in this sleep deprived mode
20:06 autrijus so I think sleep is a better idea
20:06 autrijus see ya tomorrow :)
20:06 * autrijus waves &
20:07 putter good night autrijus &
20:07 nothingmuch ciao!
20:07 Juerd_ What do you all use feather for?
20:07 Juerd_ Oh, good night autrijus
20:07 autrijus Juerd_: I use it to run various perl6 bots
20:07 autrijus really &
20:09 * nothingmuch uses it to ping home sometimes, and for the harrorth darcs page
20:10 hlen has joined #perl6
20:10 Juerd_ hehe
20:10 Juerd_ memo: unlink `which ping` ;)
20:10 nothingmuch oh btw, i think you can remove autrijus and me from sudoers - we don't know our passwords
20:10 Juerd_ Smart.
20:11 nothingmuch well, I do know my ssh key
20:11 nothingmuch ;-)
20:31 landover has joined #perl6
20:39 lhooq has quit IRC ("no reason to play it any way but my way")
20:44 stevan nothingmuch, autrijus, putter: see the MM 2.0 for a closure based class form
20:45 putter ! :)
20:45 stevan it is a UI macro in CLOS-speak
20:45 stevan but it basically is this:
20:45 stevan class 'Foo-0.0.1' => sub { my $class_meta_object = shift; ... do something ... };
20:46 * putter waits for the next line... slowly realizes that's it.. :)
20:46 stevan yeah thats all :)
20:46 putter :)
20:46 stevan http://svn.openfoundry.org/pugs/perl5/Perl6-MetaModel2.0/lib/Perl6/MetaModel.pm
20:46 stevan look in the SYNOPSIS of the Pod
20:46 putter looking...
20:47 stevan those two are equivalent
20:47 nothingmuch you mean the synoposis section ;-)
20:47 putter now that oo info is exposed by -CPerl5, the mm's can be exercised a bit more..
20:47 stevan SYNAPSE
20:48 nothingmuch stevan: fixed ;-)
20:48 stevan nothingmuch++ # removing the evidence
20:48 stevan putter: yes
20:49 stevan I think it might make sense for the class part of PIL to just be a series of metaobject calls
20:49 stevan it will simplify it i think
20:49 stevan my $Foo = $::Class->new('$:name' => 'Foo');
20:49 stevan that will create a new class
20:50 nothingmuch ebay--
20:50 stevan $Foo->superclasses([ $::Object, $Bar ]);
20:50 stevan etc etc etc
20:50 nothingmuch their site is broken =(
20:50 stevan MM 2.0 is greatly simplified (sort of)
20:50 Amnesiac has joined #perl6
20:50 * nothingmuch guesses that 'sub class { my $name = shift; my $class = $::Class->new; $class->name($name); &$_ for @_ }
20:51 stevan &$_ for @_??
20:53 fglock stevan: class is an "instance constructor closure"?
20:53 nothingmuch uh
20:53 nothingmuch too much functional programming?
20:53 stevan fglock: no, the sub "class" is just a "macro" to do some meta-object stuff for you
20:54 stevan make my life easier to test
20:54 putter stevan: or maybe wrap them in ApiX p6_mumble subs.  its been nice to have the whole mm interface in one place.  at some point it will just be boring, but it allows us to easily say things like "oh, instead of Int,etc, let's do P6::Int,etc".
20:54 stevan putter: I assume p6_mumble is re-sugaring routines?
20:55 putter (one of the nice things about p5 method calls being a bit slow, is sub call abstractions are then free...;)
20:55 svnbot6 r6593 | nothingmuch++ |  r7643@syeeda:  nothingmuch | 2005-08-30 23:47:51 +0300
20:55 svnbot6 r6593 | nothingmuch++ |  s/SYNOPSIS/SYNOPOSEES/
20:55 putter stevan: yes, I think.
20:56 putter I've just been following fglock's lead.  "How do I create a mm Int?  Ok, done  How do I ...."
20:59 putter http://svn.openfoundry.org/pugs/perl5/PIL-Run/lib/PIL/Run/ApiX.pm
20:59 nothingmuch stevan: what about mmd
20:59 nothingmuch ;-)
20:59 stevan nothingmuch: who needs that crap
20:59 stevan nothingmuch: MM 2.0 makes the assumption that methods exist
20:59 stevan I implement them in chaos.pl
21:00 stevan but I just assume they are there
21:00 nothingmuch stevan: from luqui's Class::Multimethods::Pure, the argument is basically applying what's good in OO one more time on OO
21:00 svnbot6 r6594 | putter++ | pugs - a Syn package/namespace now remembers whether it was a package/module/class/etc.  When compiling to PIL, emit a kludge declaration info statement (eg &Module::_create("M"); for a module M {...}).
21:00 svnbot6 r6594 | putter++ | Prelude/JS.pm: added placeholder hooks for declaration info calls.
21:00 nothingmuch to quote:
21:00 nothingmuch no, it's too long
21:00 stevan and methods are just wrapped subs
21:00 nothingmuch http://search.cpan.org/~lpalmer/Class-Multimethods-Pure-0.06/lib/Class/Multimethods/Pure.pm#Introduciton_to_Multimethods
21:01 putter stevan: you realize you're going to have to do talks on the mm stuff... time to start taking notes!  ;-)
21:01 stevan so the assumption is that multi-methods will likely just be wrapped multi-methods
21:01 putter s/taking/making/
21:01 nothingmuch it would be cool if mplayer had an airtunes output driver
21:01 stevan putter: I will adopt the autrijus/ingy model of giving talks
21:02 putter lol
21:02 stevan start the slides the night before, finish the first part in the cab/elevator to the talk
21:02 stevan and then finish the second part during the intermission
21:02 putter :)
21:03 stevan s/wrapped multi-methods/wrapped multi-subs/
21:03 fglock I guess multimethods will be implemented in Code.pm, with some glue to make classes know about them
21:03 stevan I know in CLOS multi-methods are all proxied through a single method
21:04 stevan so as to not have name clashes
21:04 stevan I assume we should do something similar
21:05 nothingmuch no =)
21:05 nothingmuch everything should be a multimethod
21:05 stevan otherwise we have to deal with package symbols of the same name,... etc
21:05 putter ah, that makes more sense #wrapped multi-subs/
21:05 G2 has quit IRC ("oops")
21:05 nothingmuch singi-methods are just "multi method ... is unique"
21:05 stevan nothingmuch: I agree, but you still have to store the symbol somewhere
21:06 nothingmuch stevan: every code symbol is an array of code refs
21:06 stevan unless slots are arrays
21:06 stevan yeah
21:06 nothingmuch not code refs, method objects
21:06 stevan yes
21:06 nothingmuch or the method object has variants
21:06 nothingmuch luqui: want to port C::M::P?
21:06 stevan but that makes slots/packages more complex
21:07 nothingmuch i think ti's simpler to let the method object have an add_variant method
21:07 stevan why not store a single code value in the slot, then have that code have specializers to do the dispatching
21:07 putter how are temp()ed multimethod "branches" (what's the real name?) handled?  ah, ok,  so temp() on the array?
21:07 stevan nothingmuch: yes, add_variant is sane (sort of)
21:08 stevan methods (in MM 2.0 at least) are just closures around the code body which bind $?SELF and $?CLASS
21:08 nothingmuch stevan: that way every sub Method::add_variant { die "i'm no multi" if $self->unique; ... luqui code ... }
21:08 stevan nothing else really
21:08 stevan luqui is a hack and we all know it ;)
21:09 stevan I have not looked a the internals of MM::Pure
21:10 * nothingmuch goes to bed
21:10 fglock re MultiSub runtime: http://svn.openfoundry.org/pugs/perl5/Perl6-Value/lib/Perl6/Code.pm
21:10 nothingmuch aah!  00:10:32 up 14 days,  5:03,  2 users,  load average: 9.78, 7.35, 4.14
21:10 landover has quit IRC (Read error: 110 (Connection timed out))
21:11 prefiks has quit IRC ("Ex-Chat")
21:11 nothingmuch fglock: Damian will like that impl
21:12 fglock Damian will like == unreadable ?  
21:12 nothingmuch no
21:12 nothingmuch the impl is "simple"
21:12 nothingmuch it just goes through the alternatives ;-)
21:13 fglock ah ok. It is actually wrong - it should go through the alternatives in a certain order of precedence
21:13 nothingmuch right
21:13 fglock and use a binary tree for that, or a hash
21:13 nothingmuch uh... not enough
21:13 nothingmuch you have to calcualte the distance.
21:14 nothingmuch if you want a proposal I wrote one
21:14 nothingmuch and luqui implemented one
21:14 nothingmuch and Damian has his own views which we don't like ;-)D
21:14 nothingmuch docs/notes/mmd_match_order.txt
21:14 fglock thanks - will read it
21:15 putter $?METHOD_DISPATCH_ALGORITHM = @?PROPOSALS[int(rand(123))];   If you code changes behavior run-to-run, perhaps it should be made simpler... ;)
21:15 svnbot6 r6595 | putter++ | pugs -CPerl5 now says bless(data , cls) instead of bless(data => cls).  More p6 compatible.
21:16 nothingmuch putter: that sounds like damian's proposal ;-)
21:16 putter lol :)
21:16 SM_ax has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
21:17 putter hmm... where to place the beginnings of p6-based PIL work... there is always perl5/ ;) ....
21:18 * nothingmuch needs more ram
21:18 putter I suppose modules is the "official" place... but it's so quiet...
21:18 fglock putter: I've placed some things under ext/
21:18 nothingmuch ext?
21:20 fglock ext/Perl6-Container-Array, ext/Perl6-Value-List
21:20 * putter had the, well not "unhappy", how about "reflective", moment, of seeing a machine more wizzy than his, available for a few hundred $ in the ad insert of the sunday newspaper.  I soo need  a job. ;)
21:20 putter hmm... putter goes to look at ext/
21:21 nothingmuch putter: my machine is actually pretty decent, except for the ram
21:21 nothingmuch but i feel your pain
21:21 * nothingmuch was in school for too long
21:22 putter I thought ext/ was for "finished, working" things?
21:22 nothingmuch putter: uh, compiling
21:22 nothingmuch that's good enough ;-)
21:22 putter lol
21:23 * stevan kind of likes Class::Multimethods::Pure
21:23 putter http://search.cpan.org/~lpalmer/Class-Multimethods-Pure-0.06/lib/Class/Multimethods/Pure.pm
21:26 putter nifty.
21:26 svnbot6 r6596 | iblech++ | * Moved t/pugsbugs/lvalue_deep_brackets.t into t/var/ and
21:26 svnbot6 r6596 | iblech++ |   t/pugsbugs/hash_access_interpolation.t into t/syntax, as the tests pass now.
21:26 svnbot6 r6596 | iblech++ | * t/pugsbugs/return_in_anonymous_subs.t: Added a new test and commented a test
21:26 svnbot6 r6596 | iblech++ |   testing &return (EMOREDISCUSSIONNEEDED, will ping p6l tomorrow).
21:26 svnbot6 r6596 | iblech++ | * t/var/temp.t: Added some more tests testing "temp $struct<foo>[$bar] = ...".
21:26 svnbot6 r6596 | iblech++ | * New t/var/codevars_should_not_autovivify.t: "&Foo::Bar; Foo::Bar()" should die.
21:27 putter iblech: ping?
21:29 stevan hmmm, I think I can use Class::MM::Pure to add multi-methods to the MM 2.0
21:31 xinming has joined #perl6
21:31 putter !
21:31 svnbot6 r6597 | iblech++ | PIL2JS:
21:31 svnbot6 r6597 | iblech++ | * REAMDE: Large update, I especially enhanced the section about containers.
21:31 svnbot6 r6597 | iblech++ | * Moved the code responsible for handling undeclared variables out of
21:31 svnbot6 r6597 | iblech++ |   PIL::PBind and PIL::PAssign to PIL::PVar (with a fix) -- PIL2JS passes
21:31 svnbot6 r6597 | iblech++ |   t/var/codevars_should_not_autovivify.t now.
21:35 putter It gradualness of the p5 to p6 continuum is curious.  "So, have you used P6?"  "Well, I dont know.  I've never said  use v6;, but I  use Perl6::Mumble... and i think some of the modules I use are written in it... and I have no idea what runtime(s) my code runs on..."
21:39 putter oh!  who was working on ext/Perl-Compiler/   putter goes to check...
21:40 fglock the "generator cloner" is finally passing some tests :)
21:40 putter generator cloner?
21:41 nothingmuch has quit IRC ("leaving")
21:41 fglock it is the thing that makes @a=1..Inf; @b=@a work
21:41 putter ahh
21:41 fglock 1..Inf is the "generator" and @a is the "consumer"
21:42 putter loqui++ # " One small step for pads, one giant leap for kittens' feet. "  commit message. ;)
21:43 putter ah, ok.
21:43 putter and one clones because?
21:44 fglock without cloning - @a.shift gets '1', @b.shift gets '2'
21:44 putter k
21:44 fglock because the generator is shared
21:45 fglock going home now - good night &
21:46 putter &
21:46 fglock has left "Fui embora"
21:49 svnbot6 r6598 | rafl++ | * Added possibility to skip tests when building the Debian package.
21:49 svnbot6 r6598 | rafl++ | * Remove empty files from the pugs-doc package.
21:52 xinming hmm, I have a question, I ever asked here about if that the perl 6 program will "HAVE TO" compiled to byte code to execute, I got the answer "yes", so, I wonder, If it have to compiled to byte code, does that mean all perl 5 program also "HAVE TO" Compiled to byte code?
21:52 xinming s/compiled/compile/
21:54 * xinming 's English seems to be more buggy than then day when I left school.
21:55 elmex has quit IRC ("leaving")
21:59 putter p6 will "likely always" be compiled to PIL.  which is a tree.  whether that tree is interpreted directly, compiled to language x where x is a high-level language, a bytecode, a machine code... the answer will eventually likely be "yes: ;)
21:59 putter bbiab
22:00 putter actually, bbl
22:01 SamB has quit IRC (Read error: 110 (Connection timed out))
22:03 SamB has joined #perl6
22:08 larsen has joined #perl6
22:13 iblechbot has quit IRC (Read error: 104 (Connection reset by peer))
22:15 awwaiid has joined #perl6
22:16 elmex has joined #perl6
22:31 dudley has joined #perl6
22:37 jiing_2 has quit IRC (Remote closed the connection)
22:37 jiing_2 has joined #perl6
22:41 putter iblech: ping?
22:44 elmex has quit IRC ("leaving")
22:46 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
22:49 vcv- has joined #perl6
22:51 xinming hmm, `@a Y @b Y @c -> $a, $b, $c` This will automatically get one element from each @array, and assign the value positionally, so, Is there a operation which can do a "reverse-thing" ?
22:51 xinming I mean, `push @a, $a; push @b, $b; push @c, $c;
22:51 xinming `
22:53 meppl has quit IRC (Remote closed the connection)
22:54 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
22:56 brentdax has joined #perl6
23:00 vcv- has joined #perl6
23:19 larsen has quit IRC ("later")
23:38 revdiablo has joined #perl6
23:49 putter ?
23:50 brentdax ‽
23:52 putter xinming: perhaps something like vaguely like [push] (@a,@b,@c) Y ($a,$b,$c)   ie ()Y() -> $l,$v { push($l,$v) }
23:52 putter brentdax: re ?, initial response to an hour old question. ;)
23:53 brentdax Ah, heh.
23:53 geoffb .oO( Wouldn't it be great if IRC had threading? )
23:53 revdiablo geoffb: dngor had an irc bot that did that
23:54 revdiablo geoffb: used tk to threads conversations on the fly
23:54 revdiablo or something along those lines...
23:54 revdiablo see Text::Conversation
23:55 geoffb how does it detect them?
23:55 geoffb (sorry, compiling pugs, cannot open any other windows, sigh)
23:56 putter given recordings of many people talking with each other, you can actually cluster them quite well based on overlap.  and do lots of social analysis.  but in irc, non-overlap is a much less useful metric. :/
23:56 libr3n has joined #perl6
23:56 revdiablo it uses their nick along with some sort of similarity rating
23:56 putter s/recordings/audio $1/
23:57 revdiablo "Text::Conversation uses multiple heuristics to determine a message's referent. To be sure, the presence of another speaker's ID counts for a lot, but so common words between two messages. Consider them similar to quoted text in an e-mail message."
23:57 geoffb hmmm
23:57 geoffb so could probably be hinted well with a convention of some sort
23:58 geoffb just saying "billgates, re: wrold_domination, ..." would probably do the trick
23:58 putter arg.  we really need Filter::Simple for pugs.  sigh.
23:59 geoffb especially if the thread was started with a "re: world_domination"
23:59 geoffb from the first person
23:59 geoffb putter: what are you trying to do?

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

Perl 6 | Reference Documentation | Rakudo