Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-01-12

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:04 azuroth joined perl6
00:07 Juerd Where's svnbot6?
00:36 theorb I do very much like the idea of a TODO.
00:37 theorb Er, wishlist.
00:48 daja77 joined perl6
00:55 Southen joined perl6
01:18 pdcawley joined perl6
01:25 stevan_ joined perl6
01:25 stevan_ putter, theorb: re: wishlist/TODO - I think that will be much easier once we have the new PIL2 runcore in place
01:25 stevan_ I have been banging my head against some fine details in PIL^N when I realized tonight (on the way to get Mexican food, which is when all great thoughts happen :)
01:26 stevan_ that we dont really need that stuff in PIL^N, instead PIL^N should be a minimal core and the rest can be bootstrapped in Perl 6 itself
01:27 stevan_ we can move stuff back to PIL^N for efficencies sake if need be
01:27 PJF Very OT: Is there a recommended way to invite the 'ilogger2' bot to join a channel?  I love the on-line logs of #perl6, but have yet been unsuccessful in contacting the relevant parties to ask for the ilogger2 blessing.
01:27 stevan_ but best to not do that prematurely :)
01:28 stevan_ PJF: we are already logged
01:28 stevan_ http://colabti.de/irclogger/ircl​ogger_log/perl6?date=2006-01-12
01:28 PJF stevan_: I know.  I'm asking on behalf of #PerlNet.
01:28 stevan_ PerlNet?
01:29 PJF stevan_: http://perl.net.au/
01:29 PJF To which we'd love more contributors. ;)
01:29 stevan_ PJF: what is ilogger2?
01:29 PJF stevan_: It's the bot that produces the logs at http://colabti.de/irclogger/ircl​ogger_log/perl6?date=2006-01-12
01:30 stevan_ oh,.. sorry, I just re-read your question, I see now
01:30 * stevan_ smacks himself in the forhead and makes a "doh" sound
01:32 joepurl_ joined perl6
01:33 stevan_ PJF: have you checked on #irclogger
01:34 PJF stevan_: Indeed.  While my request is now in the logs, not much has happened since then.  I was hoping I may have been able to find audrey or alias here, as I know they both hold ilogger knowledge.
01:34 joepurl_ joined perl6
01:38 gantrixx joined perl6
01:38 joepurl joined perl6
01:39 stevan_ is now known as stevan
01:42 meppl guten morgen
01:42 stevan good morning meppl
01:49 gantrixx it's night time here
02:03 dduncan joined perl6
02:07 cognominal joined perl6
02:09 Amnesiac joined perl6
02:32 audreyt stevan: er, yes, PIL^N is just for minimal bootstrapping and nothing else -- which is why the mergesort-in-PILN is sorta strange
02:32 stevan audreyt: yeah that was primarily for my amusement :P
02:33 stevan audreyt: I think actually thinking that roles should be implemented in Perl 6 too
02:33 audreyt it is indeed quite amusing :D
02:33 audreyt I'm fine with that
02:34 stevan I have some questions awaiting responses on p6l, once they are answered I will be able to fix the containers
02:35 stevan and I am going to strip those down to the minimum needed
02:35 stevan then we can start merging with Prim.hs
02:36 stevan then we can adopt a build-on-need approach with PIL^N code
02:36 audreyt okie.
02:37 stevan I would rather that be driven by actual needs than me trying to figure out what we might need
02:37 audreyt yes, me too
02:37 audreyt we'd need to pass t/01-sanity
02:37 audreyt and t/oo/
02:37 audreyt those are the actual needs
02:37 * stevan reads too many papers/books/etc and then gets too many ideas
02:37 stevan yes
02:37 stevan I will look over those specifically then
02:38 audreyt *nod*
02:38 audreyt <- still in $job mode
02:38 * stevan is currently fallen in love with CLOS generic-functions
02:38 * audreyt praises ozymandns
02:38 stevan <- should be more in $job mode, but isn't
02:38 audreyt :D
02:38 rep <- too
02:39 stevan actually the $project is nearing completion, so its not really that bad
02:40 stevan I try to engineer schedules so that work slows down as I move closer towards the deadline, launches are much less stressful that way
02:40 stevan anyway time to watch a movie
02:40 * stevan waves &
02:43 justatheory joined perl6
02:43 * audreyt waves too &
03:08 chihchun joined perl6
03:21 Cryptic_K joined perl6
03:24 vel__ joined perl6
03:56 justatheory joined perl6
04:09 svnbot6 joined perl6
04:16 vel joined perl6
04:36 Khisanth joined perl6
04:37 Khisanth joined perl6
04:51 revdiablo joined perl6
05:34 bb3 joined perl6
05:54 elmex joined perl6
06:03 nothingmuch joined perl6
07:08 gaal I think a TODO for things that *aren't* in the critical path, but are good for newcomers to work on, is also a good idea. Everybody can "claim" a task simply by cheching in a version of the file with their name next to it.
07:17 quuxman joined perl6
07:21 nothingmuch joined perl6
07:28 mjl69 joined perl6
07:29 iblechbot joined perl6
07:30 lisppaste3 joined perl6
07:37 feng123 joined perl6
07:48 marmic joined perl6
07:52 scrottie joined perl6
08:05 luqui joined perl6
08:08 rantanplan_ joined perl6
08:23 nnunley_ is now known as nnunley
08:26 dmo joined perl6
08:36 cognominal joined perl6
08:36 dada joined perl6
08:44 elmex joined perl6
09:20 vel left perl6
09:23 kane_ joined perl6
09:41 nothingmuch joined perl6
10:05 r0nny joined perl6
10:38 Odin-LAP joined perl6
10:45 feng joined perl6
10:57 bsb joined perl6
10:59 Odin-FOO joined perl6
11:02 drbean_ joined perl6
11:03 Odin- joined perl6
11:05 nnunley joined perl6
11:30 xinming joined perl6
11:32 SamB joined perl6
11:34 elmex joined perl6
11:37 nnunley joined perl6
11:37 drbean_ joined perl6
11:37 r0nny joined perl6
11:37 kane_ joined perl6
11:37 scrottie joined perl6
11:37 marmic joined perl6
11:37 lisppaste3 joined perl6
11:37 daja77 joined perl6
11:37 GeJ joined perl6
11:37 kanru joined perl6
11:37 sri_ joined perl6
11:37 knewt joined perl6
11:37 leo joined perl6
11:37 Medvekoma joined perl6
11:37 wolverian joined perl6
11:37 featherpaste joined perl6
11:37 mugwump joined perl6
11:37 audreyt joined perl6
11:41 nnunley_ joined perl6
12:08 brentp joined perl6
12:31 iblechbot joined perl6
13:03 chris2 joined perl6
13:10 nnunley_ is now known as nnunley
13:19 kolibrie joined perl6
13:20 Limbic_Region joined perl6
13:20 G2 joined perl6
13:35 bsb_ joined perl6
13:36 masak joined perl6
13:47 pdcawley_ joined perl6
13:48 kane_ joined perl6
13:48 verve_ joined perl6
13:49 mjl69 joined perl6
14:03 SamB joined perl6
14:12 hcarty joined perl6
14:22 leo_ joined perl6
14:30 hexmode joined perl6
14:39 meppl gugu
14:54 azuroth go go go!
14:57 PJF left perl6
15:13 ingy go gugod!
15:23 vel__ joined perl6
15:24 Limbic_Region joined perl6
15:30 lisppaste3 joined perl6
15:32 hcarty left perl6
15:35 eric256_ joined perl6
15:35 justatheory joined perl6
15:36 * Limbic_Region notes a putrid odor in the channel and realizes a Bronco fan just joined
15:36 Limbic_Region ;-)
15:37 Eimi joined perl6
15:41 hexmode joined perl6
15:43 BuZzY joined perl6
15:44 Bit-Man joined perl6
16:22 sapper left perl6
16:28 putter joined perl6
16:29 BuZzY how good is postnuke?
16:29 rafl ~2.17
16:31 obra rafl++
16:34 daja77 $rafl++ ;)
16:35 putter re critical path, wishlist/TODO: once piln runs sanity tests, a&s have said the next step is to port over Prim.hs.  the easiest thing to port from Prim.hs is... something which is no longer needed from it.
16:36 stevan hey putter
16:37 putter Many things in Prim could be written in vanilla p6, and were going to be, but ended up not, because Prelude.pm loading/compilation got slow.
16:37 putter hi stevan
16:39 putter So... how about we create src/perl6/PreludeN.pm, and start writing p6 versions of stuff in Prim.hs for which that's an easy task.  We'll eventually need them anyway, and each one we do is one less to port over for piln?  Thoughts?
16:39 stevan putter: yes, I think once we have the new PILN runcore in place speed will improve
16:39 stevan at least i hope so :)
16:39 stevan otherwise all my work is in vain and I might as well give up :P
16:39 putter :)
16:39 stevan putter: ask audreyt, she is the keeper of the master plan
16:40 * stevan only has a slight somewhat hand-wavey idea of what it means to "port over Prim.hs"
16:40 stevan I plan on just being the PIL^N/Perl6 monkey for her grand efforts
16:40 putter PreludeN.pm  just being a temporary place to drop the code.  "Things we would have already written for Prelude.pm, but got scared off by its compile time." :)
16:40 putter :)
16:41 stevan putter: feel free to start,.. no one will stop you :)
16:41 stevan my biggest problem was in finding out what actually needed to be defined
16:42 putter :)  have to go out now for a while.  thought I'd float the idea before leaving.
16:42 stevan I decided the other night that I should let the needs be dictated to me, rather than try to anticipate
16:42 stevan putter++ # always launching entire fleets of good ideas :)
16:43 stevan some more sane than others, but silly things like sanity never concerned us here :)
16:46 putter lol.  re needed to be defined, huh?  to pass the test suite beyond sanity, hmm, ok, no comment, will require the Prim's.  here's one way for us folks who can write p6, to impact near-term critical path now, with no wait.
16:49 stevan putter: I meant that I would build PILN stuff on an 'as-needed' basis
16:49 putter one could also work on the p6 implementation of object space, but that's one step further out.  post "piln backend runs test suite, and becomes primary backend".  Could at least stub everything, some of it commented out to avoid stomping on what's currently defined in .pil files.
16:49 stevan the Perl 6 stuff is different
16:50 putter oh yeah.  I'm talking just p6.  eg...
16:50 stevan putter: I think the Perl 6 ObjectSpace should probably wait until we have all the kinks in the PILN one worked out
16:50 stevan I only say this becuase we are not even sure if this will all work :)
16:51 stevan it's -Ofun after all
16:51 stevan :)
16:51 * stevan reminds putter that he is making things up as he goes along ;)
16:52 putter ... reading from the top of Prim.hs, bool::true/false could be written as boolean objects, (though I suppose commented out, as I bet piln already has/needs them, so that's a noop), and Y and ¥ could just be p6 code.
16:53 stevan putter: PIL^N has bit-type, which is autoboxed into a ^Bit
16:53 eric256_ left perl6
16:53 stevan and it has a true and false constants
16:53 stevan but the idea is to have Perl 6 desugar to PIL2, which is then compiled to PIL^N
16:54 stevan so I am not sure how directly the Prim will get ported
16:54 stevan again,.. audreyt is the chick with the plan
16:54 stevan the Perl 6 "It" girl if you like
17:01 * stevan watches the UnCommonWeb "Hello World" movie and dreams of writing LISP for $work
17:03 putter ... a value of pi could be snarfed from nist, the say := &IO::say could be written in p6 (just did:), etc.  Though a counter argument to this whole idea is "keep change minimal until the test suite is passed, and only then fiddle.  Better to do a bulk snarf of Prim, than piecemeal "need this, not this, that, not that", etc".
17:03 putter stevan: ok
17:04 putter but at minimum, it would be a contribution to the post "piln passes tests" next step of "clean up primitives and object space".
17:04 putter <end of idea>
17:04 putter ooh, not quite, could p6-ify S29.
17:04 putter some of it already has been, but parts not.
17:04 putter re "not sure it will all work"...  any particular risks in mind?  it seems straight-forward, if a bit of a grind.  and no, I did not mean to rhyme.
17:05 * stevan spins a record for putter to keep rapping over :P
17:05 stevan putter: what do you mean by "clean up primatives and object space"?
17:06 audreyt p6ify s29 is definitely a good plan. lifting Prim to repr types is only meant to get the bits that _cannot_ be represented in perl6 alone without underlying support
17:07 audreyt anything can could, should.
17:07 stevan audreyt: yes
17:07 audreyt (and would, so 's all good)
17:08 stevan I was envisioning that we define only the minimum needed in the packages/classes in PIL^N, then we can add to the packages/classes (using the MOP) in Perl 6 to fill the rest out
17:08 audreyt yes.
17:08 audreyt definitely.
17:08 stevan dammit, there you go agreeing with me again
17:08 audreyt we seem to do that a lot.
17:09 * stevan wonders if his wife will start refering to audreyt as "the other woman" instead of "that perl 6 guy" :P
17:09 audreyt :D
17:09 putter re object space, just what you were doing in piln, but in p6.  creating the assorted classes and roles, wiring them together, stubbing out methods and implementing them where possible, etc.  re "clean up primitives"... what audreyt said :)  move stuff from hs to p6 whereever possible, reexamine names and behavior, put in pkgs where apropriate, etc.
17:09 stevan so p6l has been silent for a few days :/
17:10 stevan putter: ok, thats what I thought, but object-space is still an ambigious term so I just wanted to check :)
17:10 audreyt stevan: I left a ring at asavige's plac and his wift found ite... fortunately there's my wikipedia entry
17:10 audreyt s/plac/place/ s/wift/wife/
17:10 stevan :D
17:11 stevan audreyt: you know I realized the other day, you will probably have much less trouble at US customs now
17:11 audreyt indeed
17:11 putter stevan: note how thoroughly piln can defer to p6... if you need split() in piln, but not split() with negative args, you can just do the pos arg version in piln, and rebind split() to a full p6 version post-bootstrap.
17:11 audreyt that may just solve the problem
17:11 stevan yes
17:11 audreyt putter: yes, and we even have different syntax for that
17:11 audreyt `spilt and .split
17:11 audreyt but even .split can be rebound
17:12 * stevan praises the power of the MOP
17:12 putter s/split/splice/  sigh
17:14 * putter has always had mixed feelings about MOPs.  likes the simplicity of ruby's "just stomp on it (eval, whatever)".  (though it also has a mop of course)
17:14 * theorb wonders what the MOP is.
17:14 putter meta object protocol
17:14 theorb Ah.
17:14 stevan theorb: Meta Object Protocol
17:14 theorb That helps only a little.
17:14 stevan putter: eval should just call the MOP, users only end up using it when they actually want to ,..
17:14 stevan theorb: it is the API for .meta
17:15 theorb Ah.  That helps significantly more.
17:15 audreyt putter: ruby has a quite sophisticated MOP thanks to eigens...
17:15 audreyt but then, the user doesn't see it much.
17:15 audreyt (which as it should be. but again, perl6 has this weird idea of multiple coexisting MOPs.)
17:16 stevan putter: ideally everything gets translated into MOP calls by the parser/desugarer
17:16 audreyt so we need to plan for it.
17:16 putter $obj.add_method("fribble",sub(...){...})     its a protocol (add_method(name,sub)), on objects, which modifies... their meta ;)
17:18 theorb So the syntax "a b c".split(/ /) becomes "a b c".meta.call_method("split", rx/ /), or the like...
17:18 svnbot6 r8642 | clkao++ | * Make bool::{true,false} work for pil2js backend.
17:18 theorb Makes sense.
17:18 svnbot6 r8642 | clkao++ | * Return empty list for not().  It should return undef in scalar
17:18 svnbot6 r8642 | clkao++ |   context, but we don't have want() yet.
17:18 audreyt ...except it would be $obj.meta.add_method
17:18 audreyt but yes.
17:18 theorb OK.  Next question: What's the difference between .split and `split?
17:19 audreyt theorb: `split is not valid p6 :D
17:20 stevan but it is valid PIL^N
17:20 audreyt `split is a representation of a syscall to the underlying VM.
17:20 audreyt however it may wish to implement it most efficiently.
17:20 clkao need want() in pil2js
17:20 audreyt clkao: you have a context object in pil2js; inspect it?
17:20 clkao really
17:21 clkao let me find it... i wasn't grepping 'context' because i thought there would insane amount of garabe
17:21 avar joined perl6
17:21 theorb Why would split be a syscall to the VM?
17:21 stevan speed
17:22 theorb Doesn't this kill the ability to write objects that do interesting things on split?
17:22 theorb $cheerleader.split, $pantyhose.split ...?
17:22 stevan nope
17:22 stevan split would be a method of Str
17:22 stevan at least the one we are talking about
17:22 stevan everything is attached to a class at some level
17:22 stevan like Ruby
17:23 stevan but you wont have to deal with that if you dont want to
17:23 theorb If everything is a method of some object, what is the tick notation for?
17:23 stevan theorb: it is only in PIL^N
17:24 stevan it is how we diferentiate between calls to the native types and method calls executed by the MOP
17:25 audreyt theorb: the tick notation is like the... inline XS notation.
17:25 theorb Oh, so p6 $obj.meta.foo is pil^n $obj`foo?
17:26 stevan theorb: nope, $obj.meta.foo is the same in PIL^N
17:26 putter hmm... so all we have to do is define ` _in perl6_, and then we have a meta-circular evaluator... ;)
17:26 audreyt think of $str`split as Perl_do_split(SvPV(sv), ...)
17:26 stevan putter: suuuuuurrrreeee
17:26 audreyt putter: yes, you can define them quite easily ;)
17:26 theorb OK.
17:27 audreyt though the good thing about `split is that it's VM agnostic
17:27 stevan theorb: in general the ` is only of interest to lambda-loving VM hackers
17:27 audreyt if parrot has a fast split, that's emitted to a single opcode
17:27 putter theorb: i think, stevan correct me if I'm wrong, $o`foo is "use foo vm opcode", and $o.foo is "use normal method invocation stuff".
17:27 theorb So the perl6->pil^n compiler^Wconverter will only output $str`split when it's sure that $str is really a string.
17:27 * stevan praises the all powerful DSL
17:27 audreyt for VMs that does not, then `split will emit some more stub code.
17:27 audreyt think PPPort.
17:28 audreyt putter: that'd be correct.
17:28 * stevan praises nothingmuch and his circular prelude idea
17:28 * audreyt is about to praise sleep
17:28 stevan and all the evilness that it implies :)
17:29 theorb Why does this sound like the backdoor in K's original C compiler?
17:30 clkao audreyt
17:30 * stevan "silences" theorb since he now knows too much
17:30 clkao audreyt: pil2js doesn't understand the pil for subroutine/currying.t
17:32 * putter praises sleep highly.  leg pain has made it a much less accessible friend these last few days.  dont value stuff until its gone.  "I will not again cease to appreciate sleep." x 1000.
17:33 obra sleep++
17:33 putter :)
17:33 audreyt clkao: too bad, you'd need to hack the p5 compiler
17:33 audreyt I mean, the pil2js compiler's p5 source code
17:34 audreyt I can take a look this weekend
17:34 audreyt but I need to wake up in <7.5hrs
17:34 clkao k
17:34 putter oops.  gone.  bye &  night a &
17:34 obra audreyt: is tomorrow $Work again?
17:34 audreyt for $yet_another_jifty_deployment (but with lovely lighttpd)
17:34 obra ooh.
17:34 * obra does need to try lightttpd
17:34 * obra ponders adding fastcgi support to standalone_httpd
17:34 audreyt obra: yeah, the 3 client sites are all in iterative user-testing stage
17:35 obra audreyt: how do they like it?
17:35 audreyt obra: lighttpd beats standalone_httpd cold in perf
17:35 obra so does a wet paper bag
17:35 * obra does wonder about a preforking standalone_httpd
17:35 audreyt actually, apache2 with a single user benchs similarily
17:35 obra to which?
17:35 audreyt (I'm talking about no-concurrency cases)
17:36 audreyt benchs similarily to standalone
17:36 obra *blink*
17:36 obra that's so sad.
17:36 audreyt maybe AIX is sad.
17:36 audreyt (which is likely, and well known.)
17:36 * obra bites his tongue
17:36 obra "Death, Taxes and AIX"
17:36 audreyt rofl
17:36 * obra wanted a tshirt with the three of those in white circles
17:37 obra to go with the peace, love and penguins
17:37 audreyt obra++
17:40 * audreyt waves and sleeps &
17:43 G2 joined perl6
17:54 nothingmuch joined perl6
17:57 bsb_ left perl6
17:58 bernhard joined perl6
18:08 penk joined perl6
18:16 penk joined perl6
18:25 sub_chick left perl6
18:33 rantanplan_ joined perl6
18:48 scrottie joined perl6
18:53 khaladan joined perl6
19:04 theorbtwo joined perl6
19:05 theorb joined perl6
19:06 avar joined perl6
19:19 orafu joined perl6
19:31 Bit-Man joined perl6
20:18 lisppaste3 joined perl6
20:30 khaladan joined perl6
20:41 wolverian hm, PIDA (http://pida.berlios.de) looks nice.
20:42 avar joined perl6
20:57 stevan joined perl6
21:04 dduncan joined perl6
21:16 Khisanth is now known as Khisanth_
21:17 Khisanth_ is now known as Khisanth
21:18 Khisanth is now known as Khisanth_
21:26 PJF joined perl6
21:41 marmic joined perl6
21:54 Lartuv joined perl6
22:27 Maddingue joined perl6
22:47 Khisanth_ is now known as Khisanth
23:09 pdcawley_ joined perl6
23:13 bsb joined perl6
23:14 Stoffe joined perl6
23:17 xinming joined perl6
23:30 lisppaste3 joined perl6
23:33 orafu joined perl6
23:41 bsb left perl6

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

Perl 6 | Reference Documentation | Rakudo