Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-01-24

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:39 gugod joined perl6
01:53 gugod joined perl6
01:53 cookys joined perl6
01:54 tewk joined perl6
01:54 lampus joined perl6
01:54 mtve joined perl6
01:54 arguile joined perl6
01:54 metaperl joined perl6
01:54 jp-autark joined perl6
01:54 gantrixx joined perl6
01:54 beppu joined perl6
01:55 Medvekom_ joined perl6
01:56 Bit-Man joined perl6
01:57 drbean left perl6
02:15 Amnesiac joined perl6
02:15 orafu joined perl6
02:41 vel joined perl6
02:54 clkao win 15
02:58 Cryptic_K joined perl6
02:58 stevan_ joined perl6
02:58 kanru joined perl6
03:16 vel__ joined perl6
03:57 vel__ left perl6
04:00 vel left perl6
04:01 scook0 joined perl6
04:20 buu Hrm. Whose the owner of evalbot?
04:20 buu Whois*
05:13 drbean joined perl6
05:18 xern joined perl6
06:07 elmex joined perl6
06:18 lypanov joined perl6
06:19 iblechbot joined perl6
06:22 gaal "but it's not really a concern when it's been typechecked in another language already." (pugs blog)
06:22 gaal talk about compile-time typechecking!
06:56 GeJ joined perl6
07:06 GeJ greetings all
07:06 dduncan greetings
07:09 * hachi raises his glass
07:24 dduncan what are you raising your glass to?
07:24 dduncan over here in Canada, a reason could be the new government we just elected today
07:25 hachi it was for you, sir
07:26 hachi oh whatever... I'm a little slow
07:26 hachi "hello" and whatever
07:31 feng joined perl6
07:34 Aankhen`` joined perl6
08:09 Cryptic_K joined perl6
08:22 nothingmuch joined perl6
08:24 Aankh|Clone joined perl6
08:30 MrFarts joined perl6
08:30 MrFarts hi
08:30 MrFarts can someone perhaps help me
08:30 MrFarts i have a perl5 question, but no one in any of the regular perl channels is any help
08:32 nothingmuch what about #perl?
08:32 nothingmuch it's always very busy (~400 users)
08:32 MrFarts no use
08:32 nothingmuch but I can help if you really insist
08:33 MrFarts i'm just trying to install a signal handler for SIGCHLD
08:33 MrFarts but it won't work
08:33 MrFarts i have ...
08:33 MrFarts $SIG{CHLD} = \&REAPER;
08:33 MrFarts in the parent
08:33 MrFarts but the REAPER handler is never execured
08:33 MrFarts even though the child dies
08:33 nothingmuch what OS?
08:33 MrFarts linux
08:33 nothingmuch very odd
08:34 nothingmuch how are you creating the child?
08:34 MrFarts i have something like print "hello world: in the handler
08:34 MrFarts never gets there
08:34 nothingmuch perl's system() and `` thingies will automatically reap one child
08:34 MrFarts i'm using fork()
08:34 nothingmuch try replacing 'print' with 'syswrite STDOUT'
08:34 nothingmuch it might be a bufferring issue
08:34 nothingmuch you can use nopaste services
08:34 nothingmuch and share your code
08:35 nothingmuch e.g. sial.org
08:35 G2 joined perl6
08:35 MrFarts nothingmuch, one second
08:36 MrFarts nothingmuch, here's the relevant code:
08:36 MrFarts http://pastebin.com/520294
08:37 nothingmuch you don't need to backslash escape /, btw =)
08:37 MrFarts thanks
08:37 nothingmuch also, i reccomend using 3 arg open
08:37 MrFarts i'm used to C :)
08:38 nothingmuch e.g. open my $fh, "<", $filename;
08:38 nothingmuch much more safer
08:38 nothingmuch err, bad english =)
08:38 MrFarts what about the actual signal handler ?
08:38 nothingmuch one sec, still reading =)
08:38 nothingmuch sleep 1000 can be done without system()
08:38 MrFarts i know
08:39 MrFarts it's just scaffolding
08:39 nothingmuch hmm
08:39 MrFarts i'm intentionally doing it from system
08:39 nothingmuch okies
08:39 MrFarts i'll be calling some real programs later
08:39 MrFarts right now "sleep 1000" is a good approximation :)
08:39 nothingmuch add a 'sleep 1000' (no system) to the parent
08:39 nothingmuch right after setting the $SIG{CHLD} handler
08:40 MrFarts nothingmuch, why would i want to do that ?
08:40 nothingmuch because possibly the parent is exiting before the child
08:40 MrFarts all right ...
08:40 MrFarts works !
08:40 MrFarts i'll be damned :)
08:41 nothingmuch well, just keep your parent alive
08:41 nothingmuch you can do this by doing waitpid $pid, 0
08:41 nothingmuch (IIRC)
08:41 MrFarts well i don't want to wait on each pid
08:41 nothingmuch which is a blocking wait on a specific PID
08:41 MrFarts that'll block
08:41 nothingmuch i mean, when the parent exits
08:41 MrFarts i'm forking a bunch of processes
08:41 nothingmuch otherwise just keep your parent running
08:41 nothingmuch what does the parent do while waiting for thie children?
08:42 MrFarts nothing
08:42 nothingmuch okay, so it needs to wait
08:42 MrFarts the children do all the work
08:42 MrFarts i can't have it do a blocking wait for each child
08:42 nothingmuch or if you want this stuff backgrounded the children need to setsid and what not
08:42 MrFarts the children need to run in parallel
08:42 nothingmuch that doesn't matter
08:42 nothingmuch they keep running
08:42 nothingmuch but you can also do a blocking wait for any pid
08:42 nothingmuch there's snippets for this in perlipc
08:43 MrFarts link ?
08:43 nothingmuch 'wait' as opposed to 'waitpid'
08:43 nothingmuch 67.186.136.119
08:43 Khisanth joined perl6
08:43 nothingmuch crap
08:43 nothingmuch that's not it, that's stevan_ ;-)
08:43 nothingmuch http://perldoc.perl.org/perlipc.html
08:43 nothingmuch or just 'perldoc perlipc' on your CLI
08:43 MrFarts thanks ...
08:44 nothingmuch see also Parallel::ForkManager on the CPAN
08:44 nothingmuch and IPC::Run
08:44 nothingmuch which might be more convenient for you
08:45 MrFarts ok ...
08:47 MrFarts i'm looking at parallel::forkmanager
08:47 MrFarts it doesnt' seem to be very well documented
08:48 nothingmuch one sec
08:48 nothingmuch looks pretty good to me
08:48 nothingmuch what's lacking?
08:48 nothingmuch http://search.cpan.org/~dlux/Parallel-ForkManager-0.7.5/ForkManager.pm
08:48 MrFarts doesn't make any sense at all
08:48 MrFarts it's clear hwo to fork off whatever number of processes
08:49 MrFarts not at all clear how to control the logic within each
08:49 nothingmuch ah
08:49 nothingmuch well, in the SYNOPSIS what you do is
08:49 nothingmuch create $pm with a limit of processes
08:49 nothingmuch then call ->start
08:49 nothingmuch ->start returns 0 if you're a child, much like fork
08:49 nothingmuch you do the work in the child
08:49 nothingmuch and then call $pm->finish
08:49 nothingmuch or call $pm->start again in the parent
08:50 nothingmuch $pm->start will block once $MAX_PROCESSES is hit
08:50 nothingmuch until $pm->finish is called
08:50 MrFarts got it ...
08:50 nothingmuch $pm->wait_all_children will do a blocking wait for any pid until no children are left
08:51 MrFarts i'll try it out ...
08:51 MrFarts thanks a lot
08:51 nothingmuch sure thing
08:51 nothingmuch i still don't understand why #perl is broken though =)
08:51 MrFarts too bad the #perl guys aren't very helpful
08:51 MrFarts because they are assholes mostly :)
08:51 * pdcawley just had a thought; Are we still going to be able to do 'given $an_object { .do_this; .do_that; .do_the_other }' ?
08:52 pdcawley And if we're not, *is* there a construct available that's akin to the Smalltalk 'anObject doThis; doThat; doTheOther.' ?
08:52 MrFarts i was in #perl asking abuot timers and some guy banned me after i told him that "sleep" was not my idea of a timer
08:52 nothingmuch heh
08:52 nothingmuch perldoc Time::HiRes
08:53 nothingmuch was this on freenode or irc.perl.org?
08:53 MrFarts it was on one of the large irc networks
08:53 MrFarts i don't even remember which one
08:53 MrFarts i'm banned from most of the perl channels by nwo :)
08:53 nothingmuch if shlomif is not banned in freenode #perl then I doubt you are ;-)
08:53 nothingmuch i don't see why... you were pretty polite and to the point
08:53 nothingmuch you didn't paste code to the channel
08:53 nothingmuch you weren't abusive
08:53 MrFarts *shrug*
08:54 nothingmuch and you gave specific info to help the dialogue
08:54 nothingmuch all the things we wish newbies would do more often
08:54 MrFarts unfortunately, many operators have serious mental problems :)
08:55 nothingmuch heh
08:55 nothingmuch join #perl on this network
08:55 MrFarts honest to god, i got banned for telling a guy that "sleep" was not what i wanted
08:55 wolverian I have too many #perl* channels as well, and irssi doesn't like to show which network the channel is on.
08:55 nothingmuch here?
08:55 nothingmuch that's very odd
08:55 MrFarts it's IRC -- it doesn't surprise me any more
08:56 wolverian /statusbar window doesn't show a 'network' entry. hm
08:56 wolverian wonder if there's one in the scripts archive
08:57 KingDiamond joined perl6
09:00 MrFarts why doesn't perl have multi-line comments btw
09:00 MrFarts C-style comments would be nice :(
09:03 Khisanth nothingmuch: shlomif doesn't actually talk much in #perl
09:06 wilx joined perl6
09:08 nothingmuch Khisanth: by the name rindolf?
09:08 nothingmuch IIRC it's quite a lot
09:08 nothingmuch nevermind though, it's unimportant
09:09 nothingmuch i just know that a. he has a habit of getting banned and b. he is not banned on #perl on freenode
09:09 MrFarts does anyone know whethere Parallel::Forkmanager has any way of giving feedback regaridng the number of children left ?
09:09 Khisanth nothingmuch: yes
09:12 MrFarts nothingmuch, are you there ?
09:12 nothingmuch MrFarts: doersn't seem to have a documented API
09:12 nothingmuch post a bug
09:12 MrFarts nothingmuch,  have you ever played with this thing ?
09:12 MrFarts i reallly don't have much time to get this working
09:12 nothingmuch nope
09:12 MrFarts damn it :(
09:12 MrFarts :( :( :(
09:12 nothingmuch numbder of running children: keys %{ $pm->{processes} }
09:12 nothingmuch file a bug
09:13 nothingmuch there's a good chance it'll be added in several days
09:13 MrFarts i have about an hour :)
09:13 nothingmuch there are also other interfaces
09:14 MrFarts i'm really beginning to hate perl more and more
09:14 kane_ joined perl6
09:14 nothingmuch sub Parallel::ForkManager::number_of_children { my $self = shift; keys %{ $self->{processes} } };
09:14 MrFarts with C, things are a pain but you expect them to be
09:14 nothingmuch then you can say $pm->number_of_children
09:14 nothingmuch see also Proc::Fork
09:14 nothingmuch you might like it more
09:14 nothingmuch Parallel::Forker
09:14 nothingmuch which isn't as old as Parallel:::ForkManager
09:14 nothingmuch Proc::Queue
09:15 MrFarts man, i don't have time for all this
09:15 MrFarts i just need it to work
09:15 nothingmuch err
09:15 nothingmuch that's not perl's problem
09:15 nothingmuch that's opensource in general
09:15 nothingmuch wide variety
09:15 nothingmuch try IPC::Run
09:15 MrFarts no it's not, but perl is a bit crap
09:15 nothingmuch i think it's going to let you do what you want
09:15 Khisanth chance of being updated in several days seems a bit slim
09:15 nothingmuch with start/pump/finish
09:15 bsb joined perl6
09:15 nothingmuch Khisanth: most the modules I've dealt with are fixed pretty fast
09:15 MrFarts nothingmuch, i can tell you exactly what i'm trying to do
09:15 MrFarts nothingmuch, maybe you know of some tool suitable for this
09:16 nothingmuch and for those which aren't (e.g. Apache::Htpasswd) i have an army of minions to write alternatives for me (Authen::Htpasswd)
09:16 nothingmuch MrFarts: spew it, i'm listening
09:16 MrFarts i need to run a whole bunch of external programs and monitor them at intervals
09:16 nothingmuch okay
09:16 MrFarts that's it really
09:16 nothingmuch (IPC::Run, IPC::Run)
09:16 nothingmuch ;-)
09:16 nothingmuch use IPC::Run qw/start finish pump/;
09:16 nothingmuch start \@command_line_args, $in, $out, $err;
09:17 nothingmuch $in, $out, $err are either filenames, filehandles, callbacks, or scalar refs
09:17 MrFarts ok and then what ?
09:17 nothingmuch they DWIM
09:17 nothingmuch or DWYM in this case
09:17 MrFarts DWYM ?
09:17 nothingmuch this returns a handle object
09:17 nothingmuch do what you mean
09:17 MrFarts i don't care about getting output from the programs
09:17 nothingmuch my $hgandle = start [qw/some command/], ...;
09:17 MrFarts i just want to know whether they are dead or alive
09:17 nothingmuch push @handles, $handle;
09:17 nothingmuch ah
09:17 nothingmuch wait
09:18 nothingmuch you want to just start a bunch of things?
09:18 MrFarts i want to start a bunch of things and know what's running longer than it should be
09:18 nothingmuch and notify when they've finished?
09:18 nothingmuch ah
09:19 MrFarts any ideas ?
09:19 nothingmuch you can roll your own
09:19 nothingmuch you had a good start
09:19 nothingmuch then you can create a queue of items
09:19 nothingmuch by the time they're expected to finish
09:19 MrFarts well that's what i was doing already
09:19 nothingmuch sleep the parent until the earliest time of expiry
09:19 nothingmuch if the sleep finishes, and not because of a SIGCHLD, then complain loudly
09:19 MrFarts i don't quite understand that
09:19 nothingmuch so what's the problem?
09:20 MrFarts i need to start a certain numbers of subprocs at once
09:20 MrFarts and i can't block waiting for each one to finish
09:20 nothingmuch foreach my $task (@tasks) { if ( my $pid = fork ) { push @child, { pid => $pid, eta => $timestamp } } else { exec @$task } }
09:21 MrFarts oh this is using IPC::RUN ?
09:21 nothingmuch my $earliest = sort { $a->{eta} <=> $b->{eta} } @children;
09:21 nothingmuch no, this is manual
09:21 MrFarts ok  if you're in the parnt, keep on spawning more children
09:22 nothingmuch if ( $earliest->{eta} > time() ) { sleep $earliest->{eta} - time } else { warn "child $earliest->{pid} is overdue"; kill 9, $earliest->{pid} }
09:22 MrFarts otherwise call exec from within the child ...
09:22 nothingmuch right
09:22 nothingmuch wrap that in while ( @children ) { }
09:22 nothingmuch and in SIG{CHLD} cleanup the relevant children from @children
09:22 MrFarts what in the world is my $erlist ?
09:22 nothingmuch make sure you're in perl 5.8 or higher
09:22 nothingmuch it declares the var $earliest
09:23 nothingmuch which contains the structure for the child that is supposed to end soonest
09:23 MrFarts honestly, i'm not following what's going on after you create the parent and child
09:23 nothingmuch based on 'eta'
09:23 nothingmuch do all the children end at the same time
09:23 nothingmuch ?
09:23 MrFarts no
09:23 nothingmuch okay, each one has it's own duration?
09:23 MrFarts yes
09:23 nothingmuch okay
09:23 nothingmuch so given time() + $duration you know it's latest eta
09:23 nothingmuch err, eta is a bad term
09:23 nothingmuch it's deadline
09:24 MrFarts you're going too fast for me... i'm not that familiar with perl
09:24 nothingmuch push @children, { pid => $pid, cmd => $cmd, deadline => $timestamp };
09:24 MrFarts i have to make this into pseudocode
09:24 nothingmuch if you're not familiar with perl but are with C, why not just do it in C?
09:24 MrFarts nothingmuch, because i was under the impression that it would be fast in perl
09:24 MrFarts faster
09:24 MrFarts :)
09:24 nothingmuch struct task { whatever pid; size_t deadline; char * cmd }
09:24 nothingmuch well, yes
09:25 nothingmuch but only if you know it
09:25 nothingmuch IPC::Run can help
09:25 nothingmuch but i think it's too much abstraction for someone with your familiarity
09:25 nothingmuch it'll probably end up confusing you
09:25 nothingmuch and you said you have an hour
09:25 nothingmuch you can also use an event loop library like Event or LibEvent
09:25 MrFarts i'm trying to understand what you're trying to do conceptually first
09:26 nothingmuch err, Event::Lib
09:26 MrFarts when you got into ETA, i was pretty confused
09:26 nothingmuch well, wrt the child queue - find out what is the earliest child that's supposed to finish
09:26 MrFarts i don't see how you are checking up on the processes
09:26 nothingmuch the earliest deadline
09:26 nothingmuch you aren't
09:26 nothingmuch you are just waiting
09:26 nothingmuch if it's not gone from the queue by then, you kill it
09:26 nothingmuch the singal handler cleans the queue
09:26 nothingmuch http://search.cpan.org/~vparseval/Event-Lib-0.10/lib/Event/Lib.pm
09:27 nothingmuch http://search.cpan.org/~jprit/Event-1.06/lib/Event.pod
09:27 nothingmuch these two might be nicer for you
09:27 nothingmuch read tutorials and what not
09:27 nothingmuch but it won't be an hour, I guarantee you that
09:27 nothingmuch writing it will take 15 mins
09:27 nothingmuch but learning the libs a bit more
09:27 MrFarts well i guess i'm just going to struggle with this
09:27 MrFarts if i cna't get it done in an hour, i'll do it in C
09:28 MrFarts but that'll take a while
09:28 Khisanth hmm sounds like a simple modification of http://poe.perl.org/?POE_Cookbook/Child_Processes_3 actually
09:28 nothingmuch oh right, there's POE
09:28 nothingmuch but POE is not grokked in an hour either
09:29 MrFarts gah
09:29 nothingmuch look, there's a fundamental conflict
09:29 nothingmuch you want time saving that is achieved by investing in advance: learning a library
09:29 nothingmuch you already know the standard C library
09:29 nothingmuch perl offers you that
09:29 nothingmuch that can help, or it might not
09:29 nothingmuch i think it's a fair balance
09:30 nothingmuch if you have an hour it doesn't make sense to spend 5 hours learning a tool that will save you 45 minutes
09:30 nothingmuch unless you're going to use it a lot
09:30 MrFarts right
09:30 nothingmuch that's basically it =)
09:30 nothingmuch if i wasn't at work i might be tempted to walk you through one of those
09:30 nothingmuch but I can't afford that, time wise
09:30 MrFarts i understand
09:30 MrFarts thanks anyway
09:31 MrFarts i'll try to pound this thing into submission
09:31 MrFarts ")
09:31 MrFarts :)
09:33 * nothingmuch is a misantrope
09:33 nothingmuch =(
09:34 MrFarts actually i think i figured it out anyway :)
09:34 nothingmuch goody
09:34 MrFarts i'll just do it by hand
09:34 MrFarts i'll just put a decrement in the signal handler for sigchld
09:35 MrFarts when that things goes to 0, i'm all out of children
09:38 MrFarts for somre reason it's not going back to 0 though
09:38 MrFarts it's stuck at 7
09:38 MrFarts hmm
09:38 bsb perldoc -f waitpid
09:39 MrFarts what does waitpid have to do with anything ?
09:40 KingDiamond joined perl6
09:40 bsb left perl6
09:43 MrFarts ayone ?
09:44 MrFarts nothingmuch, idle
09:44 MrFarts ?
09:46 MrFarts why aren't all the processes generating SIGCHLD ?
09:47 nothingmuch sorry
09:48 MrFarts well you aren't obligated to help me
09:48 MrFarts :)
09:48 MrFarts but i'd really appreciate it if you could
09:48 nothingmuch i hve to go in ~2 mins so quickly please =)
09:48 nothingmuch read perlipc
09:48 MrFarts for some reason SIGCHLD isn't being generated by everything it seems
09:48 nothingmuch it knows to tell you if there are no children left
09:48 MrFarts i don't understand why
09:48 nothingmuch 3hmm
09:49 nothingmuch please no paste
09:49 nothingmuch i can look at it in ~4 hours
09:49 MrFarts 3hmm ?
09:49 nothingmuch typo
09:49 nothingmuch 'hmm'
09:49 MrFarts any ideas on what to check
09:49 nothingmuch not really
09:49 MrFarts this is just sadistic
09:49 nothingmuch this sounds odd
09:49 * nothingmuch wrote weird shit in his day of perlipc curiosity
09:49 nothingmuch i even wrote a traffic shaper once
09:49 MrFarts yeah, i get ~38 kills
09:49 nothingmuch with nonblocking IO and SIGIO and stuff
09:49 MrFarts the last 12 are disappearing
09:50 MrFarts don't get it
09:50 MrFarts 50  dies, 49 ...
09:50 MrFarts etc.
09:50 MrFarts then i get to 38
09:50 MrFarts er
09:50 MrFarts 12
09:50 nothingmuch hmm
09:50 nothingmuch how are you reaping them?
09:51 MrFarts http://pastebin.com/520322
09:51 nothingmuch the definition of SIGCHLD is that it's delivered when your process gets a timeslice and children are waiting to be reaped
09:51 nothingmuch (IIRC)
09:51 nothingmuch okay
09:51 nothingmuch the while loop is taking out several at a time
09:51 nothingmuch perldoc -f waitpid will explain that idio
09:51 nothingmuch m
09:52 MrFarts i'm not sure why i'm re-installing the handler
09:52 nothingmuch that's an old sysv thing
09:52 nothingmuch also documented in perlipc
09:52 nothingmuch linux doesn't need it
09:52 MrFarts anything strike you as being wrong here ?
09:52 nothingmuch yes
09:52 nothingmuch the while loop =)
09:53 nothingmuch it's explained in perldoc -f waitpid
09:53 nothingmuch what it's doing is reaping any pid
09:53 MrFarts i don't have perldoc
09:53 nothingmuch nonblocking
09:53 nothingmuch for as long as there are children running
09:53 nothingmuch no way
09:53 MrFarts anything via google
09:53 nothingmuch on linux?!
09:53 MrFarts yeah
09:53 nothingmuch wtf kind of distro is that?
09:53 MrFarts ubuntu
09:53 MrFarts suse has it ...
09:53 nothingmuch anyway, the while loop is reaping any number of children, nonblocking, and > 0 means keep doing it as long as children are left
09:53 nothingmuch no way
09:53 nothingmuch ubuntu isa debia
09:53 nothingmuch n
09:53 nothingmuch it shoul;d have perldoc
09:54 nothingmuch check your path
09:54 nothingmuch anyway, put --numprocs in the while loop's body
09:54 nothingmuch and you can make it $numprocs--;
09:54 nothingmuch perl will opptimize it into --$numprocs if you really care ;-()
09:54 nothingmuch ;-)
09:54 MrFarts that doesn't make sense
09:54 nothingmuch why not?
09:54 MrFarts i mean the numprocs into the while
09:54 nothingmuch read man waitpid
09:54 MrFarts because it'll go down to negative numbers pretty quickly :)
09:54 MrFarts let me run it just to shit myself :)
09:54 nothingmuch while ( waitpid -1,  &WNOHANG > 0 ) { }
09:54 nothingmuch no
09:55 nothingmuch waitpid will return immediately each timed
09:55 MrFarts it works
09:55 MrFarts wow
09:55 nothingmuch it will return a nonzero number if there are more children
09:55 nothingmuch sigchld isn't delivered once per child
09:55 nothingmuch it's delivered whenever there are any children
09:55 MrFarts thanks ...
09:55 nothingmuch if you're taking out N children per handling, then that's the behavior
09:55 MrFarts now i'm more or less in business
09:55 MrFarts :)
09:55 nothingmuch yummy goodnes
09:56 nothingmuch i've got to go
09:56 MrFarts goodbye
09:56 MrFarts thanks again
09:56 nothingmuch =)
09:56 nothingmuch i'll bbl
09:56 nothingmuch if you need me again
09:56 MrFarts ok. maybe i'll still be around
09:56 MrFarts hopefully not struggling :)
09:57 Khisanth nothingmuch: perl-doc is not installed by defaul
10:00 drbean_ joined perl6
10:04 scook0 joined perl6
10:04 pjmm joined perl6
10:17 rantanplan_ joined perl6
10:23 dada joined perl6
10:26 elmex joined perl6
10:34 MrFarts anyone still alive ?
10:39 webmind ?
10:49 marmic joined perl6
11:00 gaal ingy/audrey: what about $DOC in Perldoc? I don't see it...
11:01 gaal is there a way to export a variable and mark it as strict-clean?
11:01 gaal so the user can say "use strict; use Perldoc; print $DOC->html" or whatever
11:03 ingy gaal: coming soon
11:03 gaal I wonder how that works in Perl 6 as well: do exported vars need to be declared?
11:03 gaal ingy: can it be done in pure Perl at all?
11:04 ingy gaal: what?
11:04 gaal It looks like you have to get prettty dirty to make $DOC strict-clean :-)
11:05 ingy gaal: I see
11:05 ingy what does `use vars` do?
11:05 gaal package level global I believe.
11:05 gaal vs. our which is weirly lexically scoped
11:06 gaal but you can't use-vars-at-a-distance
11:06 gaal oh wait! maybe you can!
11:06 gaal package Other; use vars...
11:06 gaal ugh, need an eval for that.
11:06 ingy :)
11:06 gaal because Other is runtime.
11:06 ingy not so bad to use eval
11:07 gaal right. and use vars kind of scope is reasonable in Perl 5 there
11:07 ingy at least the problem is solved :)
11:07 ingy gaal++
11:08 ingy damn my hands arqe cold, can't type
11:08 gaal good thing ";`rm -rf /`" isn't a valid package name. :-P
11:09 ingy gaal: I have another proble maybe you can help me with
11:09 gaal your moose is my wapiti
11:10 gaal I can teach you a way to warm your hands
11:10 ingy yeah?
11:10 gaal you need another person for it.
11:11 ingy sex?
11:11 gaal no (that can work too though). you each put your palms against each other like in an oriental bow
11:12 ingy they're warming up slowly...
11:12 gaal face and point your hands towards each other
11:12 ingy I just went on a cold scooter ride with no gloves
11:12 gaal separate your fingers and cross your with theirs
11:13 gaal uh, this is less complicated than it sounds :)
11:13 gaal so your left hadn is crossed with their right and vv
11:13 ingy sounds like this leads to sex
11:13 gaal then comes the warm part: rub your hands vigorously
11:14 gaal it can lead up to that if you wish. it's a versatile technique!
11:14 gaal it's much better than rubbing your own hands in terms of warmth production (and sex leaduptotude, come to think of it)
11:15 ingy :D
11:15 gaal so, what else can I help you with? :)
11:16 ingy well I want Perldoc docs to be per "class" ie per package; not per module
11:17 ingy the $DOC thing still works fine
11:17 ingy but the flow for the other processes is weird
11:18 gaal where's the svn repo for Perldoc?
11:19 ingy http://svn.kwiki.org/ingy/Perldoc
11:20 gaal hmm, actually there isn't a bulletproof way of doing this, is there? you have to parse perl.
11:20 ingy I think i want to add the concept of a Perldoc::Document class
11:21 ingy gaal: I'm not really worried about that
11:21 ingy I just want to get the conceptual structure right
11:21 gaal you can assume /^package \s* (\S+) \s* ;/x in most cases :)
11:21 gaal OK
11:22 gaal starting with which version, the Haskell one?
11:22 ingy actually I think that $DOC points to a Perldoc::Document object
11:23 ingy Haskell version of what?
11:23 gaal (hey, what drives the haskell version anyway? there's no target in the makefile that builds it, that I saw)
11:23 gaal Text.Parser.Kwid
11:24 ingy Well I'm really just concentrating on the Perl5 Perldoc project for right now
11:25 ingy Based off the work and ideas I started last spring
11:26 ingy Audrey wrote a nice Kwid parser, which was my bottleneck
11:26 gaal all right, so Kwid > Doc > [Para], or Doc > Kwid > [Para] ?
11:27 gaal or is the Kwid structure in the haskell version what you need for Perldoc::Document in p5?
11:28 ingy gaal: there are a few things going on with Perldoc
11:28 ingy I should summarize somewhere
11:28 ingy Maybe I'll write a design document in the repo
11:29 ingy and then we can talk better about this
11:29 ingy you around for a while?
11:29 Kattana joined perl6
11:29 gaal yeah, grabbing lunch but i
11:29 gaal 'll be back.
11:30 ingy ok, I have a small stack to pop first, but should have that doc in 2-3 hours
11:30 Debolaz joined perl6
11:31 gaal cool
11:31 MrFarts anyone willing to help me out
11:31 MrFarts i'm probably doping somethign stupid but i can't see what
11:38 Debolaz joined perl6
11:43 MrFarts how can i get the pid of the last process launched via system
11:53 lisppaste3 joined perl6
12:19 gaal MrFarts: fork and exec yourself instead?
12:24 KingDiamond joined perl6
12:34 Juerd MrFarts: The last process launched with system no longer exists when you're past that call.
12:35 Juerd MrFarts: Its PID is of no use whatsoever.
12:40 elmex joined perl6
12:41 elmex joined perl6
12:42 elmex joined perl6
12:42 feng joined perl6
12:43 gaal Juerd: system "do_something &" uses the shell to run do_something in the background
12:43 gaal I know that you know that technically that wasn't launched by system itself :-)
12:44 Southen joined perl6
12:47 Juerd gaal: Right. The PID of do_something is unknown to Perl anyway.
12:50 gaal if you're only using the shell to get &, and not redirection or search, you can fork+exec instead.
12:52 drbean joined perl6
12:54 Bit-Man joined perl6
12:58 ingy gaal: stack popping proceeding well...
12:58 ingy are you a mac user?
12:59 ingy if so we could do a subetha thing perhaps
13:03 obra what happened to subethawikiwyg?
13:05 ingy obra: it's coming soon
13:05 obra oooooo
13:05 obra WANT :)
13:05 obra I'll pay you in beer. and bao.
13:06 ingy bao zi
13:06 ingy bao == container
13:06 ingy zi == child
13:06 ingy bao zi == tasty pork buns
13:07 obra or in cantonese "Char su bao"
13:11 ingy I think it is getting time to boot the cross-browser app, and embrace at least the xul, if not the ff extension
13:11 obra That'd be too bad.
13:11 obra I'd use it for me, but for released stuff, I need to work in safari and IE
13:11 ingy that would be so good.
13:12 ingy no, you just think you do
13:12 obra My customers would stop paying me
13:12 ingy I kinda doubt that
13:12 obra "If it doesn't work in IE, we can't and won' use it"
13:12 obra That's a direct quote
13:13 obra more than one of my custoemrs has workstations locked down that have no firefox
13:13 ingy let's take this out of perl6
13:13 obra oops. indeed
13:14 Debolaz2 joined perl6
13:14 integral write parrot plugins for all major browsers, and use perl6.  It'd be just like Flash (and Java moreso)
13:23 blm joined perl6
13:27 * lypanov wonders what "su" alone means
13:28 ingy super user?
13:28 blm as opposed to su -? su - sets up the environment as if you had of logged on directly as the superuser (root)
13:29 blm su doesn't
13:38 nnunley joined perl6
13:41 nothingmuch moose moose
13:46 gaal moose indeed!
13:46 gaal rehi too
13:47 gaal ingy: not a mac user. But I can find my Goby install somewhere
13:50 gaal *Gobby, and found it. :-)
13:52 kolibrie joined perl6
13:53 * nothingmuch wonders what mooseness is about
13:53 gaal nothingmuch: I'm helping ingy warm his hands!
13:55 * kolibrie is going to the Netherlands in March!
13:55 nothingmuch ingy: if you sit on your hands they will be warm
13:57 * gaal gets coffee, will brb
14:01 gaal b
14:07 gaal has ingy gone to sleep?
14:15 KingDiamond joined perl6
14:15 lypanov ingy: sorry, i meant in the context of char su ;)
14:16 lypanov kolibrie: .nl is fun :)
14:17 kolibrie lypanov: I'm taking my family, so we can all brush up on our Dutch
14:24 gaal haskell language design question: when you say "deriving Ord", why can't the compiler infer you also want to derive Eq? You can, after all, derive that too.
14:25 integral what if you wanted to write your own Eq?
14:25 gaal can you not write specific methods for typeclasses you derive automatically?
14:25 MrFarts is there anything fundamentally different about system("sleep 100") and system("perl foobar.pl") ?
14:26 integral I don't know :-/
14:26 MrFarts for some reason i can set timers on one but nto the other
14:31 MrFarts anyone ?
14:32 gaal MrFarts: sorry, no idea
14:32 gaal integral: turns out you can't
14:32 gaal so if you derive, you get the automatic implementation, no override possible.
14:42 gaal bbiab
14:44 joepurl joined perl6
14:45 chris2 joined perl6
14:46 nothingmuch joined perl6
14:52 hcarty joined perl6
14:58 hcarty left perl6
15:03 iblechbot joined perl6
15:08 pjmm left perl6
15:09 theorb joined perl6
15:14 robkinyon joined perl6
15:23 ajs joined perl6
15:44 Eimi joined perl6
15:46 * lypanov ponders learning haskell
15:52 * gaal encourages lypanov
15:52 gaal it's a fun language!
15:53 kolibrie lypanov: what I've learned has been great - very mind expanding
15:55 rantanplan_ joined perl6
15:56 lypanov any idea for something i could write using it?
15:56 lypanov i aim too big usually..
15:56 lypanov but what i see is "don't aim too small"
15:57 lypanov so i don't know what :P
15:57 lypanov maybe i should just hack on pugs
15:57 gaal sure
15:58 kolibrie I just worked on the tutorial, but haven't started any real projects in haskell
16:01 dada joined perl6
16:02 lypanov is there a tasks list for pugs?
16:03 elmex joined perl6
16:03 ingy lypanov: I've discovered a mindset for learning haskell
16:04 ingy You don't actually program in Haskell
16:04 ingy Haskell writes the program, you just set the rules
16:05 ingy if you try to learn the language thinking otherwise, you are likely in for pain
16:05 kolibrie lypanov: if you see a problem with pugs, write a test, if you have tuits, fix pugs so that the tests pass
16:05 sapper joined perl6
16:05 kolibrie lypanov: that's the basic tasks list
16:06 theorb There's been some discussion about creating a real tasks list; AFAIK nothing like that has actually been done, however.
16:08 lypanov tuits?
16:08 theorb lypanov: time units.  That is, free time.
16:08 lypanov aha :)
16:09 lypanov not really, but i've always been able to find new ones in the past ;)
16:09 lypanov okay. so basically, run the tests
16:09 lypanov find tests that don't work
16:09 lypanov fix them?
16:10 kolibrie lypanov: sounds good
16:10 lypanov ingy: sure sounds like the way my mind thinks anyways. i've never been able to dive into something without doing it headfirst
16:11 gaal ingy: hi!
16:11 ingy hi gaal
16:11 * lypanov hopes make unoptimized + gcc3.3 on osx is gonna work
16:11 gaal ingy: got gobby? got skype?
16:33 chris2 lypanov: you are on the ibook?
16:33 lypanov chris2: yup
16:34 chris2 lypanov: *happy* compiling then :P
16:34 lypanov yeah...
16:34 lypanov its just sitting here thinking about pugs.run for no real reason
16:34 lypanov oh well
16:35 lypanov now i remember why i didn't bother hacking on darcs
16:35 lypanov can you do edit-test-debug-test cycles in any saner way with haskell?
16:35 chris2 :P
16:35 lypanov this is unworkable
16:36 lypanov even c++ is faster than this...
16:36 * lypanov giggles
16:37 lypanov chris2: even withkit with its ~30 second rebuild when on ac power is just a bit too much for me
16:37 theorb ghci?
16:37 lypanov ghc-6.4 on osx on ibook 1.2ghz
16:37 lypanov whats ghci? the interactive version?
16:37 theorb Yes.
16:38 lypanov lets me mod code and restart?
16:38 lypanov as in, change code, "recompile", and rerun a testcase?
16:38 theorb Donno.
16:39 lypanov chris2: want the reallllly sad bit?
16:39 lypanov chris2: java has the best support for this...
16:39 chris2 no, lisp :P
16:39 lypanov true, but thats not in the ranks of easy ;)
16:39 lypanov slime looked nifty
16:39 lypanov maybe one day
16:39 chris2 i mean, real lisp :)
16:40 Odin- What is "real lisp"?
16:40 chris2 actually, smalltalk does it even better, but let's stop that :P
16:40 lypanov okay. train time. maybe some hacking if this thing actually ever finishes running
16:40 chris2 Odin-: on a lisp machine
16:40 Odin- Ah.
16:40 gaal lypanov: yes, ghci is an interactive haskell environment for you; you can reload modules you'd edited on and only they are recompiled.
16:40 lypanov gaal: i noticed that run.hs is obscenely slow in compiling, is there a reason for this? is it only building once?
16:41 gaal there is a reason for this :) it includes a whopping 1m generated file containing the Prelude
16:41 gaal after the coming release we'll work on improving this
16:42 gaal depending on what you're hacking on, you might do better by turning off precompiled Prelude
16:42 ingy gaal++ # nice fellow :)
16:42 gaal also, there's "make unoptimized" you can use
16:42 lypanov gaal: i'm using make unoptimized now, and its still just sitting spinning
16:43 gaal ingy++ # flattery will get you anywhere :)
16:43 ingy :p
16:43 lypanov gaal: would switching off precompiled prelude slow runtime down but speed up compilation?
16:43 gaal lypanov: ah, mixing precomp prelude and unoptimized is like drinking while taking antibiotics
16:43 lypanov gaal: i don't care about runtime. i only ever run one test, then run all when needed
16:43 gaal lypanov: exactly
16:43 lypanov how do i switch off precomp prelude?
16:44 gaal lypanov: in your case you want to edit config.yml and set "optimization" to -O0
16:44 gaal and "precompile_prelude" to "false"
16:44 gaal then you need to perl Makefile.PL
16:44 gaal how's our wiki doing? this should really make it into the faq
16:45 lypanov whats the point in the precompiling of the prelude btw?
16:45 lypanov reduces start up time per test?
16:45 gaal lypanov: the prelude is a perl module containing standard functions you are very likely to want
16:45 theorb lypanov: Exactly.  Avoids having to parse the prelude every time.
16:45 * lypanov nods
16:45 lypanov makes perfect sense for a "test all" build
16:45 gaal it takes, say, 7 seconds to parse Prelude.pm
16:46 gaal makes sense for general use, but not for development
16:46 lypanov any point in using make unoptimized now that i've set -O0 ?
16:46 gaal no, same thing
16:46 lypanov k
16:46 gaal if you want to force -O now you can say "make optimized" on the command line.
16:47 lypanov excellent
16:47 hexmode joined perl6
16:47 gaal incidentally there's a mechanism to inline other modules into the pugs executable; Test.pm is a favorite for "make smoke". but we broke it now and probably won't fix it until after the release
16:48 lypanov nice to see a sane devel env :)
16:48 gaal the cost: Test.pm precomp is an additional ~5 min in pugs build time, but saves about twice (and counting) on a whole test run
16:49 lypanov how long is your average code->test cycle?
16:49 gaal lypanov: this is certainly not a sane devel env :)
16:49 lypanov in what senses?
16:50 lypanov it could be improved further?
16:50 gaal lypanov: when you're zeroing in on a feature, as you've discovered, you needn't build the whole thing and you can -O0. so quite fast really
16:50 gaal but then a test might take 30 seconds to run
16:50 lypanov 30 seconds is quite okay :)
16:50 gaal lypanov: we're pretty chaotic but we have fun. :-)
16:51 lypanov hehe
16:51 lypanov getting "precompiled prelude for js doesn't exist yet"
16:51 lypanov whats that exactly?
16:51 gaal if you're interested in how long it's taking people to run the whole suite, take a look at smoke.pugscode.org
16:51 gaal lypanov: you can ignore it for now;
16:51 lypanov it only happens the once then?
16:52 gaal one of the backends pugs has is JavaScript
16:52 lypanov aha
16:52 gaal (you can write code in p6 and have it run in your browser!)
16:52 lypanov (neat ;))
16:52 gaal yeah, it won't happen often and it doesn't take very long anyway
16:52 * lypanov ponders taking a day out to write a javascript backend for his own evil
16:53 gaal i'm sure it's possible to make it switchoffable, but we don't want to bloat the build system
16:53 lypanov /me nods
16:53 lypanov okay. must run for real now else i'll miss the train
16:53 lypanov back in a few hours
16:53 gaal bye :)
16:54 lypanov thanks very much for the help gaal, theorb, ingy, kolibrie, and other people i can't find in the scrollback history
16:54 kolibrie lypanov: you're welcome
16:55 ingy :)
16:55 * theorb doesn't think he did much, but you're welcome for whatever I did.
17:19 sapper left perl6
17:32 sjl joined perl6
17:39 rafl ingy: ping
17:44 gantrixx joined perl6
17:53 bsb joined perl6
18:00 ingy rafl: pong
18:01 rafl ingy: Is YAML >0.50 100% backward compatible? And does it fix the two YAML bugs that were reported in the Debian BTS? http://bugs.debian.org/libyaml-perl
18:02 ingy rafl: I made it pass all the old tests. I added a bunch of new tests. fixed a bunch of rt tickets with new tests. etc
18:03 ingy I think it's a good release
18:03 ingy but I can't guarantee 100%
18:03 rafl ingy: OK, so I don't need to fear upgrading it in Debian. Great..
18:03 ingy that's not really possible
18:04 ingy yeah, i would...
18:04 rafl As long as it's kind of backward compatible that's fine. So it wont break all applications that rely on it.
18:04 ingy let me look at those bugs
18:04 rafl Thanks.
18:04 ingy I have specific tests for svk and META.yml ;)
18:05 ingy and I am in a good position to fix bugs quickly
18:07 bsb ingy: did you work out /20\d\d/ in haskell?
18:07 ingy bsd: audrey did :)
18:08 bsb hey, that's cheating
18:08 rafl ingy: I don't have time to verify those bugs currently.. two new jobs, my girlfriend had a car accident, etc.. so it would be nice if you could check that and reply to the Debian bts.
18:08 ingy the pattern simply needed to be a list
18:08 rafl ${bugnr}@bugs.debian.or that is. Or ${bugnr}-submiter@bugs.debian.org if you need to ask the submiter something.
18:08 ingy '2':'0':_:_:[]
18:09 ingy iirc
18:09 ingy not that I grok it, bsd :-)
18:09 bsb I got something like that eventually
18:09 gaal but that's /^20\d\d/
18:09 ingy grr, bsb
18:09 gaal err, that's /^20\d\d$/ even!
18:10 * rafl needs to go. Bye!
18:10 bsb plus another case or two to bump:  _:xs = fn xs
18:10 ingy audrey has the code unfortunately
18:11 bsb what was it for?
18:11 gaal ingy: :[] means this ends the list
18:12 gaal $ in regexp-speak :)
18:12 gaal not that this is a regexp
18:33 eric256 joined perl6
18:34 eric256 left perl6
18:41 avar joined perl6
18:44 Southen_ joined perl6
18:45 avar joined perl6
18:48 avar is now known as \xe6var
18:53 \xe6var joined perl6
19:11 r0nny joined perl6
19:28 dduncan joined perl6
19:41 ebvv joined perl6
19:42 ebvv left perl6
20:02 vel__ joined perl6
20:10 vel__ left perl6
20:15 vel joined perl6
20:22 penk joined perl6
20:28 nnunley joined perl6
20:47 vel joined perl6
21:04 putter joined perl6
21:05 vel joined perl6
21:05 putter One-year anniversary of pugs is coming up.  Perhaps an opportunity to reflect, and to plan.
21:06 kolibrie gosh golly, that was fast (in retrospect)
21:06 putter yeah
21:07 putter slow too though
21:07 putter ;)
21:09 vel joined perl6
21:09 putter Journal entry is up.  $job pushes us back another couple of days.
21:11 putter Someone remind me - Why did the perl community collectively decide it was worth delaying perl6 for half a year in order to save $20k?  Are we planning on making the same choice this year?
21:11 trym_ is now known as trym
21:11 \xe6var putter: what was that about, hadn't heard about that...
21:14 * integral didn't here this one either (yet)
21:14 integral and I've never seen the "perl community" make a decision ever...
21:16 putter audreyt self-funded for half a year.  we needed ~$3k/mo for $job == pugs.  didn't find it.  so $job != pugs, and pugs gets the timeslices left over after $job and life.
21:17 integral oh.  Did audrey apply to TPF in the end then?
21:22 putter I don't know.  at one point I asked them "what's going on here?"...  my fuzzy recollection is the answer was one of limited funds and interest.
21:24 Juerd joined perl6
21:28 robkinyon I think it's because Pugs is seen as competing with Parrot vs. complementing it
21:28 robkinyon maybe it's because audreyt & co are -too- successful
21:28 integral and both Parrot and Perl 6 have a lot of real perception problems further out in the "community"
21:33 putter TFP grants seem to focus on the $5e2 to $5e3 range.  http://news.perlfoundation.org/2005/12/the_grant_committee_what_we_do.html
21:34 putter the -too- successful seems to conspiracy-theoryish.  but I've repeatedly seen generally well informed perl folks with very little clue about perl6 and/or pugs.
21:35 putter s/to/too
21:36 integral hmm, we do now have binary packages in pxperl and debian (at least), I wonder if there's not some scope for a perl6 tutorial that for the first time people can try themselves?
21:38 hcarty joined perl6
21:38 hcarty left perl6
21:40 putter could be.  certainly once the new runcore is in and working.  the docs/ tree could also use updating.
21:41 robkinyon putter: Conspiracy theories are still theories. :-
21:41 robkinyon :-)
21:41 integral yes, it'd be nice to have an example which runs faster than perl5!
21:41 Kattana i have not seen anyone with any clue about perl6 let alone parrot
21:42 Kattana the info is not out there, and it takes alot to figure out what is going on and how to get something working.
21:42 integral although one thing would be nice to have IMHO would be some kind of frozen perl6 spec, so you know ??!!'s not going to change again, and the like
21:42 PerlJam Kattana: What info are you looking for?
21:42 Kattana i just spent the weekend catching up myself.
21:43 integral hmm, do we use the pugs kwiki much?
21:43 sili no
21:43 sili not enough
21:43 Kattana well right now i still to actualy try writing something, just to make sure its working, and to do that i have to find what the actual current perl syntax is
21:43 Kattana *perl6
21:44 integral should throw up some pointers from the wiki into specific parts of doc/
21:44 PerlJam Kattana: The synopses show you the most current thinking on perl6's syntax (and occasionally semantics too)
21:45 putter there is ./docs/getting_started explicitly begging to be fleshed out...
21:45 * integral admits to having given up reading p6l again
21:45 * integral thinks up a new trick: reading docs using vi instead of less
21:46 PerlJam p6l hasn't had much activity lately.
21:46 Kattana yes, i know all that now, but i was speaking generaly before, peopel can not get something written without jumping through a lot of hoops
21:46 * putter thinks "ah, good trick integral"
21:47 PerlJam Kattana: I can write all sorts of things without jumping through hoops.
21:47 PerlJam Kattana: unless you count "starting an editor" and "typing" as hoops  :)
21:47 Kattana you already have everything, and all you need to know
21:48 * integral just dumped links to .../docs and getting_started on the wiki frontpage
21:48 PerlJam Kattana: and if what I'm trying to do is on the fringe of what's known, I get a shot at extending reality the way I want
21:48 integral PerlJam: that's very scary.
21:49 PerlJam integral: until we have a perl6 compiler (the real deal, not pugs) just think "there be dragons here" always
21:50 integral people don't like dragons.  Is there not even a core of a language that can be firmly, and very loudly declared to be frozen?
21:51 putter integral++ #links
21:51 PerlJam given and when aren't likely to change syntax ever.  variables will keep their sigil.  The C-derived bits aren't likely to change.
21:51 sjl i'm probably not the first person to ask this, but when will we have the real deal ?
21:52 PerlJam ~ as string concatenation has gone enough rounds that I think it won't change.
21:52 integral okay, I'll write a .../frozen_perl6_syntax
21:52 integral *../docs/...
21:52 Kattana Is there a page with smoke-like test results for parrot? I have not seen a good status page of whats works that I could compare with pugs smoke tests.
21:52 PerlJam sjl: expect an alpha compiler this year.  Expect a *real* compiler within the following 2 years.
21:53 PerlJam sjl: Expect something worthy of replacing perl5 in about 5 years.
21:53 sjl seriously ?
21:53 webmind sjl, perl5 and cpan is big
21:53 integral Kattana: yep, smoke.pugscode.org
21:53 Kattana sjl: if you want it faster get to work ;)
21:53 integral Kattana: try pugs.kwiki.org it seems to have a good crop of project links on it
21:54 PerlJam sjl: Well, that's how I've currently calibrated my expectations.  Whether that's accurate or not depends on the time and energy people can devote to the project.
21:54 integral oh, parrot oops, I mean smoke.parrotcode.org should work
21:54 theorb joined perl6
21:54 Kattana see, there should be a link to that on the main site.
21:54 trym PerlJam: are there no financial resources being put into the project?
21:54 integral the parrot website has been badly maintained for ages :-/
21:55 PerlJam trym: last I looked, very very little.
21:55 sjl <Kattana> sjl: if you want it faster get to work ;)
21:55 trym PerlJam: what about companies that make tons of $$$ utilizing perl ?
21:55 sjl what do you need me to do ?
21:56 Kattana hmm, does not give me any info i can use to compare the two either, at least not untill i fiure out what all the tests mean, along with the pugs ones.
21:56 trym If any of my projects that utilize perl makes it "big".. I will be sure to donate a fair percentage to perl development
21:56 PerlJam trym: What about them?  They already have perl. Why would they need perl6?  
21:56 nnunley It is adiffere
21:57 trym the same reason people would want windows XP instead of windows 98
21:57 trym except of course the gap is bigger
21:57 integral trym: because microsoft dropped support for it?
21:57 nnunley Ugh.  It's a different beast.
21:57 integral people still use 5.4 and earlier which are unsupported.
21:57 Kattana winXP has M$ selling it to them tho, no one is pushing perl6
21:57 PerlJam trym: "the problem" is that nobody has marketed perl6 in that way.
21:57 trym "it still works" does not seem to make people stop want new stuff
21:57 sjl i have some different concerns....
21:58 trym the perl6 project should aquire a marketing genious.. it shouldnt be hard raising a few millions
21:58 trym which would speed up the development process by a lot
21:58 PerlJam trym: That would be some trick.
21:58 sjl i have loved perl for a number of years, and have used it at least to some degree in my work wherever i went, and now i find myself looking for my next gig....
21:58 sjl and the need to perl seems almost non-existant
21:58 nnunley The market share that would tend towards perl6 have moved instead towards Java, C# and to even higher level constructs.  It's going to be a long battle winning them back again.
21:58 trym sjl: how so ?
21:58 sjl like it's fallen out of favor with business
21:58 PerlJam trym: "Wanted: a self starter who can raise money for the perl6 project.  Oh, and by the way, you'll need to raise the money to pay yourself too"
21:59 trym PerlJam: there are idealists out there
21:59 sjl maybe it's just my location, but i'm rather dissapointed by it
21:59 trym sjl: well maybe you should stop waiting, and try finding or creating?
22:00 PerlJam sjl: it's just a programming language.  There's no "need" that perl can fill that can't also be filled by python, ruby, or php (for instance)
22:00 trym in most cases its a matter of preference
22:00 sjl perljam, the opposite is true as well, so why are people chosing the others over perl ?
22:00 trym but I see huge advantages of using perl instead of say python or php in many cases
22:01 PerlJam sjl: personal bias, propaganda, etc.
22:01 PerlJam trym: such as?
22:02 trym PerlJam: developing web applications
22:02 putter integral: I wonder what the relative importances are of spec changes, things unspecced, and things simply buggy.  remember all the dark greens are things which dont actually work yet.  the last release was thus say a 1/4 to 1/3 test fail.
22:02 Kattana php has a company backing it and tools to help it replace java on the web, python has the new shiny clean maintainable look going for it, and its a good language
22:02 trym cpan deserves much of the creds for that
22:03 PerlJam trym: And why would I use perl there instead of PHP?
22:03 trym mod_perl.. HTML::Mason
22:03 trym PerlJam: ease of use, cpan, preference and just google for perl vs PHP.. and you'll find lots of reasons
22:03 PerlJam trym: most of those reasons don't matter to getting work done.
22:03 trym PHP (at least >= 4.x) is hopeless if you're developing something bigger than a webshop
22:03 integral putter: sounds like I could just sit down and get some tests unTODOed then
22:04 Kattana perl is not made for anything bigger either
22:04 PerlJam trym:  to continue playing devil's advocate, why would I choose perl when php is ubiquitous on apache installations *and* comes with everything under the sun (i.e., no need for CPAN because it's already included)
22:04 trym PerlJam: well it surely matters. It can cause slower development, poorer development - leaving the application more vulnerable. Reducing the maintainability etc
22:04 putter Kattana: would something like http://www.zenspider.com/Languages/Ruby/QuickRef.html have helped?
22:05 PerlJam trym: see, you're arguing things that are essentially language agnostic.
22:05 PerlJam trym: Just alike anyone can write a poor perl program, anyone can also write a good php program
22:05 PerlJam php programs can be made as secure as perl programs.
22:05 Kattana putter: that looks good, but a little concise, with all the things going on with perl6 some explanation would be good
22:05 trym sure can
22:05 sjl not to the same degree as perl
22:06 trym but you have to put more effort into it
22:06 trym php is not a designed language
22:06 trym its a farking patchwork
22:06 integral argh, smoke reports are too wide in my browser :-/
22:06 PerlJam php programs can be developed as fast and as well as perl programs.
22:06 putter integral: maybe after the release (to get that out the door and out of the way)?  perhaps also after the runcore is swapped, so it's easy to see regressions?  or not..
22:06 sjl depends on who's developing them perljam
22:06 integral putter: I really, really, really hate release freezes;  OTOH I use svk so local branching is easy.
22:06 PerlJam trym: who says you have to put more effort into it?
22:07 trym PerlJam: I do ;)
22:07 PerlJam sjl: right.  So the programming language doesn't matter.  Any choice is equally valid.  Soo why would someone choose perl?
22:07 trym and I think a few people would back me up on that
22:07 putter svk++
22:07 integral it's irritating to finally work up energy to just get on and do something but have to wait for a release :)
22:07 * integral is just bad with working with others really
22:07 putter oh yes :)
22:07 * Kattana hates the "others"
22:07 sjl perl is amazingly flexible
22:08 trym PerlJam: any choice of language might be "valid".. but its not optimal.. and it might even be stupid
22:08 * Juerd bends perl
22:08 putter err, "oh yes" re energy and wait, not others ;)
22:08 trym you wouldnt code most web-applications in C
22:08 Kattana so flexible anyone can tie perl in a knot and hang themselves with it.
22:08 Juerd 23:15 < PerlJam> php programs can be developed as fast and as well as perl programs.
22:08 trym but you could.. and it wouldnt be an "invalid" choice of language
22:08 Juerd PerlJam: That VERY MUCH depends on the kind of program.
22:08 sjl and that 'flexibility' can lead to absolute garbage code, but it can also lead to very elegant solutions
22:08 Juerd PerlJam: But for web applications especially, you're right
22:08 PerlJam Juerd: sure.  Still playing devil's advocate :)  Why would someone choose perl?
22:09 Juerd PerlJam: Because of CPAN
22:09 trym Namespace support is something that comes in handy when developing larger applications
22:09 Juerd CPAN's Perl's most important selling point
22:09 PerlJam Juerd: CPAN is even losing it's luster now that there are CPAN-a-likes springing up
22:09 Juerd Manipulexity and whipituptitude are important to hackers, but ignored by many ignorant decision makers
22:09 sjl perljam, you would pick perl because of it's potential
22:09 PerlJam Also, note all the trouble on CPAN between EU::MM and MM::B
22:09 PerlJam er, M::B
22:10 Juerd PerlJam: Very true.
22:10 integral haskell, ruby etc all have those.
22:10 Kattana PHP has pear as perl has CPAN
22:10 sili except cpan doesn't blow
22:10 integral python comes with lots of modules, you don't have to use a silly shell that can't format it's prompts properly
22:10 Juerd In my opinion, M::B makers should have made it interface-wise compatible with E::MM from the very beginning.
22:10 PerlJam sjl: No one chooses a programming language for what it may be able to do tomorrow.  They choose a programming language for what they can do with it todya.
22:11 sjl if i were given a complex web task and a team of smart coders, i'd pick perl, if i had a team of fools, i'd go with php
22:11 Juerd And the community should have supported M::B earlier on.
22:11 PerlJam Juerd: amen to that.
22:11 Juerd And we need CPANPLUS to succeed, which means designing it by a more diverse committee.
22:11 Juerd But fortunately, Perl 6 will fix all this.
22:11 Juerd (...)
22:11 sjl real men install by hand
22:12 integral there is no CPANPLUS or M::B written in perl6 yet.
22:12 integral I'm sure pugs already has all the features needed to write one.
22:12 Juerd integral: No, much smarter solutions are being invented :)
22:12 Juerd integral: Ask rafl and kane
22:12 integral I'd just like something that works please.
22:12 Amnesiac joined perl6
22:12 PerlJam indeed
22:13 integral things can really suck, but still be useable if 70% of users can use the "Quick Start" instructions
22:13 sjl how have business needs shaped perl6?
22:14 PerlJam sjl: um ... they haven't.
22:14 PerlJam business needs are satisfied by perl6 purely as a side effect.
22:14 trym PerlJam: I know you're playing devils advocate here.. but there are reasons to prefer perl to other languages. Otherwise you wouldn't be here. But I do honestly believe that if marketed properly, one should be able to raise money and resources to speed up perl development
22:15 Juerd integral: Why do you assume it will not work?
22:15 PerlJam trym: I'm here because I've used perl for 13+ years and will continue to use it in the future.  But I'm not a language zealot and so will use whatever works :-)
22:15 Juerd integral: I also like simple solutions that "just work", but the world of platforms and compilation to binary is tremendously harsh.
22:15 integral Juerd: My assumption isn't that, it's that it'll take years and years, and the implementation will lag behind the designing
22:16 sjl business needs are satisfied as a side effect?
22:16 Juerd integral: As does Perl 6 itself.
22:16 Juerd integral: I'd say they're currently pretty much in synch.
22:16 PerlJam trym: btw, can you turn that belief into something tangible for perl6?
22:16 trym PerlJam: I'll do my best
22:16 integral Juerd: do you have a repository url?
22:16 PerlJam trym++
22:16 putter Hmm, a company is funding parrot $70k http://news.perlfoundation.org/2005/12/parrot_grant_and_accomplishmen.html
22:17 Juerd integral: No. What makes you think there is a repository?
22:17 trym PerlJam: A guy I know just donated $40k to a school linux project
22:17 integral Okay, how do I download the implementation then?
22:17 Juerd integral: What makes you think there is an implementation?
22:17 PerlJam trym: Well get him to donate $40k to perl6!  :)
22:18 trym PerlJam: I'll try :)
22:18 Juerd integral: What makes you assume your current attitude?
22:18 integral Juerd: So zero implementation?  So if that's instep with the designing, there must be zero design.
22:18 sili wtf 20 questions
22:18 trym But I have a few interesting projects going on that utilizes perl.. if they are successfull.. I'll give a fair percentage to development of perl6 and the smaller components I use
22:18 Juerd integral: Execute reality check
22:18 integral huh?
22:19 PerlJam integral: have you been reading aevil's blog or talking to her otherwise?
22:19 integral I don't understand, I was trying to be straight for once
22:19 ajs left perl6
22:19 integral You said rafl and kane were working on something,  but I don't know where they're doing that.  And I thought you would know.
22:19 _SamB_ joined perl6
22:19 Juerd integral: There was a kwiki, but it's down at the moment.
22:20 integral Well, okay, so you mean there's actually nothing?
22:20 sili yay for not
22:21 integral PerlJam: hmm, I do read her blog occasionally, but for the food :)
22:21 Juerd integral: Sorry, I don't like the tone. I'm terminating our conversation, to avoid losing my temper.
22:21 drbean joined perl6
22:21 integral okay.
22:22 PerlJam integral: well, go read something a little more upbeat.  You're starting to sound like he  :)
22:22 PerlJam s/he/her/
22:22 sili hahah
22:22 * integral goes back to looking for easy TODO bugs
22:23 Juerd integral: Ask rafl to start his apache, or look in feather:~rafl/sixpan/htdocs/sixpan/database
22:23 putter Kattana: what about a "wizard"-like web page?  eg, a text box, and buttons "insert definition of" <sub>, <method>, <multi method>.   "insert argument", etc. ?
22:23 integral thanks! Juerd++
22:24 Juerd Or Google for sixpan when Google's cache is back online.
22:25 Kattana putter: i dont quite follow you, but something simple is best imo.
22:26 Kattana PerlJam: link to blog? trying to cover all the bases while catching up with everyone
22:27 PerlJam Kattana: um ... which blog?  aevil's?
22:27 Khisanth google offline?!
22:27 PerlJam if so, you're asking the wrong person.  I actively ignore aevil these days
22:28 integral aevil says little to do with perl these days afaics
22:29 Kattana PerlJam: yes.
22:29 PerlJam integral: good. Her perl prose is too depressing or filled with too much vitriol
22:29 sili try not to use words i don't know...
22:31 PerlJam sili: How else are you to learn new words?  I'm here to educate you! ;)
22:31 sili aye.
22:32 putter "something simple is best"++
22:33 integral ./pugs -Iext/Cipher/lib -Iblib6/lib ext/Cipher/t/arcfour.t # which doc would tell me this was how to run one test?
22:33 sili it's hidden in the mailing lists.
22:33 sili like everything else
22:34 PerlJam integral: um ... that's ye olde standard perl method for running one test except we've substituted pugs for perl.
22:34 integral is the svnbot not running?
22:34 integral PerlJam: except I keep forgetting to say blib6 and not blib, and normally I use the blib module.
22:34 putter ./lib/pugs/hack.pod?
22:34 PerlJam integral: yeah, I do that too :)
22:34 integral eh?  what's the difference between ./lib/pugs and ./docs?
22:34 putter ?
22:35 integral How do I know which to look in to find something out?
22:35 putter re 6pan, there's misc/sixpan/
22:35 putter re lib/pugs, let's see...
22:38 integral ah, misc/sixpan looks like what I was asking for
22:39 putter I guess the theory is pugs::run and pugs::hack get p5-installed.  man pugs::run.  docs/SEEALSO points to them.
22:39 integral ah, I don't install things I'm developing, so I rarely use man near them
22:44 putter me neither.  I'm hypothesizing.
22:49 _SamB_ is now known as SamB
22:51 integral ah, Cipher::Arcfour appears to be broken because method lookup isn't working :-/
22:53 putter :/
22:54 integral hmm, so can someone explain to me whether the new object metamodel thingie is used when using the old evaluator?  Or is this something else that needs to wait until the great switch over to PIL?
22:55 putter my understanding is great switch
22:57 * integral appears to be getting closer to yak shaving with every step
22:58 * putter snifs.  you smell wet yak hair?
22:58 putter which yak?
22:58 integral PIL2 evaluation
22:59 * integral hopes it's not a yak herd
22:59 bsb left perl6
22:59 putter (please don't say the unshaven one...:)
23:00 integral hmm, there appears to be a PIL2 evaluator but not plugged into the pugs frontend,  so that appears to take me back to rewriting Pugs.Run again
23:00 sili what's pil
23:00 putter "yak shaving is what you are doing when you're doing some stupid, fiddly little task that bears no obvious relationship to what you're supposed to be working on, but yet a chain of twelve causal relations links what you're doing to the original meta-task."
23:01 Juerd Wasn't pil2 obsoleted by piln?
23:01 sili maybe, what's pil?
23:01 integral ugh, I just picked the highest number I saw :-/
23:01 Juerd integral: n > 2
23:02 Juerd Or, at least, it can be.
23:02 Juerd :)
23:03 putter p6->pil2->piln   pil2 is an unsugared p6, piln a minimalistic "kernel" language.
23:03 sili that sounds confusing.
23:03 putter src/PIL
23:04 integral okay, sounds like a frontend would be useful anyway.  Just tell it what you're feeding it, and what you want out avoiding the current scary arg parsing and decisions on what to do
23:04 sili source is not documentation
23:04 sili :(
23:04 Juerd sili: Yes, it is.
23:05 integral haddocks?
23:05 sili Juerd: ok, i'll share that with my coworkers and lead
23:05 sili "dude, just read the source. trust me, it's documentation"
23:05 integral sili: http://nothingmuch.woobling.org/pugs_test_status/haddock/PIL.html
23:05 putter pil2 is similar to pil1.  piln is a "vm" low level representation, so backends dont have to build high to reach pil2 support (thus introducing incompatibilities, and duping work)
23:05 sili thanks
23:05 integral is there a reason we haven't dumped all the PIL1 source yet?  Is it needed for reference?
23:06 sili isn't that what cvs and archives are for?
23:06 Juerd sili: That's the important difference. We're not commercial here, or working with any organisational structure *whatsoever*
23:06 Juerd When people feel like writing code, but not like writing documentation, we get undocumented code. We should be grateful for that.
23:06 Juerd Or so I believe.
23:06 putter err, aren't we still using pil1?  or have we switched over to pil2?
23:07 integral depends what you mean by "using".  If you just run pugs you get the original evaluator that's running straight off the AST without any PIL*
23:07 sili sounds unproductive
23:07 putter ah.
23:08 putter and pil2js...
23:08 stevan_ sili: it is -Ofun :)
23:08 integral but if stuff like the JS is using PIL1, one question is: can it be forward ported to PIL1, or will it need rewritten?
23:08 sili maybe even... backwards productive or something
23:08 stevan_ is now known as stevan
23:08 integral if the latter it can get junked
23:08 stevan integral: PIL2 is very diff from PIL1... I doubt much can be saved,.. but then,. not as much is needed :)
23:09 Juerd sili: Though if you do feel like writing documentation for things that others didn't like to document, feel free :)
23:09 integral sounds like we just need someone brave with a delete button then
23:09 stevan sili: the goal of the pugs project is not to create the "official" perl 6,.. but to experiment with Perl 6
23:09 integral so it can wait til after the next release and everything
23:09 sili stevan: that's fine
23:09 stevan integral: eventually yes, but right now you would break a lot of stuff doing that :)
23:09 nothingmuch joined perl6
23:10 Juerd integral: You have that delete button, I think. Are you brave? And probably more fundamentally: do you have spare tuits?
23:10 sili stevan: i think the bottom line is that i'm a noob and would like to help, but have no direction. i have some incomplete or outdated specs, various docs in various places, and the whole process is difficutl and i hate life
23:10 integral well I hesitate because audrey suggested that it was best leaving these things for the next release, then junking :)
23:10 nothingmuch evening
23:10 stevan sili: yes, it is a little messy right now, sorry bout that :)
23:10 integral sili: sounds like a job for the Samaritans rather than p6c...
23:10 stevan hey nothingmuch
23:11 Juerd sili: Hey, that's my world.
23:11 putter hi nm
23:11 theorb is now known as theorbtwo
23:11 stevan putter: re: "why is pugs not funded", that is a choice audreyt made a while back
23:11 stevan as for how we releate to the "official" Perl 6 project,.. thats kind of fuzzy
23:12 integral I don't think audrey ruled out other people being funded for pugs work
23:12 stevan integral: nope :)
23:12 stevan I actually applied for a TPF grant to go to YAPC::Asia hackathon with Larry & Damian
23:12 Juerd 00:20 < stevan> putter: re: "why is pugs not funded", that is a choice audreyt made a while back
23:12 * stevan crosses his fingers and knocks on all available wood
23:13 Juerd Though I think one can be personally funded to work on pugs
23:13 Juerd Which would fund the person, not the project.
23:13 stevan Juerd: in a way, my boss is helping fund pugs since he is allowing me to spend my spare work cycles on it
23:14 nothingmuch stevan: but your boss also understands the benefits of letting you do that
23:14 stevan your company is funding pugs by providing feather
23:14 nothingmuch mediocre programmers are noncurious ones
23:14 stevan nothingmuch: exactly :)
23:14 Juerd I think the wikistyle open source development of pugs cannot prevent this. And I believe nobody should feel obliged to make the same decision Audrey made.
23:14 stevan Juerd: of course,.. but I dont think the money is their anyway
23:14 Juerd stevan: That's very nice of your boss.
23:14 stevan too much is being pushed towards Parrot
23:14 Juerd s/their/there/?
23:15 * nothingmuch wonders if when speaking in past tense you say "autrijus decided" or "audreyt decided" ;-)
23:15 stevan Juerd: yes,.. thanks :)
23:15 Juerd nothingmuch: Audrey.
23:15 stevan name change is retroactive
23:15 nothingmuch this is a philosphical silliness discussion
23:15 Juerd nothingmuch: At least that's what appears most sane to me.
23:15 nothingmuch oh
23:15 nothingmuch i didn't know that was formal ;-)
23:16 Juerd stevan: I don't know. I can imagine that there may be corporate backing somewhere.
23:16 nothingmuch this reminds me of that book in THGTTG
23:16 Juerd stevan: Or perhaps a university.
23:16 stevan Juerd: maybe
23:16 stevan it would be nice
23:16 nothingmuch the grammar book, for when you go to the resteraunt at the end of the universe
23:16 Juerd stevan: After all, this is in some ways rather groundbreaking research.
23:16 nothingmuch restraunt?
23:16 nothingmuch damnit, i need to get autospellchecking in the terminal
23:16 Juerd restauraunt
23:16 stevan however, TPF owns the copyright, so I would expect they would need to be involved
23:16 nothingmuch damnit
23:16 integral nothingmuch: "willont goinging on to the restaurant..."
23:16 Juerd PECTOPAH :)
23:16 stevan unless we forked Perl 6 (no I am not serious)
23:17 nothingmuch integral++
23:17 nothingmuch tr/f/b/;
23:17 integral we fork it implicitly by what we choose to implement, and say to p6l...
23:17 Juerd stevan: Copyright to what?
23:17 stevan Juerd: Copyright to perl 6 IIRC
23:17 Juerd stevan: Copyright to what substance?
23:17 stevan Allison has been doing a bunch of legal stuff re: Parrot,.. I assume Perl 6 is included somehow
23:17 Juerd I see
23:18 * Khisanth wonders how you can fork something that doesn't really exists yet
23:18 Juerd Is there a license? Otherwise pugs might be illegal.
23:18 * putter eats an imaginary olive
23:18 * Juerd curses obligatory intellectual property
23:18 stevan Juerd: no idea,.. best to ask TPF maybe
23:18 stevan if you care that is
23:19 Juerd I don't
23:19 * stevan doesnt either :)
23:19 stevan unless of course we start a p6l mutiny in which case it might be a good idea to start caring
23:20 Khisanth well even if it was illegal, anyone actually trying to ..."enforce" it would likely be lynch :)
23:20 stevan Khisanth: well considering we are doing thier research for them, I doubt they would mind ;)
23:20 integral and we're very geographically diverse too
23:20 Juerd integral: And work without paper, without licenses, without contracts.
23:20 stevan of course that assumes they actually use the things we have learned/discovered/etc
23:21 * stevan disappears into the Perl 6 underground ...
23:21 putter so what parts actually exist at this point?   parser->pil2  complete pil2 (class defs and all)?  pil2->piln?  piln engine?
23:21 Khisanth stevan: who knows, people have always done stupid things for various immutable principles
23:21 * stevan always wanted to work for some clandestine organization
23:21 Juerd integral: To license anything in pugs, all the developers who have worked on the file in question and closely linked subsystems, would have to be contacted and would have to agree. But that legal crap is impossible, so the semi-legal path is more likely to be followed.
23:22 Juerd Already-licensed parts are fine, of course.
23:22 stevan putter: PIL^N still needs work, but my tuits currently need to be used for $work
23:22 Juerd -Ofun and -Ilaw often clash.
23:22 putter which part(s) of piln need work?
23:23 stevan putter: the Container types need fleshing out
23:23 integral Juerd: hmm, README implies that the whole lot is already licenced.  Dual gpl2 and Artistic2.0beta5
23:23 stevan and the instance creation part of the metamodel needs work to support them
23:23 Juerd integral: GPL has more strict requirements. Every file needs to start with a shitload of legal info.
23:24 putter stevan: is there enough there to bootstrap?  ie, is it a bootstrap, sanity, or test suite issue?
23:24 Khisanth so it's already violating the license? :)
23:24 Juerd Just saying "it's GPL" doesn't make it validly GPL.
23:24 * integral has given up on doing anything with the GPL as it's just too complicated
23:24 Juerd It has to include the entire GPL in a file called COPYING or LICENSE, IIRC
23:24 stevan putter: well if you leave the containers out, the bootstrap is there
23:24 stevan the roles implementation is still broken,.. but thats probably better done in P6 anyway
23:24 integral while we put it in LICENSE/GPL-2 *sigh*
23:25 stevan putter: we probably have enough to hack PILN into a new runcore
23:25 stevan but in order to do that we need PIL2 designed/implemented and the PIL2 -> PILN compiler
23:25 stevan and that is audreyt territory,.. not stevan territory
23:26 putter one can bootstrap without containers?!?  neat.  what exactly does the bootstrap bootstrap?  what shape boot?
23:26 stevan putter: it just bootstraps the class system
23:26 stevan s/class/class-object/
23:26 stevan the containers are implemented on top of that
23:26 stevan and so is the roles system
23:27 putter packages and modules?
23:27 stevan in the class/object system
23:27 stevan Class.isa(Package)
23:27 stevan Class.isa(Module), Module.isa(Package), Package.isa(Object)
23:27 stevan putter: see perl5/Perl6-MetaModel/docs/*.jpg
23:28 putter so there's some "bootstrap" p6 to be written, to set up roles and such, before the rest of a p6 prelude can run
23:28 stevan putter: depends on what the p6 prelude has in it
23:28 * integral &
23:28 putter and set up containers of course
23:28 putter bye integral &
23:28 stevan PILN is still a long way away from Perl 6,.. thats the gap PIL2 is supposed to fill
23:29 putter right
23:29 Juerd I had assumed that piln superseded pil2, but it appears my casual reading of the blogs wasn't enough.
23:30 * putter thinks, hmm, implementing roles in p6 is a great opportunity to add lots of unspecced flexible meta stuff... ;)
23:30 stevan Juerd: think of PILN as like PIR, and PIL2 as ... well... nothing equivalent in the Parrot world
23:30 stevan putter: the unspeced flexible meta-stuff is in the core metamodel already :)
23:30 putter :)
23:30 stevan thats how we can do roles :)
23:30 stevan roles are very simple really
23:30 stevan its the conflict resolution stuff thats a real pain
23:31 putter conflict resolution stuff?
23:31 stevan cause we need to be able to check for conflict when roles are composed together
23:31 stevan but those conflicts dont do anything
23:31 stevan they are in stasis
23:31 stevan because a role which composed those two could have resolved it
23:31 putter why a pain?
23:32 stevan pain in PILN
23:32 * stevan really has to run,.. dinner time
23:32 scook0 joined perl6
23:32 putter ahhhh.
23:32 putter bye stevan &
23:32 stevan I will be back on later.. read S12 and the Perl6-MetaModel stuff,.. see what you can figure out
23:32 stevan I would love some help on this,. :)
23:33 * stevan &
23:34 putter ok, so piln boots classes, but not datastructures or roles.  roles arent really that complex, but complex enough that you want datastructures.  but the normal datastructures are likely defined&implemented using roles.  hmm...

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

Perl 6 | Reference Documentation | Rakudo