The Return of the Journal : pugs.blogs.com/ | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6
Set by GammaRay on 31 December 2005.
00:04 azuroth joined
Juerd Where's svnbot6? 00:07
theorb I do very much like the idea of a TODO. 00:36
Er, wishlist. 00:37
00:48 daja77 joined 00:55 Southen joined 01:18 pdcawley joined 01:25 stevan_ joined
stevan_ putter, theorb: re: wishlist/TODO - I think that will be much easier once we have the new PIL2 runcore in place 01:25
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 :)
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:26
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.
stevan_ but best to not do that prematurely :)
PJF: we are already logged 01:28
colabti.de/irclogger/irclogger_log/...2006-01-12
PJF stevan_: I know. I'm asking on behalf of #PerlNet.
stevan_ PerlNet?
PJF stevan_: perl.net.au/ 01:29
To which we'd love more contributors. ;)
stevan_ PJF: what is ilogger2?
PJF stevan_: It's the bot that produces the logs at colabti.de/irclogger/irclogger_log/...2006-01-12
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
stevan_ PJF: have you checked on #irclogger 01:33
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
01:34 joepurl_ joined 01:38 gantrixx joined, joepurl joined
tevan is now known as stevan 01:39
meppl guten morgen 01:42
stevan good morning meppl
gantrixx it's night time here 01:49
02:03 dduncan joined 02:07 cognominal joined 02:09 Amnesiac joined
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
audreyt: I think actually thinking that roles should be implemented in Perl 6 too 02:33
audreyt it is indeed quite amusing :D
I'm fine with that
stevan I have some questions awaiting responses on p6l, once they are answered I will be able to fix the containers 02:34
and I am going to strip those down to the minimum needed 02:35
then we can start merging with Prim.hs
then we can adopt a build-on-need approach with PIL^N code 02:36
audreyt okie.
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
we'd need to pass t/01-sanity
and t/oo/
those are the actual needs
stevan reads too many papers/books/etc and then gets too many ideas
yes
I will look over those specifically then
audreyt *nod* 02:38
<- still in $job mode
stevan is currently fallen in love with CLOS generic-functions
audreyt praises ozymandns
stevan <- should be more in $job mode, but isn't
audreyt :D
rep <- too
stevan actually the $project is nearing completion, so its not really that bad 02:39
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
anyway time to watch a movie
stevan waves &
02:43 justatheory joined
audreyt waves too & 02:43
03:08 chihchun joined 03:21 Cryptic_K joined 03:24 vel__ joined 03:56 justatheory joined 04:09 svnbot6 joined 04:16 vel joined 04:36 Khisanth joined 04:37 Khisanth joined 04:51 revdiablo joined 05:34 bb3 joined 05:54 elmex joined 06:03 nothingmuch joined
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:08
07:17 quuxman joined 07:21 nothingmuch joined 07:28 mjl69 joined 07:29 iblechbot joined 07:30 lisppaste3 joined 07:37 feng123 joined 07:48 marmic joined 07:52 scrottie joined 08:05 luqui joined 08:08 rantanplan_ joined
nunley is now known as nnunley 08:23
08:26 dmo joined 08:36 cognominal joined, dada joined 08:44 elmex joined 09:20 vel left 09:23 kane_ joined 09:41 nothingmuch joined 10:05 r0nny joined 10:38 Odin-LAP joined 10:45 feng joined 10:57 bsb joined 10:59 Odin-FOO joined 11:02 drbean_ joined 11:03 Odin- joined 11:05 nnunley joined 11:30 xinming joined 11:32 SamB joined 11:34 elmex joined 11:37 nnunley joined, drbean_ joined, r0nny joined, kane_ joined, scrottie joined, marmic joined, lisppaste3 joined, daja77 joined, GeJ joined, kanru joined, sri_ joined, knewt joined, leo joined, Medvekoma joined, wolverian joined, featherpaste joined, mugwump joined, audreyt joined 11:41 nnunley_ joined 12:08 brentp joined 12:31 iblechbot joined 13:03 chris2 joined
nunley is now known as nnunley 13:10
13:19 kolibrie joined 13:20 Limbic_Region joined, G2 joined 13:35 bsb_ joined 13:36 masak joined 13:47 pdcawley_ joined 13:48 kane_ joined, verve_ joined 13:49 mjl69 joined 14:03 SamB joined 14:12 hcarty joined 14:22 leo_ joined 14:30 hexmode joined
meppl gugu 14:39
azuroth go go go! 14:54
14:57 PJF left
ingy go gugod! 15:13
15:23 vel__ joined 15:24 Limbic_Region joined 15:30 lisppaste3 joined 15:32 hcarty left 15:35 eric256_ joined, justatheory joined
Limbic_Region notes a putrid odor in the channel and realizes a Bronco fan just joined 15:36
;-)
15:37 Eimi joined 15:41 hexmode joined 15:43 BuZzY joined 15:44 Bit-Man joined 16:22 sapper left 16:28 putter joined
BuZzY how good is postnuke? 16:29
rafl ~2.17
obra rafl++ 16:31
daja77 $rafl++ ;) 16:34
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:35
stevan hey putter 16:36
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
hi stevan
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
at least i hope so :)
otherwise all my work is in vain and I might as well give up :P
putter :)
stevan putter: ask audreyt, she is the keeper of the master plan
stevan only has a slight somewhat hand-wavey idea of what it means to "port over Prim.hs" 16:40
I plan on just being the PIL^N/Perl6 monkey for her grand efforts
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." :)
:)
stevan putter: feel free to start,.. no one will stop you :) 16:41
my biggest problem was in finding out what actually needed to be defined
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
putter++ # always launching entire fleets of good ideas :)
some more sane than others, but silly things like sanity never concerned us here :) 16:43
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:46
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.
stevan the Perl 6 stuff is different
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
I only say this becuase we are not even sure if this will all work :)
it's -Ofun after all 16:51
:)
stevan reminds putter that he is making things up as he goes along ;)
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:52
stevan putter: PIL^N has bit-type, which is autoboxed into a ^Bit 16:53
16:53 eric256_ left
stevan and it has a true and false constants 16:53
but the idea is to have Perl 6 desugar to PIL2, which is then compiled to PIL^N
so I am not sure how directly the Prim will get ported 16:54
again,.. audreyt is the chick with the plan
the Perl 6 "It" girl if you like
stevan watches the UnCommonWeb "Hello World" movie and dreams of writing LISP for $work 17:01
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
stevan: ok
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
<end of idea>
ooh, not quite, could p6-ify S29.
some of it already has been, but parts not.
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.
stevan spins a record for putter to keep rapping over :P 17:05
putter: what do you mean by "clean up primatives and object space"?
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:06
anything can could, should. 17:07
stevan audreyt: yes
audreyt (and would, so 's all good)
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.
definitely.
stevan dammit, there you go agreeing with me again
audreyt we seem to do that a lot.
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
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.
stevan so p6l has been silent for a few days :/
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
s/plac/place/ s/wift/wife/
stevan :D
audreyt: you know I realized the other day, you will probably have much less trouble at US customs now 17:11
audreyt indeed
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.
audreyt that may just solve the problem
stevan yes
audreyt putter: yes, and we even have different syntax for that
`spilt and .split
but even .split can be rebound
stevan praises the power of the MOP 17:12
putter s/split/splice/ sigh
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.
putter meta object protocol
theorb Ah.
stevan theorb: Meta Object Protocol
theorb That helps only a little.
stevan putter: eval should just call the MOP, users only end up using it when they actually want to ,..
theorb: it is the API for .meta
theorb Ah. That helps significantly more. 17:15
audreyt putter: ruby has a quite sophisticated MOP thanks to eigens...
but then, the user doesn't see it much.
(which as it should be. but again, perl6 has this weird idea of multiple coexisting MOPs.)
stevan putter: ideally everything gets translated into MOP calls by the parser/desugarer 17:16
audreyt so we need to plan for it.
putter $obj.add_method("fribble",sub(...){...}) its a protocol (add_method(name,sub)), on objects, which modifies... their meta ;)
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.
theorb Makes sense.
svnbot6 r8642 | clkao++ | * Return empty list for not(). It should return undef in scalar
r8642 | clkao++ | context, but we don't have want() yet.
audreyt ...except it would be $obj.meta.add_method
but yes.
theorb OK. Next question: What's the difference between .split and `split?
audreyt theorb: `split is not valid p6 :D 17:19
stevan but it is valid PIL^N 17:20
audreyt `split is a representation of a syscall to the underlying VM.
however it may wish to implement it most efficiently.
clkao need want() in pil2js
audreyt clkao: you have a context object in pil2js; inspect it?
clkao really
let me find it... i wasn't grepping 'context' because i thought there would insane amount of garabe 17:21
17:21 avar joined
theorb Why would split be a syscall to the VM? 17:21
stevan speed
theorb Doesn't this kill the ability to write objects that do interesting things on split? 17:22
$cheerleader.split, $pantyhose.split ...?
stevan nope
split would be a method of Str
at least the one we are talking about
everything is attached to a class at some level
like Ruby
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?
stevan theorb: it is only in PIL^N
it is how we diferentiate between calls to the native types and method calls executed by the MOP 17:24
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?
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... ;)
audreyt think of $str`split as Perl_do_split(SvPV(sv), ...)
stevan putter: suuuuuurrrreeee
audreyt putter: yes, you can define them quite easily ;)
theorb OK.
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
audreyt if parrot has a fast split, that's emitted to a single opcode
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".
theorb So the perl6->pil^n compiler^Wconverter will only output $str`split when it's sure that $str is really a string.
stevan praises the all powerful DSL
audreyt for VMs that does not, then `split will emit some more stub code.
think PPPort.
putter: that'd be correct. 17:28
stevan praises nothingmuch and his circular prelude idea
audreyt is about to praise sleep
stevan and all the evilness that it implies :)
theorb Why does this sound like the backdoor in K's original C compiler? 17:29
clkao audreyt 17:30
stevan "silences" theorb since he now knows too much
clkao audreyt: pil2js doesn't understand the pil for subroutine/currying.t
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:32
obra sleep++ 17:33
putter :)
audreyt clkao: too bad, you'd need to hack the p5 compiler
I mean, the pil2js compiler's p5 source code
I can take a look this weekend 17:34
but I need to wake up in <7.5hrs
clkao k
putter oops. gone. bye & night a &
obra audreyt: is tomorrow $Work again?
audreyt for $yet_another_jifty_deployment (but with lovely lighttpd)
obra ooh.
obra does need to try lightttpd
obra ponders adding fastcgi support to standalone_httpd
audreyt obra: yeah, the 3 client sites are all in iterative user-testing stage
obra audreyt: how do they like it? 17:35
audreyt obra: lighttpd beats standalone_httpd cold in perf
obra so does a wet paper bag
obra does wonder about a preforking standalone_httpd
audreyt actually, apache2 with a single user benchs similarily
obra to which?
audreyt (I'm talking about no-concurrency cases)
benchs similarily to standalone 17:36
obra *blink*
that's so sad.
audreyt maybe AIX is sad.
(which is likely, and well known.)
obra bites his tongue
"Death, Taxes and AIX"
audreyt rofl
obra wanted a tshirt with the three of those in white circles
to go with the peace, love and penguins 17:37
audreyt obra++
audreyt waves and sleeps & 17:40
17:43 G2 joined 17:54 nothingmuch joined 17:57 bsb_ left 17:58 bernhard joined 18:08 penk joined 18:16 penk joined 18:25 sub_chick left 18:33 rantanplan_ joined 18:48 scrottie joined 18:53 khaladan joined 19:04 theorbtwo joined 19:05 theorb joined 19:06 avar joined 19:19 orafu joined 19:31 Bit-Man joined 20:18 lisppaste3 joined 20:30 khaladan joined
wolverian hm, PIDA (pida.berlios.de) looks nice. 20:41
20:42 avar joined 20:57 stevan joined 21:04 dduncan joined
hisant is now known as Khisanth_ 21:16
hisanth is now known as Khisanth 21:17
hisant is now known as Khisanth_ 21:18
21:26 PJF joined 21:41 marmic joined 21:54 Lartuv joined 22:27 Maddingue joined
hisanth is now known as Khisanth 22:47
23:09 pdcawley_ joined 23:13 bsb joined 23:14 Stoffe joined 23:17 xinming joined 23:30 lisppaste3 joined 23:33 orafu joined 23:41 bsb left