Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-06-14

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:50 dkf has quit IRC ()
00:50 vcv-- has quit IRC (Read error: 131 (Connection reset by peer))
00:52 dkf has joined #perl6
00:59 vcv- has quit IRC (Read error: 145 (Connection timed out))
01:12 meppl gute nacht  -  good night
01:19 dkf has quit IRC ()
01:23 dkf has joined #perl6
01:36 eric256 has joined #perl6
01:48 meppl has quit IRC (Remote closed the connection)
01:58 vcv-- has joined #perl6
01:58 Enveigler has quit IRC (Read error: 110 (Connection timed out))
01:58 vcv- has joined #perl6
02:13 dkf has quit IRC ()
02:13 svnbot6 r4645, geoffb++ | Add pre-testing sanity tests:
02:13 svnbot6 r4645, geoffb++ | * New t/01-sanity/ directory (sorted to front by Test::Harness)
02:13 svnbot6 r4645, geoffb++ | * Initial set of seven sanity test files, each building on the last
02:13 svnbot6 r4645, geoffb++ | * Update pugs::hack with entry and description of t/01-sanity/
02:15 dkf has joined #perl6
02:21 geoffb Oops, 1 test in the sanity tests fails . . . figuring out why now
02:21 vcv- has quit IRC (Read error: 145 (Connection timed out))
02:25 chihchun has joined #perl6
02:27 dkf has quit IRC ()
02:37 geoffb Ah, Test.pm trying to DWIM for incorrect values of 'I'
02:37 svnbot6 r4646, geoffb++ | t/01-sanity/06-use.t: attempt to work around Test.pm being too smart for our good
02:42 Enveigler has joined #perl6
02:43 dkf has joined #perl6
02:44 geoffb OK, the new tests pass prove, starting on multi-hour `make unoptimized && make test`.  (I can't do normal make, because I lack sufficient swap space, bleah.)
02:44 geoffb afk for a while
02:53 SamB has quit IRC (Read error: 104 (Connection reset by peer))
03:05 SamB has joined #perl6
03:06 justatheory has quit IRC ()
03:26 ninereasons has quit IRC (""tomorrow"")
03:26 vcv-- has quit IRC (Read error: 104 (Connection reset by peer))
03:32 justatheory has joined #perl6
03:33 justatheory has quit IRC (Client Quit)
03:33 justatheory has joined #perl6
03:35 dkf has quit IRC ()
03:39 eric256 has left
03:58 vcv- has joined #perl6
04:24 xinming has joined #perl6
04:26 putter has joined #perl6
04:26 putter Yipes. A 2 hour silence.
04:27 crysflame calm after storm?
04:27 putter ;)
04:28 putter A quick note...
04:28 putter I was hacking on ruby stuff today, and the following came to mind...
04:28 putter multi method rubyish_delete(Ruby::Hash $h,$key) {$h.delete($k)}
04:29 putter multi method rubyish_delete($h,$k) { my $v = $h{$k}; $h.delete($k) ?? [$k,$v] :: undef; # not quite }
04:29 putter macroized_method delete($key) {rubyish_delete($?SELF,$key)}
04:29 putter all in say, red_hashes.pm
04:30 putter my %h=qw(2 20 3 30);
04:30 putter %h.delete(2) #=> 20
04:30 putter use red_hashes;
04:30 putter %h.delete(3) #=> [3,30]
04:30 putter :)
04:30 sapper has joined #perl6
04:30 putter Insulates user dsl from object method namespaces.
04:30 putter "duckted typing"
04:31 putter If it looks like a feather bed, seen though a duct, it might really be a duck.
04:32 * mugwump sighs and wishes he didn't have unrealistic project deadlines to meet
04:33 vcv- has quit IRC (Read error: 145 (Connection timed out))
04:35 putter mugwump: I've seen some *very* dilbertesqe projects in the last few months.  yearish project, testing crunched to weeks, and deep system changes the weekend before release.  shudder.
04:36 mugwump My manager sounds just like "Lumberg" from Office Space (1999 movie)
04:36 * putter has been meaning to see it... but hasnt yet.
04:42 putter If anyone ends up interested in automated ruby to p6 conversion, let me know.  I've a rb parse_unparse on a slightly mutant ripper.  Starting to output p6.  A grammar Ruby {} might be more useful... but this was easy.
04:42 putter Someone needs to write a bison to rules convertion aid.
04:43 putter Good night all.
04:43 putter has quit IRC ("Leaving")
04:51 justatheory has quit IRC ()
04:53 mr_ank mugwump: we need you to go ahead and come on Saturday
04:53 Enveigler has quit IRC (Read error: 110 (Connection timed out))
04:55 khisanth_ has joined #perl6
04:58 Khisanth has quit IRC (Nick collision from services.)
04:58 khisanth_ is now known as Khisanth
04:59 mugwump that's come *in* on Saturday ;)... otherwise it's quite rude
05:04 SamB has quit IRC (brown.freenode.net irc.freenode.net)
05:04 xinming has quit IRC (brown.freenode.net irc.freenode.net)
05:04 knewt has quit IRC (brown.freenode.net irc.freenode.net)
05:04 integral has quit IRC (brown.freenode.net irc.freenode.net)
05:04 Qiang has quit IRC (brown.freenode.net irc.freenode.net)
05:04 geoffb has quit IRC (brown.freenode.net irc.freenode.net)
05:04 misc has quit IRC (brown.freenode.net irc.freenode.net)
05:04 lumi has quit IRC (brown.freenode.net irc.freenode.net)
05:04 viirya has quit IRC (brown.freenode.net irc.freenode.net)
05:04 calvin_ has quit IRC (brown.freenode.net irc.freenode.net)
05:04 Steve_p has quit IRC (brown.freenode.net irc.freenode.net)
05:04 f0rth has quit IRC (brown.freenode.net irc.freenode.net)
05:04 rafl_ has quit IRC (brown.freenode.net irc.freenode.net)
05:04 q[merlyn] has quit IRC (brown.freenode.net irc.freenode.net)
05:04 saorge has quit IRC (brown.freenode.net irc.freenode.net)
05:04 spinclad has quit IRC (brown.freenode.net irc.freenode.net)
05:04 gaal has quit IRC (brown.freenode.net irc.freenode.net)
05:04 CapoeiraA has quit IRC (brown.freenode.net irc.freenode.net)
05:04 AtnNn has quit IRC (brown.freenode.net irc.freenode.net)
05:04 knotty has quit IRC (brown.freenode.net irc.freenode.net)
05:04 PerlJam has quit IRC (brown.freenode.net irc.freenode.net)
05:05 xinming has joined #perl6
05:05 SamB has joined #perl6
05:05 knewt has joined #perl6
05:05 q[merlyn] has joined #perl6
05:05 saorge has joined #perl6
05:05 integral has joined #perl6
05:05 calvin_ has joined #perl6
05:05 spinclad has joined #perl6
05:05 Qiang has joined #perl6
05:05 gaal has joined #perl6
05:05 geoffb has joined #perl6
05:05 CapoeiraA has joined #perl6
05:05 misc has joined #perl6
05:05 lumi has joined #perl6
05:05 viirya has joined #perl6
05:05 Steve_p has joined #perl6
05:05 f0rth has joined #perl6
05:05 rafl_ has joined #perl6
05:05 AtnNn has joined #perl6
05:05 knotty has joined #perl6
05:05 PerlJam has joined #perl6
05:06 vcv-- has joined #perl6
05:06 mr_ank mugwump: hehehehe
05:16 QtPlatypus has joined #perl6
05:17 QtPlatypus What is perl6 syntax for creating new metaoperators? Like >>...<< and [...]
05:17 QtPlatypus ?
05:19 mugwump in theory, multi sub infix_circumfix_meta_operator:<[]>
05:19 QtPlatypus Thanks.
05:19 mugwump http://dev.perl.org/perl6/doc/design/a​po/A12.html#New_Grammatical_Categories
05:21 Khisanth has quit IRC (Connection timed out)
05:22 mugwump I assume its prototype would be something like (List @a, List @b, ::(Code(Any $a, Any $b) returns Any))
05:23 * QtPlatypus nods
05:23 mugwump If you're thinking of writing something like that, I'd suggest that you start by writing it with methods etc
05:23 mugwump The Set module is an example of this - all the operations are methods as well as many being available as overloaded ops
05:24 QtPlatypus Thanks.
05:27 Khisanth has joined #perl6
05:28 sapper has quit IRC ("bye")
05:30 QtPlatypus What verable would the op get mapped to?
05:30 QtPlatypus In your example for a prototype?
05:31 mugwump just use this prototype for now:
05:32 mugwump (List @a, List @b, Code $op) returns List
05:32 mugwump maybe s/List/Array/g
05:37 pasteling "qtplatypus" at 202.7.69.25 pasted "metaop attempt" (7 lines, 216B) at http://sial.org/pbot/11043
05:38 QtPlatypus mugwump: Could you look at that and tell me if its sane?
05:38 osfameron has joined #perl6
05:38 elmex has joined #perl6
05:39 mugwump Hmm, metaoperators on Hashes, an interesting idea
05:39 mugwump if you want an intersection you can use Set; and then go set(%a.keys) * set(%b.keys)
05:39 QtPlatypus Thankyou.
05:40 mugwump or set(%a.keys).intersection(set(%b.keys))
05:40 mugwump ie for set(%a.keys).intersection(set(%b.keys)).members -> $key { ... }
05:41 * mugwump wonders whether making a version of intersection that works like you wanted is a good idea
05:41 Enveigler has joined #perl6
05:41 autrijus greetings λcamels
05:42 mugwump hi autrijus !  How's things in Österreich?
05:42 QtPlatypus It would be easy enought to write an intersection that is simply a wrapper over doing what you said mugwump
05:42 mugwump bah, encodings
05:42 autrijus mugwump: quite exciting
05:42 autrijus just woke up
05:43 mugwump with the sunrise?  what's wrong?
05:43 autrijus got all the parrot mess cleaned to a point where I can reasonably target
05:43 gaal ?eval eval "look at the stacktrace", lang => "unknown"
05:43 evalbot6 Error: can't eval language unknown
05:43 gaal grrrr
05:43 gaal it says the error is in the prelude,
05:43 gaal and then in the *caller*
05:43 mugwump well, that sounds like a great development autrijus.
05:43 gaal but omits the place in the code where you actually called eval.
05:44 gaal probably some weird interaction with 'is primitive', no?
05:44 autrijus and even more importantly, chip is now writing daily journals :)
05:44 iheartcanada has joined #perl6
05:45 QtPlatypus Where at?
05:45 autrijus hopefully he'll  this habit
05:45 autrijus hopefully he'll maintain this habit
05:45 autrijus http://use.perl.org/~chip/journal/
05:45 Shachaf has quit IRC ("''")
05:45 mugwump his most recent journal came across as excited, like he's just come across real HOP for the first time or something
05:45 autrijus mugwump: that is... the case.
05:46 mugwump so you're basically travelling the world breaking the impirical spell on all of us
05:46 jp-autark autrijus: regarding the '\' in rx, was there a test for it somewhere?
05:46 autrijus jp-autark: t/rules/rx_perl5_escape.t
05:47 jp-autark thanks
05:47 autrijus np... feel free to add to it
05:47 mugwump s/impirical/imperative/ :)
05:47 autrijus jp-autark++ # thanks for renicking to avoid the clash
05:47 autrijus mugwump: well, I try, but yes
05:47 jp-autark np
05:48 autrijus basically just retelling the lambdahead's papers in a way that makes sense :)
05:49 autrijus for example this: http://pugscode.org/talks/apw/slide61k.html
05:49 autrijus yesterday I got a mail from Ken Shan praising this single slide... that made my day
05:49 autrijus (Ken's paper is responsible for me to understand call/cc, call/ec, shift/reset and whatnot.)
05:55 mugwump autrijus: I gave a talk at my local PM where the presentation was generated by a Perl6 script!  :)
05:56 autrijus I saw that
05:56 mugwump I converted a talk that one speaker did on Perl 5 (http://wellington.pm.org/archiv​e/200409/perlintro/index.html) to Perl 6 (http://wellington.pm.org/arch​ive/200506/perl6-intro/html/)
05:56 autrijus most cool!
05:56 autrijus use mkpres--Perl5;
05:57 autrijus that is _totally_ the way perl6 should be used
05:58 vcv- has joined #perl6
05:59 geoffb ping(chip)
05:59 autrijus geoffb: chip is sleeping I think... they worked to midnight last night
06:00 geoffb OK, thanks.
06:00 geoffb Would you mind passing on the following when he awakes?
06:00 * autrijus notes he is in the channel
06:00 autrijus so just type ahead and I'll tell him to backlog
06:01 geoffb "User type Ilya may not just have CPU-bound code, but also memory-bound code; this means he needs to be able to have stable, fast access to packed data streams"
06:01 geoffb nodnod
06:01 geoffb :-)
06:02 * mugwump & # kungfu
06:02 geoffb *cough* 3D Rendering *cough*
06:06 geoffb test run at 3 hours, 20+ minutes and currently at t/subroutines . . . I'm guessing 4-ish hours total
06:08 geoffb but me, I'm headed for bed.
06:08 geoffb see y'all when the sun is up on this side of the planet
06:28 osfameron has quit IRC (Read error: 148 (No route to host))
06:28 vcv-- has quit IRC (Read error: 54 (Connection reset by peer))
06:36 scook0 has joined #perl6
06:37 saorge has quit IRC (Read error: 60 (Operation timed out))
06:37 vcv- has quit IRC (Read error: 145 (Connection timed out))
06:40 iblechbot has joined #perl6
06:43 osfameron has joined #perl6
06:43 alinbsp has joined #perl6
06:51 nothingmuch has joined #perl6
06:51 larsen has joined #perl6
06:52 lumi_ has quit IRC ()
06:57 iheartcanada is now known as Canuckistan
07:04 Nattfodd has joined #perl6
07:12 Aankhen`` has joined #perl6
07:20 Jouke has joined #perl6
07:20 Jouke has left
07:25 Alias_ has joined #perl6
07:25 Alias_ seen autrijus?
07:25 Alias_ (nothing runs seen here?) :/
07:26 QtPlatypus autrijus was last seen 2 hours ago.
07:28 autrijus :)
07:28 Nattfodd THERE
07:28 Nattfodd an autrijus
07:28 Alias_ oh good
07:28 Alias_ Is this hackathon limited to just pugs?
07:29 * nothingmuch arrives mentally
07:29 nothingmuch Alias_: afaik no
07:29 nothingmuch whatever works and helps humanity, and vaguely perl 6 things in general
07:29 autrijus Alias_: from my pov it's pugs :)
07:29 Alias_ Because I have something that needs doing that is extremely hacky and I don't have time or the knowledge to do it
07:29 autrijus but it's a pugs targetting parrot
07:29 Alias_ http://use.perl.org/~Alias/journal/25188
07:29 Alias_ That journal entry explains it
07:30 Alias_ If anyone at the hackathon is up for it, it could be quite interesting.
07:30 Alias_ I'd be happy to help later on, but I'm already only sleeping every second night
07:30 Alias_ So I'm a bit overworked
07:30 * QtPlatypus is reading old perl6.langauge posts "It looks like the whole 'How do we handle reduce with less then two elements' was broat up at least twise"
07:31 Alias_ (and it involves PAR) :)
07:31 * Alias_ & $work
07:31 Alias_ (if you have questions, I'll hear you)
07:32 autrijus Alias_: eh.
07:32 autrijus Alias_: 1st. smokers already run all uploaded cpan package
07:32 Alias_ did you read the article?
07:33 nothingmuch Alias_: ingy might be interested for freepan's sake
07:33 autrijus I did
07:33 nothingmuch and stevan & I wrote tools that are useful for it, but are not getting enough releng time
07:33 Alias_ including the bit that talks about cpan testers?
07:33 nothingmuch the problem I had with smoke setups was the reliability of CPANPLUS
07:33 autrijus "Yes, we have CPAN Testers, but they only test CPAN packages, and only test what they want to test. "
07:33 Alias_ right
07:33 Alias_ and they test it _wrong_
07:34 nothingmuch i used to smoke test all recent addittions on 7 comupilations of perl (5.005 -> blead)
07:34 Alias_ They don't reset to a default perl install after each module
07:34 autrijus yes. so talk to RRWO
07:34 nothingmuch without installing anything but the bare metal
07:34 autrijus he's solving this problem
07:34 autrijus # http://search.cpan.org/dist/CPAN-YACSmoke/
07:34 nothingmuch i can share my scripts, but the weak link is beyond my reach
07:35 nothingmuch also CPAN::Nargihle
07:35 autrijus I don't know if they currently have nuke-the-sitelib setup in YACSmoke
07:35 autrijus if not it's just one line
07:35 autrijus but in any case, please talk to rrwo
07:35 nothingmuch you don't need to install anything
07:35 nothingmuch build deps, and use blibs
07:36 autrijus nothingmuch: sure, that's what cpansmoke does already
07:36 nothingmuch right, site_lib does not have to be nuked
07:36 autrijus er no
07:36 nothingmuch eh?
07:36 autrijus if you run this with a existing sitelib
07:37 autrijus and say you already have DBI.pm in your sitelib
07:37 nothingmuch oh
07:37 nothingmuch you run it on a clean perl
07:37 Alias_ I have that problem already
07:37 autrijus right. so yacsmoke needs to check
07:37 autrijus the sitelib
07:37 autrijus and remove it from @INC
07:37 autrijus or otherwise ensure it's nuked
07:37 Alias_ I forget to add a particular dependencies, but because the cpan tests tested that missing dependency yesterday
07:37 Alias_ ... none of them notice
07:37 autrijus but the test feedback protocol etc you talk about
07:37 autrijus is already part of cpan testing framework
07:38 autrijus no need to reinvent that
07:38 nothingmuch but Alias_ - agree with me that optional modules's features should be tested
07:38 nothingmuch Test::Distribution
07:38 autrijus you can work on hiding @INC, setting up jails, resource limits
07:38 nothingmuch and that both clean and dirty perls have values
07:38 autrijus as part of yacsmoke
07:38 Alias_ autrijus: I want something like full blown image-based testing
07:38 autrijus Alias_: that's the "setting up jails" part.
07:38 nothingmuch Alias_: that's *so* hard to get right
07:38 Alias_ So that I, personally, can test linux and BSD and Windows all at once
07:38 autrijus jails, or user mode linux, or vmware.
07:38 nothingmuch everyone has a different setting
07:38 nothingmuch vmware, bochs, colinux, whatever
07:38 autrijus now vmware is nonfree
07:39 Alias_ Then vmware is a subclass of the main module
07:39 nothingmuch that's still a shitload of overhead
07:39 nothingmuch there are so many parameters
07:39 Alias_ The testing protocol I desribe is not vwmare, or image-based testing specific
07:39 autrijus I don't know much about bochs and friends.
07:39 Alias_ nothingmuch: I'm happy to take the overhead
07:39 nothingmuch no, i don't mean processing overhead
07:39 autrijus Alias_: what's wrong with the machine just use the existing cpantest protocool
07:39 nothingmuch programmer overhead
07:39 autrijus Alias_: and mark, in the report, that it's image-based or something.
07:39 nothingmuch what if it's vmware version foo? what if the guest OS image can't run on version foo?
07:39 autrijus you can easily tackle new metadata on the existing report.
07:40 nothingmuch how is networking configured?
07:40 Alias_ nothingmuch: You define a particular IP for the image
07:40 nothingmuch i don't
07:40 Alias_ That's done already. VMWare lives on a specific private network
07:40 nothingmuch i would use DHCP
07:40 nothingmuch bochs doesn't
07:40 nothingmuch colinux doesn't
07:40 nothingmuch they're free, and more likely to be used
07:41 nothingmuch do you use Template::Toolkit to write out an OS image?
07:41 nothingmuch this is just too complicated to be dealt with reusably
07:41 autrijus Alias_: anyway, that's the extent I know about this problem. :)
07:41 Alias_ My point being, I want to be able to "apt-get install sometestingplatform"
07:41 nothingmuch you need to have N recipes
07:41 nothingmuch which come with an ISO
07:41 Alias_ And then run "testpackage foooasdsad.tar.gz
07:41 nothingmuch which you can install
07:41 nothingmuch and then it's installed
07:41 nothingmuch but too dynamic is bad
07:41 nothingmuch you have that
07:41 nothingmuch cpanp
07:41 nothingmuch install YACtestghing
07:42 nothingmuch autrijus: fill in the rest
07:42 Alias_ and that will test on linux and bsd and win32, and perl 5.005, 5.6 and 5.8
07:42 autrijus ok. yacsmoke ensures you have a scratch dir
07:42 autrijus you repeat it once
07:42 autrijus for each combination of perl/os
07:42 nothingmuch that's too much, Alias_
07:42 Alias_ or do I "just have to do this whole bunch of admin-specific knowledge tasks"
07:42 autrijus design a table
07:42 autrijus on a wiki or something
07:42 autrijus for people to sign up
07:43 eric256__ has joined #perl6
07:43 autrijus (in fact testers.cpan.org already have such a table)
07:43 nothingmuch make it a script that ssh
07:43 nothingmuch 's to your guest OSs
07:43 Alias_ coral wants to test a propriatery package
07:43 nothingmuch but this is just too much detail to be dealt with by the package
07:43 Alias_ it's not leaving his company
07:43 Alias_ I have similar issues
07:43 nothingmuch okay
07:43 nothingmuch set up some default installs,
07:43 autrijus Alias_: then set up the testing framework inside your own company :)
07:43 nothingmuch install CPANPLUS, Module::Build and what not
07:43 Alias_ And we are back to "just do this  whole bunch of admin-specific knowledge tasks that I don't know"
07:44 nothingmuch and create a short script that SSHs to your vmware virtual boxes, and runs the tests
07:44 autrijus Alias_: you can use the .iso files of liveCDs that, say, distrowatch provides
07:44 nothingmuch it's less than 1 hour of work, IO waits (installation etc) aside
07:44 Alias_ nothingmuch: So is light brain surgery
07:44 autrijus Alias_: the thing is that, it _really_ is different for solaris and linux and win32 to set up perl
07:44 Alias_ autrijus: Hence using an image-based approach
07:44 autrijus Alias_: so what you can do is list a set of things that needs to be installed
07:44 nothingmuch Alias_: if you want that write the scripts in haskell
07:44 autrijus Alias_: and call for people to contribute images.
07:44 Alias_ Once the kit for doing it exists, people can build the images for you
07:45 autrijus Alias_: and hopefully select something that does not require on vmware :)
07:45 nothingmuch there is no kit though! it's simply too varied a problem
07:45 * chip arthroscopically explores autrijus's brain
07:45 nothingmuch it's a whole virtual computer
07:45 nothingmuch it's not just a bit of software
07:45 Alias_ If there is a "setup_for_testing_platform.pl" and "test_I_comply_with_testing_platform.pl" tools
07:45 nothingmuch there are N different protocols
07:45 autrijus Alias_: the second part is yacsmoke
07:45 Alias_ and people can just install those with "apt-get whatever"
07:45 nothingmuch here's a scheme that could work:
07:45 autrijus Alias_: the first part, the setup_for_testing_platform, is basically yacsmoke.
07:45 nothingmuch you have a daemon on each test box
07:45 autrijus Alias_: except you need to install it yourselves.
07:45 nothingmuch and a config file
07:46 autrijus Alias_: now apt-get doesn't work on fbsd here.
07:46 autrijus Alias_: so you still need a freebsd people to generate that image for you.
07:46 nothingmuch and the your test platform thing reads the config file, and then tells all the hosts to install a package
07:46 nothingmuch but the test platform has to provide all deps, and all files in that protocol
07:46 Alias_ autrijus: Then it's perl -MCPAN -e 'install Test::Platform'
07:46 nothingmuch no networking is involved
07:46 Alias_ My point is that this stuff isn't easy, and it should be
07:46 nothingmuch and the guest OSs are truely independant of the real world
07:46 Alias_ I'm no admin, I don't know most of this stuff
07:46 autrijus Alias_: what exactly do you find "sudo cpan CPAN::YACSmoke" hard?
07:47 Alias_ And that tests both 5.005 and Win32 for me?
07:47 nothingmuch Alias_: i did that for ages
07:47 nothingmuch but then I got  complaints
07:47 autrijus Alias_: ok, let me spell out the steps you need to take.
07:47 nothingmuch "why do you fucking testers not check everything before you send?"
07:47 Alias_ sigh
07:47 autrijus 1. Select a technology: VMWare, Bochs, Plex86
07:47 Alias_ autrijus: This was my point
07:47 autrijus 2. Call for people submitting images in that technology with plain installed perl5.* with YACSmoke.
07:48 nothingmuch "why do you keep running this badly?"
07:48 autrijus 3. Find some resourceful folk to host those images and run the yacsmoke loop.
07:48 nothingmuch it's just not something that works automatically yet
07:48 nothingmuch and my knowlege as a sysop
07:48 nothingmuch if you fix CPANPLUS so that it always works
07:48 autrijus 4. Field the social backlash.
07:48 nothingmuch i will gladly cook up something for you
07:48 nothingmuch with my scripts
07:48 autrijus 5. Profit!
07:48 nothingmuch but there are too many weak links, IMHO
07:48 nothingmuch too many question marks
07:48 Alias_ nothingmuch: So is there on any large concept
07:48 nothingmuch okay
07:48 nothingmuch plan out a scheme
07:48 Alias_ nothingmuch: Have you seen this ThreatNet thing I'm doing
07:48 nothingmuch what client server topology would you like?
07:49 Alias_ nothingmuch: There is a reason that there is no ThreatNet:: distro
07:49 autrijus Alias_: so does this 5-step plan make sense?
07:49 Alias_ nothingmuch: There is only a whole bunch of small components
07:49 nothingmuch is this testing platform p2p? is it like threatnet? is it local?
07:49 nothingmuch what's the underlying?
07:49 Alias_ Because the larger problem is too big
07:49 nothingmuch underlying protocol?
07:49 nothingmuch Alias_: see? exactly my point
07:49 Alias_ But we don't _have_ those components...
07:49 nothingmuch decisions like guest OS, distro, protocol (ssh? http?), networking (how does guest get files?), technology?
07:49 Alias_ So far as I can tell, not that I can install with one line
07:50 nothingmuch okay, let's say we go with an SSH based solution
07:50 nothingmuch here's the steps:
07:50 nothingmuch #!/bin/sh
07:50 nothingmuch for host in virtual1 virtual2 virtual2; do
07:50 nothingmuch    ssh $host yacsmokethingamabob $1;
07:50 nothingmuch done
07:50 autrijus right, that's what the thing in my step 3 will look like.
07:50 autrijus Alias_: now the key missing part is #1.
07:50 nothingmuch and the rest is just as autrijus said
07:50 autrijus Alias_: so jfdi and do this survey thing! :)
07:51 nothingmuch i beg to differ, step #1 is not even necessary
07:51 nothingmuch you have a repo for vmware images
07:51 nothingmuch a repo for bochs images, a repo for ...
07:51 nothingmuch what if I want to test only real boxes?
07:51 autrijus nothingmuch: that's already there.
07:51 nothingmuch i have an array at work: sun, hp, aix, windows, linux, sun x86, osf
07:51 autrijus nothingmuch: those array of machine can already join the cpantester network.
07:51 autrijus nothingmuch: Alias_ is asking for _more_
07:52 autrijus he's asking for image-based combinatorial envs
07:52 nothingmuch actually they can't due to resource problems =/
07:52 autrijus so that is step 1.
07:52 nothingmuch okay okay
07:52 Alias_ I want to be able to test packages. Full stop. In any possible combination
07:52 nothingmuch but that's an optional step
07:52 nothingmuch the other 4 can be reused
07:52 Alias_ Without CPAN if needed
07:52 autrijus Alias_: right, so make it, like, happen :)
07:52 autrijus start a vmware image
07:52 autrijus with your fav os
07:53 Alias_ autrijus: Did I mention the whole "I'm already only sleeping every second day" part, and "would anyone at the hackathon be interested in..." bit?
07:53 autrijus install yacsmoke
07:53 autrijus Alias_: you didn't mention the first part, no you didn't.
07:53 autrijus Alias_: in that case... I'm interested, but I don't think chip and leo are CPLAN hackers
07:53 Enveigler has quit IRC (Connection timed out)
07:53 autrijus Alias_: and other people have left already
07:53 autrijus (as scheduled)
07:54 nothingmuch Alias_: i can donate my scripts to run on a guest OS
07:54 nothingmuch which build perl, and whatever
07:54 Alias_ The problem seems to be that the people that want this can't do it, the people that know how ALREADY set it up for themselves and won't share, and won't share
07:54 autrijus Alias_: so I can help sendmail and find people and call for a yapcna bof or something
07:54 nothingmuch but I don't have time either
07:54 nothingmuch 3 hours of sleep a night =/
07:54 Alias_ nothingmuch: Wait till you have to cut that back to "... every second night"
07:55 autrijus Alias_: YACSmoke is shared... so you are saying that the people aren't sharing the installed ready to use vmware images?
07:55 nothingmuch not getting there, sorry
07:55 autrijus Alias_: well, because you didn't call for them.
07:55 nothingmuch this is bad enough
07:55 Alias_ It's not so much that things don't exist, but that they require too much work
07:55 Alias_ and aren't automated down to one command
07:56 Alias_ I didn't get any threatnet bots of note till I added cut and paste configs and filter module examples to ThreatNet::Bot::Ammobot
07:56 Alias_ Now we have 5-7
07:56 Nattfodd has quit IRC (Read error: 104 (Connection reset by peer))
07:56 Alias_ The point is not that things exist. They always exist somewhere, it's just that they require way too much effort
07:56 autrijus sudo cpan CPAN::YACSmoke ; while 1 { yacsmoke.pl -l=Recent }
07:56 autrijus there. one line.
07:57 Nattfodd has joined #perl6
07:57 Alias_ "This module uses the backend of CPANPLUS to run tests on modules recently uploaded to CPAN and post results to the CPAN Testers list."
07:57 Alias_ So I can hand that a proprietary package and it will test it and send the result to to my local testing server?
07:58 autrijus of course
07:58 autrijus there's nothing special about the cpan-tester@cpan.org email
07:58 autrijus you can tell it to send to your local mailing list or RT inbox or something
07:59 Alias_ and it uses CPAN, and the recent list
07:59 jql has joined #perl6
07:59 autrijus no.
07:59 autrijus you tell it to
07:59 autrijus yacsmoke.pl -t Your_Package
07:59 autrijus .tgz
07:59 eric256_ has quit IRC (Success)
07:59 autrijus if you want to keep track of your svn
07:59 autrijus do
07:59 autrijus CPAN::YACSmoke::Plugin::Recent
07:59 autrijus and override the recent list
07:59 autrijus that's all
08:00 autrijus this is not one line, granted
08:00 autrijus it's more like five
08:00 autrijus patches welcome to make it one.
08:00 autrijus but it's not the complicated thing your journal make it to be.
08:01 autrijus also read
08:01 autrijus http://search.cpan.org/~autriju​s/CPANPLUS-0.0499/bin/cpansmoke
08:01 autrijus the thing is that CPANPLUS is already quite modular; you can tell it to test an arbitary on-disk directory
08:01 autrijus or a .tgz file
08:02 autrijus and it's really just one line.
08:02 autrijus if you want image-based testing, you need to call for images, and that's all
08:02 autrijus if there are problems in cpan::yacsmoke, talk to rrws and get them fixed for once.
08:02 Alias_ Well, we need a standardised set of rules for images, and a one line thing for turning a default install into something that runs as a compatible server
08:03 autrijus yes. so you need to start the first image.
08:03 osfameron_ has joined #perl6
08:03 autrijus so other people can follow suit.
08:03 autrijus alternately, find someone else to start the first image
08:03 autrijus for example, rrws!
08:03 autrijus and document the steps taken, and tell other sysadmin heads
08:03 autrijus to adapt to their OS and submit images.
08:04 Alias_ I'm aware of the steps needed :)
08:04 autrijus good. :)
08:04 Alias_ I was kind of hoping the hackathon would like to be involved
08:04 autrijus I can pitch it in YAPC::NA for you.
08:04 * nothingmuch thinks he might have insppired the magpie user
08:04 Alias_ That would be really great
08:04 autrijus and see if we can have a BOF or something.
08:04 nothingmuch =/
08:04 autrijus but this particular hackathon is, I'm afraid, not populated with CPLAN hackers
08:04 Alias_ ok
08:04 autrijus and so will be of less use. sorry
08:04 * jql is a magpie -- anything shiny today?
08:05 Alias_ YAPC::NA would be good too
08:05 nothingmuch jql: the problem is i'm not
08:05 Alias_ #perl was just no use. They all knew how, but nobody was willing to as much as write a bloody HOWTO
08:05 nothingmuch i think i pissed chip off because i wasn't explaining myself properly
08:05 nothingmuch and he was too impatient to tolerate that
08:06 autrijus Alias_: the only thing that motivates me to write a HOWTO is when I actively want other people TO.
08:06 chip *bamf*
08:06 Alias_ yes, well if I knew all the details, and had to time to actually do it...
08:06 nothingmuch hi chip
08:06 chip nothingmuch: I had someone else entirely in mind
08:06 nothingmuch *phew*
08:06 autrijus Alias_: yeah. so that's the extent we can do: pitch the idea at gatherings.
08:06 Alias_ autrijus: My problem is that when I know _how_ I generally just do it myself
08:06 chip nothingmuch: and I promise not to reveal his identity as long as he is alive
08:07 autrijus Alias_: right :)
08:07 chip m/sg mark_felt your secret is safe with me
08:07 chip oops
08:07 Alias_ And this whole testing rig situation is one where the people that know how, do, and couldn't be bother to modularise it
08:07 wilx has quit IRC ()
08:07 Alias_ WHICH IS NOT THE CPAN WAY DAMMIT!
08:07 autrijus Alias_: CPANPLUS is modularised; YACSmoke is modularised.
08:08 vcv-- has joined #perl6
08:08 autrijus Alias_: the vmware thing is not
08:08 autrijus but it's because you're the first to request it
08:08 autrijus and I'm sure there are people who'll be interested in doing it.
08:08 chip Alias_: If we automate everything, we'll have nothing left to do
08:08 vcv- has joined #perl6
08:08 Alias_ chip: But that's the point!
08:08 Alias_ :)
08:08 nothingmuch Alias_: but you can't automate everything
08:08 chip Alias_: We'll have to retrain ourselves to program Haskell On Rails or something
08:08 Alias_ prove it
08:08 nothingmuch Alias_: then there is no free wills
08:09 nothingmuch free will
08:09 nothingmuch i can't choose to do it this way and someone else that way
08:09 Alias_ nothingmuch: The only thing you can't automate are subjective decisions
08:09 chip nothingmuch: you were destined to write that
08:09 Alias_ You can most certainly automate any task
08:09 nothingmuch right, but in a system like that you can have ackerman(N) decisions
08:09 nothingmuch you need to give components
08:09 autrijus Alias_: so, think about it... if I start shouting randomly that
08:09 Alias_ right
08:09 autrijus PPI Is Not Modular
08:09 autrijus It's Not Of The CPAN Spirit
08:10 nothingmuch but components are still very far from automization
08:10 * chip 's avatar of his business analyst friend giggles at the idea of the irreducible process
08:10 Alias_ I respond, of course it is. More so than most
08:10 nothingmuch chip - what was I destined to write? haskell on rails?
08:10 autrijus Alias_: right. so I respond, cpanplus/cpansmoke/cpantester is already modular. more so than most.
08:10 chip nothingmuch: that sentence you wrote.  it was the outworking of the machinery of the cosmos
08:10 osfameron has quit IRC (Read error: 145 (Connection timed out))
08:10 Alias_ components take care of the work, standards take care of the decisions
08:10 autrijus Alias_: there are always room to modularise it further.
08:11 Alias_ Did I mention how much I hate working backwards from specific to generic
08:11 clkao *yawn*
08:11 autrijus and with that... I'm back hacking pugs :)
08:11 clkao morning autrijus
08:11 nothingmuch Alias_: in that case that is the one premise that makes standards be the root of all evil
08:11 nothingmuch Alias_: you should read a bit about TRIZ
08:11 Alias_ There's plenty of standards, use any one you like
08:11 nothingmuch it's a mindset where specific and generic are interchanged to compensate for psychological intertia
08:12 Alias_ Stuff like "The image should run on DHCP and accept testing instructions via port 12345" is what I'm talking about
08:13 autrijus "The image should open port 22 for ssh and have a cpansmoke/cpansmoke account."
08:13 Alias_ why an account...
08:13 autrijus "and have the cpansmoke script in PATH"
08:13 Alias_ cpan is a special case of testing
08:13 autrijus or something like that.
08:14 nothingmuch Alias_: there are too many constraints on such a "this should run in ... env" policy
08:14 autrijus testing is a special case of running remote commands.
08:14 nothingmuch what if my computer can't provide it, because it's a laptop and migrates envs?
08:14 nothingmuch what if it doesn't support interface bridging, only tunnelling? or vice versa
08:14 nothingmuch what if my company policy says i have to route through some weird set up
08:15 nothingmuch 80% of our use cases will disagree with the standard at some point
08:15 Alias_ Then do it on a private network
08:15 nothingmuch unless we make a standard ridden with variables
08:15 Alias_ The whole point of designing these things is to come up with a design that has a few dependencies as possible
08:15 Aankhen`` Any objections to my updating docs/01Overview.html?  In other words, did I miss any discussions where the conclusion was that Pugs development needs to be Top Secret?
08:15 * Aankhen`` will return after 10 minutes to check.
08:16 Alias_ nothingmuch: For example, http://search.cpan.org/~adamk/ThreatNet-​DATN2004-0.01/lib/ThreatNet/DATN2004.pm
08:17 Alias_ nothingmuch: Then your standard includes things like, "Should require access to a CPAN repository, but should not require access to the internet"
08:17 Alias_ So you can do it on an isolated network if needed
08:17 nothingmuch what does access to a CPAN repository mean?
08:17 nothingmuch minicpan?
08:17 nothingmuch how is it updated?
08:17 nothingmuch does it get updated?
08:17 Alias_ However the person doing the testing wants
08:17 Alias_ That should not be the problem of the thing doing the testing
08:17 Alias_ err the actual test run
08:18 Alias_ Only the thing controlling the test run
08:18 nothingmuch are there hooks so you can update or not update as you like?
08:18 nothingmuch what about dependancies?
08:18 nothingmuch what if they're outside the cpan repository?
08:18 nothingmuch why should i waste 600MB on a minicpan if all i'm testing is inhouse modules which use perl core?
08:18 nothingmuch i can go on and on and on, for setups that applied to me in the past
08:18 nothingmuch (machines with 350MB of hd space, including OS, which I used to smoke)
08:18 Alias_ waste 600mb?
08:18 Alias_ That is not my concern
08:18 nothingmuch right, that is not your concern
08:18 nothingmuch because it shouldn't be
08:18 Alias_ exactly
08:19 nothingmuch this is the other person's problem
08:19 nothingmuch because that's what they have to give
08:19 nothingmuch but making this standard gives no wiggle room
08:19 nothingmuch you can have "recipes"
08:19 Alias_ Of course it does...
08:19 nothingmuch full suites that work
08:19 Alias_ You can supply a "CPAN repository" any way you like...
08:19 nothingmuch likee "an automation thingy which takes a bunch of host names in a .yaml file, and assumes they are OK"
08:20 Alias_ If the repository is a minicpan on the testing controller, accessed on a private network seperate from the internet, that's up to you
08:20 nothingmuch or "an automation thingy which sends the full tarballs of the module and all it's dependencies to the testing host"
08:20 nothingmuch that scenario is still a huge constraint
08:20 nothingmuch private network, testing controller, etc
08:20 nothingmuch what if i want a p2p setup?
08:20 nothingmuch all hosts on the network smoke on native perl
08:20 Alias_ You don't _have_ to do it that way... only if you have your previously mentioned weird networking contraints
08:20 nothingmuch plus 1 guest OS
08:21 Alias_ I don't see anything about my design that prevents you
08:22 nothingmuch i think it's too much design
08:22 Alias_ limit access to the server port to your p2p members...
08:22 Alias_ It's not more design, it's less design
08:22 Alias_ It's about having the most minimum design possible. Enough to support the most common specific generic task, and nothing more
08:23 Alias_ And then your next layer starts with a working layer1, and adds the next step
08:23 nothingmuch "most common" is -><- with the concept here
08:23 Alias_ such as "using native perl", or "via an image"
08:23 nothingmuch okay, so instead of ackerman(components) you have factorial(layers)
08:23 nothingmuch they are still components
08:23 nothingmuch and that's what they should be
08:24 Alias_ I have no idea about WTF this "ackerman" stuff is
08:24 Alias_ Perhaps $Alias{components) is not $nothingmuch{components}
08:24 nothingmuch ackerman is the largest function that is a primitive recursion
08:24 * Alias_ shrugs, not my area
08:25 eric256_ has joined #perl6
08:25 Alias_ I don't know much computer science, I just make them do cool things
08:25 Alias_ often despite being told it can't be done
08:25 nothingmuch ackerman(N) = really big numer
08:26 nothingmuch sorry, distractions
08:26 nothingmuch anywho
08:26 nothingmuch what is "components" for you?
08:27 Alias_ functionality, encapsulated and distributable
08:27 iblechbot has quit IRC (Read error: 54 (Connection reset by peer))
08:27 Alias_ without implicit assumptions of context
08:28 nothingmuch good
08:28 nothingmuch then we are in agreement
08:28 xerox has quit IRC (Read error: 131 (Connection reset by peer))
08:28 nothingmuch can you have mega-component = (component + component + component)?
08:28 nothingmuch i think in most situations that's not very easy
08:28 nothingmuch the user has to glue the components on their own
08:28 Alias_ components don't care about such things
08:29 eric256__ has quit IRC (Read error: 60 (Operation timed out))
08:29 Alias_ That's what APIs and standards are for
08:29 nothingmuch but smoke testing is so tightly coupled with:
08:29 gaal has left
08:29 nothingmuch tarball unpacking
08:29 nothingmuch version of perl
08:29 nothingmuch installed modules
08:29 nothingmuch and hence what is module installation
08:29 nothingmuch tarball retrieval
08:29 gaal has joined #perl6
08:29 nothingmuch source, method, direction (push? pull)
08:29 integral "tightly coupled"?
08:30 Alias_ tarball unpacking is a non-Perl issue... "testing system must be able to untar a tarball"
08:30 Alias_ version of perl should not matter one bit
08:30 nothingmuch integral: tightly coupled = connected, interdependant
08:30 Alias_ installed modules should not matter
08:30 integral nothingmuch: I don't really see how ;-/
08:30 integral s/;/:/
08:30 nothingmuch Alias_: yes it should, if you have N versions of perl and you want to test on one, or on all, or...
08:30 Alias_ That's up to the configuration
08:30 integral you write a loop...
08:31 Alias_ that has nothing to do with an actual test
08:31 Alias_ Layer 1 is "how to run a single smoke test as flexibly as possible"
08:31 nothingmuch test results are a matrix of:
08:31 nothingmuch platform
08:31 nothingmuch os
08:31 nothingmuch module version
08:31 nothingmuch dependancy1 version
08:31 nothingmuch ...
08:31 nothingmuch dependencyN version
08:31 nothingmuch (matrix of installed optional deps)
08:31 Alias_ only if you want to do it that way
08:31 nothingmuch perl version
08:31 integral that sounds more 3+N dimensional than a matrix, nothingmuch
08:32 Alias_ Personally, I just want to cherry pick a representative sample
08:32 nothingmuch toolkit style (GNU, BSD)
08:32 nothingmuch integral: N dimentional matrix...
08:32 nothingmuch think of it as a cube in parallell universes ;-)
08:32 Alias_ There's methods for finding a minimum representative set out of a full matrix
08:32 integral isn't the relationship between the reporting and the smoke testing the same as between a TAP harness and a TAP producer?
08:32 Alias_ Personally, I'd like a mimumum of "1 setup, native" and a maximum of "complete matrix coverage"
08:33 Alias_ bingo
08:33 nothingmuch Alias_: so why bother with several OSs?
08:33 Alias_ restate the question
08:33 nothingmuch integral: yes
08:33 nothingmuch i think even ditstribution across the matrix is statistically desireable
08:33 integral and Pugs' make smoke is a good example, nothingmuch, of how you can have the same testing components, but plugged into a different display and execution format
08:34 nothingmuch integral: look at how fat smoke_loop is
08:34 Alias_ my point is, with a single given tarball, what is the minimum needed setup needed
08:34 nothingmuch it's closer to what Alias_ wants - a full system
08:34 Alias_ Issues beyond the testing of a single tarball are beyond the scope of layer 1
08:34 nothingmuch i put it in the repo because it works for me, and others might want to base off it
08:34 nothingmuch Alias_: how do you test only a single tarball?
08:34 Alias_ That's the question you see
08:35 Alias_ For starters, you have the "unpack file, perl Makefile.PL, make, make test, make install" cycle
08:35 Alias_ and collection of the output.
08:35 Alias_ That part is solved, but only exists is part of a larger overly specific dist I believe
08:35 Alias_ which sucks
08:36 nothingmuch what if Makefile.PL has a prompt?
08:36 nothingmuch what if there are unresolved deps?
08:36 Alias_ Then that will be in the report
08:36 integral isn't that just part of what you're trying to find out, nothingmuch?
08:36 Alias_ Makefile.PL should already deal with that. They are sposed to run in silent mode if needed
08:36 Alias_ If not, it's a bug
08:36 nothingmuch i agree on the prompting bit
08:37 nothingmuch but what about deps?
08:37 Alias_ Second, you need a local controller. Takes instruction from somewhere, and runs something against the local platform
08:37 Alias_ Without altering the local platform by it's existance
08:37 integral Alias_: like an existing ssh, telnet or rlogin server?
08:37 Alias_ So it probably needs to be a PAR'ed application, built against the local platform, but not part of the local platform
08:37 Alias_ It needs to be code
08:38 Alias_ Running a testing procedure should not have to involve perl-related dependencies on the local system
08:38 Alias_ How it gets it's instructions, and where it reports, should be as minimal as possible
08:38 Alias_ So probably SSH-based
08:38 Alias_ yes
08:39 Alias_ So you have "A $foo application, built with PAR against the local platform on a different machine, installed at $foo on the testing platform"
08:39 nothingmuch do you see the "ssh based controller thing" as a component?
08:40 nothingmuch if no- refactor
08:40 Alias_ functionally, more or less
08:40 nothingmuch if yes - i think it is
08:40 nothingmuch just describe what it will do
08:40 Alias_ Although you'll have to par it up for each platform type
08:40 nothingmuch with a graph like flow
08:40 Alias_ right
08:40 nothingmuch and offer $5 to the first person who implements it, as a moral equiv of a beer
08:40 Alias_ But you'd provide a CPAN module/script combo for it
08:40 integral nothingmuch: isn't everything you can describe as "a purple foobaring thing" a component?
08:40 nothingmuch integral: a script is typically not componentized
08:40 Alias_ You provide the default implementation, and a script to built it on the local platform
08:41 nothingmuch it controls many parameters in a hard coded way
08:41 nothingmuch to make it readable, and specific
08:41 Alias_ anyways
08:41 nothingmuch and not too complex
08:41 integral nothingmuch: it's not?   But it's got an interface via the command-line, and output via stdout
08:41 nothingmuch it's glue
08:41 Alias_ to continue...
08:41 nothingmuch right, but then it's hardly reusable
08:41 nothingmuch it might be reinvokable, but it's not polymorphic to it's environment
08:41 nothingmuch or it's sibling components
08:41 nothingmuch it is a parent component
08:42 nothingmuch encompassing an environment, a context, and other components
08:42 Alias_ So your definitions are, "installation of $script, built with PAR for the platform, and installed at $path"
08:42 nothingmuch i think this is more desirable:
08:43 nothingmuch daemon in a par dist
08:43 nothingmuch working on known port,
08:43 nothingmuch with a simple HTTP based interface
08:43 nothingmuch that way the shell, the env, and paths aren't involved
08:43 nothingmuch the par thing should know to find the components
08:43 nothingmuch and then it does an http post of the results, to a place specified in the request
08:43 nothingmuch the protocol is simple
08:43 nothingmuch you do a HTTP post of a tarball
08:43 integral what is the format of the results?   Something TAP-like?
08:43 nothingmuch integral: either plain text harness output, which is typically not enough
08:43 nothingmuch or serialized Test::TAP::Model
08:44 nothingmuch or the yaml_harness's output
08:44 nothingmuch or just raw tap output
08:44 Alias_ plain text harness output could well be enough
08:44 Alias_ YAPCSmoke does already know enough to know PASS or FAIL
08:44 nothingmuch Alias_: on many occasions I got back a "please test it with TEST_VERBOSE=1 and send me the results"
08:44 integral so when I design my own viewer component for the results, I have to handle unprocessed harness output?
08:45 Alias_ integral: No, because someone wrote that for you
08:45 Alias_ welcome to layer 3
08:45 nothingmuch integral: Test::TAP::Model is a reusable component designed to be pluggable as processed harness output
08:45 nothingmuch Test::TAP::HTMLMatrix is one example of a viewer component
08:45 nothingmuch and it too is reusable
08:45 Alias_ basically, "do as little on the testing system as possible"
08:45 nothingmuch Alias_++ # good guideline
08:45 Alias_ That's the whole point...
08:46 nothingmuch it's the first time i've seen it in this conversation (note that I faded in & out)
08:46 Alias_ hence the "Build the test controller as a standalone PAR server, and here's the script that builds it on an equivalent platform"
08:46 Alias_ s/server//
08:46 nothingmuch it's important to make sure it's clarity is sustained
08:46 nothingmuch fair enough
08:47 Alias_ You should not have to make a single change to a Perl installation in order to run tests against it
08:47 Alias_ Or if we do, we have to make those changes extraordinarily well defined
08:47 Alias_ For example, ThreatNet's spec defines very little, but the bits it does are extremely detailed and absolutely unalterable
08:48 Alias_ anyways
08:48 * nothingmuch is going to get a salad
08:48 nothingmuch (lunchtime)
08:49 nothingmuch i think the protocol should be two way:
08:49 nothingmuch test thing says - here's a file
08:49 nothingmuch tester reports results
08:49 Alias_ right
08:49 nothingmuch or sessioned error
08:49 nothingmuch "dependency missing, etc"
08:49 nothingmuch these are extensible
08:49 Alias_ But they have this stuff already in YACSmoke
08:49 nothingmuch the test requestor can handle them if it knows how
08:50 nothingmuch okay, so test thing sends full params to YACSmoke
08:50 Alias_ The other problem is that the external controller is going to need to know when the test is finished
08:50 nothingmuch anyway, going out.
08:50 nothingmuch ciao!
08:50 Alias_ No point waiting around on a 30 minute timeout
08:50 nothingmuch it doesn't, it get's called back
08:50 nothingmuch it puts a "dial here when you finish" param
08:50 Alias_ SSH wouldn't need that
08:51 Alias_ customise the ENV if the external thingy wants, then call the local controller, and wait for results
08:51 Alias_ timeout if response is silent from greater than $time
08:51 Alias_ for
08:52 Alias_ actually... SSH is a bad idea
08:52 Alias_ it adds a dependency
08:52 Alias_ so telnet, or even console
08:52 Alias_ "sh access"...
08:52 * integral has several systems with only a serial port to the outside
08:52 Alias_ I've seen console controller serial ports on certain gear
08:52 Alias_ right
08:52 Alias_ it was common at Cisco
08:53 integral (and I might not be testing perl)
08:53 Alias_ I don't care about you then :)
08:53 eric256_ has quit IRC (Read error: 60 (Operation timed out))
08:53 Alias_ Althought if there's a toolkit for this already, I'd use that
08:53 Alias_ You can't plan everything..
08:53 integral But then I can't use your nice reporting tools on the front end...
08:54 Alias_ So you just built in multiple layers and define as little as possible
08:54 Alias_ That way you can implement alternative layers at any point you want
08:55 Alias_ And since I'm implementing a testing system for Perl modules... no, you probably can't
08:56 Alias_ sigh... why do I always end up having to do everything myself :/
08:56 * Alias_ goes back to $work
09:07 elmex has quit IRC ("leaving")
09:12 nnunley has joined #perl6
09:18 scw has quit IRC (Read error: 104 (Connection reset by peer))
09:20 lumi has quit IRC (Read error: 60 (Operation timed out))
09:21 lumi has joined #perl6
09:28 lightstep has joined #perl6
09:29 lightstep does while (<FILE>) work in p6? and what does say =<FILE> do?
09:31 lightstep and how do you do this in pugs? (call/cc (lambda (c) (or 3 (c 9)))
09:31 * lightstep finally decided to learn perl
09:31 lumi Congrats
09:32 lightstep hi lumi
09:32 lumi Hi
09:32 scook0 what are you trying to do with call/cc?
09:32 lightstep so? do you know the answers? and what is ~| ?
09:33 lightstep scook0, it should return 3 is or is short-circuiting, and 9 if not
09:33 lumi Stringwise or?
09:33 Nattfodd has quit IRC (Connection timed out)
09:33 scook0 I think ~| is string-or
09:33 lightstep $bits = 9 ~| 3; # ";"  (from the presentation)
09:34 scook0 well, you can get at continuations using &?CALLER_CONTINUATION
09:34 scook0 sub callCC(&f) { f(&?CALLER_CONTINUATION) }
09:34 scook0 or something like that
09:35 scook0 though I think there are some deficiencies in continuations at the moment
09:35 broquaint has joined #perl6
09:35 lumi What do you mean by "or"?
09:36 lightstep ||
09:36 lightstep `or is scheme's
09:36 lumi Well that's shortcircuiting
09:36 lightstep `or' is scheme's short-circuiting or macro
09:37 Nattfodd has joined #perl6
09:37 lumi So your cc will never be evaluated
09:37 lightstep yes
09:38 Aankhen`` has quit IRC ("BBL, stuff to do, data to recover... :-\ [Time wasted online: 2hrs 25mins 26secs]")
09:39 lightstep well, thchnically the cc is the _continuation_, and will be evaluated, but the call (c 9) won't be. are there non-short-circuiuting logical operators in perl6?
09:39 lumi It should prolly be that definition for callCC and then 'callCC( { 3 || &^c(9) } )' or so?
09:40 scook0 lightstep: not sure, possibly not
09:40 lumi Are those very useful?
09:40 lightstep lumi, isn't is $^c ?
09:40 lumi Ehm, possibly so
09:41 lightstep wrt the logical ops, i just wanted to know, i can't think of a use for them
09:41 scook0 they only really make a difference when the arguments have side-effects
09:41 scook0 which is poor style, most of the time
09:41 lightstep yes
09:42 scook0 though I personally have felt the need for non-short-circuiting ops occasionally
09:42 lightstep but about the file processing idioms: does while (<FILE>) {...} work? and what is `say =<FILE>'?
09:42 scook0 I don't think circumfix <> is 'readline' any more
09:43 lumi No, it's wordlist
09:43 lumi =FILE is the new iterator
09:43 lightstep so it's while (=README) ?
09:44 lumi Except while isn't magical
09:44 lumi Hm
09:44 scook0 I think you'd use 'for' instead
09:44 scook0 my $x = open('README')
09:44 scook0 for =$x { say }
09:49 meppl has joined #perl6
10:08 vcv-- has quit IRC (Read error: 104 (Connection reset by peer))
10:09 Aankhen`` has joined #perl6
10:16 vcv- has quit IRC (Read error: 145 (Connection timed out))
10:16 Nattfodd has quit IRC (Read error: 131 (Connection reset by peer))
10:17 elmex has joined #perl6
10:18 iblechbot has joined #perl6
10:18 Nattfodd has joined #perl6
10:26 f0rth has quit IRC ("leaving")
10:26 Forth_ has joined #perl6
10:31 lightstep what's the difference between ext/, inc/, lib/, modules/ and freepan?
10:31 nothingmuch freepan is a community repo
10:31 nothingmuch whose filesystem is subversion
10:31 nothingmuch wherre you can put files
10:31 nothingmuch modules is stuff that is not yet working
10:31 nothingmuch inc is support stuff, mostly p5
10:32 nothingmuch ext is working modules
10:32 nothingmuch which are support to pass their test
10:32 nothingmuch s
10:32 nothingmuch and lib is p5 stuff that is shipped with pugs
10:32 nothingmuch and unlike inc is not used to build pugs
10:33 lightstep what is the intersection between modules+ext and freepan?
10:33 nothingmuch freepan will in theory be a distribution point for the contents of 'ext'
10:33 nothingmuch when those modules fork off from the pugs repo and start having a life of their own
10:33 DrForres1er has joined #perl6
10:33 nothingmuch modules is uncompleted works
10:34 nothingmuch like stuff that needs parts of pugs that aren't there yet (Class::Events for example)
10:34 nothingmuch it was where we put modules before pugs supported most things
10:34 nothingmuch and then when some of them started working someone thought it makes sense to separate the working from the non working
10:34 nothingmuch afaik freepan is supposed to be a superset of ext
10:35 nothingmuch but it's supposed to contain everything else people want to put there too
10:35 nothingmuch (e.g., p5 code, haskell modules, python, whatever)
10:35 nothingmuch it's just a big mirrored filesystem
10:35 nnunley Forth:  You might consider targeting for jasmin (http://jasmin.sourceforge.net/) as a target
10:35 nothingmuch which is going to have rich metadata about packages some day
10:36 nothingmuch nnunley: did you mean Forth? or harrorth?
10:36 nnunley noithingmuch:  I thought it was Forth that wanted to target the java vm.
10:37 nothingmuch oh, then I'm out of context
10:37 nnunley Looks like I really can't type this morning.
10:37 nothingmuch target the java vm as a backend for what/
10:37 nothingmuch pugs?
10:37 nnunley nothingmuch: Nah.  I'm just lagged.  As a compile target for pugs.
10:37 DrForrester has quit IRC (Success)
10:38 nothingmuch ah
10:38 lightstep do why does ext exist? it's all in freepan, and not a part of pugs
10:39 nothingmuch it's not all in freepan yet
10:39 nothingmuch because freepan is not really ready for prime time
10:40 nothingmuch and because ext is still closely linked to pugs
10:40 nothingmuch they serve as a sort of test suite
10:40 nothingmuch and they also progress alongside pugs
10:40 lightstep ok
10:40 broquaint has quit IRC ("shonky ff")
10:40 nothingmuch when an ext module can make use of a new feature in pugs it should be refactored
10:40 nothingmuch in theory you're right though
10:41 nothingmuch ext is eventually supposed to be migrated to freepan
10:41 lightstep what's wrong with cpan, btw?
10:41 nothingmuch it targets a single unified namespace
10:41 nothingmuch perl5 modules
10:42 nothingmuch freepan attempts to make distributions more in tune with the perl6 unique identification scheme of things
10:42 nothingmuch (multiple modules with the same "short name")
10:43 acme_ freepan reinvents the wheel
10:43 nothingmuch but MPEG::Audio::Frame has had a consistent api
10:43 nothingmuch (a notion that module version 2 and module version 1 aren't the same thing for one namespace, but are for another)
10:43 nothingmuch for example, tangram 2 and tangram 3 are entirely different systems (mugwump?)
10:43 nothingmuch acme_: it does sort of
10:43 nothingmuch but CPAN will need a shake when perl 6 gets into the picture
10:43 nothingmuch and freepan is a nice attempt at a prototype
10:43 * Alias_ points out that the wheel has been re-invented a number of times over the years
10:43 autrijus freepan is a prototype of c6pan... just like pugs is a prototype of perl6
10:44 Alias_ shouldn't that be CP6AN
10:44 autrijus yeah.
10:44 autrijus sorry
10:44 nothingmuch freepan is more in tune with the spirit that things change, and should change
10:44 Alias_ Although CPAN2 has a certain ring to it
10:44 Alias_ Like "The Internet 2"
10:44 nothingmuch sometime which wasn't so important when CPAN was made up
10:45 nothingmuch something
10:45 QtPlatypus cpanng
10:45 Alias_ ugh
10:45 nothingmuch muttng is annoying that way
10:45 nothingmuch .muttngrc
10:45 nothingmuch pgpwrapng
10:45 Alias_ Any project that involves Next Generation should have a plan to end up with it's name as Current Generation
10:46 nothingmuch CPAN 2005-?
10:46 Alias_ CPAN Longer String
10:46 nothingmuch maybe CPAN 2005-... is more readable
10:46 broquaint has joined #perl6
10:46 Alias_ that would fail to compile
10:46 Alias_ with an appropriate error :)
10:46 nothingmuch or CMAN since it's modules in general, not only perl
10:47 nothingmuch (comprehensive module archive network)
10:47 Alias_ actually... Comprehensive Package Archive Network
10:47 Alias_ We don't even need to change the acronym
10:47 nothingmuch =)
10:47 broquaint has quit IRC (Client Quit)
10:47 Alias_ That has a certain appeal
10:48 * QtPlatypus likes Alias_'s retcon.
10:48 Alias_ We don't need new domains, and we get to make the other language use "CPAN" :)
10:48 Alias_ Also CPAN has GREAT brand recognition
10:48 Alias_ </marketing>
10:49 Alias_ Despite people's issues with Perl, everyone things CPAN is cool
10:49 broquaint has joined #perl6
10:49 autrijus "CPAN is very good to Perl 5."
10:49 autrijus "However, Perl 5 havn't been very good to CPAN." ;)
10:49 Alias_ heh
10:50 nothingmuch i would use python if python had CPAN
10:50 autrijus "ask not what CPAN can do for perl"
10:50 nothingmuch although I'd much rather use ruby if ruby had CPAN
10:50 Alias_ That's what just about everyone that tries to leave Perl says
10:50 autrijus "ask what perl can do for CPAN"
10:50 Alias_ I'm starting to think of myself less of a Perl coder and more of a CPAN coder
10:50 Alias_ although I like Perl too, just not as much as CPAN
10:50 nothingmuch Alias_: i'm not trying to leave perl though. I like it, i'm used to the quirks, and the usefulness is good enough
10:51 Alias_ yes, but it's _the_ compelling reason you'll never get very far into other languages
10:51 nothingmuch i haven't even considered another language because i don't have a single file of code (perl -e doesn't count) without use at the top (although I do occasionally do perl -MFoo -e, with as many as 3-4 -M's)
10:51 Alias_ I keep thinking we should write a proper CPyAN implementation as a gift for the Python people
10:51 Alias_ God would they be pissed
10:52 nothingmuch the infrastructure?
10:52 Alias_ the everything. Database, indexer, PyAUSE, ... and yes let them use our mirror network
10:52 nothingmuch =)
10:52 Alias_ Drop a complete working CPyAN in their lap and watch them squirm
10:53 Alias_ "Oh, it took us about a week"
10:53 QtPlatypus Alias_: Wouldn't that happen as a side effect of the parrot project?
10:53 autrijus er, no.
10:53 autrijus parrot is the runtime.
10:53 Alias_ No, CPAN can't support multiple languages
10:53 autrijus the infrastructure is another matter.
10:53 Alias_ So you could write a CPAN clone
10:54 elmex has quit IRC ("leaving")
10:54 Alias_ But whatever Freepan turns into would become a shared repository
10:54 integral has someone written down an idea for what new directories are needed on CPAN mirrors?
10:54 Alias_ I don't think it will work like that
10:54 QtPlatypus I mean they will be able to use the code that is in CPAN, and its desendents.
10:54 Alias_ some how...
10:54 Alias_ Yes, the NextPAN will allow cross-language module use
10:55 Alias_ For languages that have a dialect for it
10:55 Alias_ like Perl 6 :)
10:55 QtPlatypus I mean CPAN isn't good just because of its infostrature, its also for its content.
10:55 Alias_ the content was a byproduct
10:56 Alias_ What makes CPAN _really_ great is that it encourages lots of small packages with lots of dependencies
10:56 Alias_ What every other system results in is large "product" packages that just use the base libs
10:57 Alias_ So because CPAN makes dependencies easier, there's a lot more encouragement towards writing small clean modular packages
10:58 Alias_ People do bitch about "installing half of CPAN", but imagine how painful it would be if you had to install 50-100 python packages
10:58 Alias_ Look at bioperl
10:58 Alias_ It's now hit it's inertia limit and hardly ever gets releases
10:58 Alias_ Because it's one giant package, and not lots of smaller ones
10:59 Alias_ anyways
10:59 Alias_ They will work this out for themselves eventually
10:59 Alias_ We used to do large packages too at first
10:59 Alias_ Look at CGI.pm
10:59 Alias_ But as people got used to CPAN's environment, they moved in the direction of smaller chunks
11:01 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
11:02 Alias_ What amazes me is that Ruby, having seen CPAN's success, and Vaults' failure, choosed to go down the Vaults direction
11:02 lightstep has quit IRC ("too moch, too fast")
11:02 Alias_ You would think they would be smarter
11:02 Odin-LAP has joined #perl6
11:02 sbkhh has joined #perl6
11:02 nothingmuch what's Vault?
11:02 Alias_ The Valuts of Parnassus
11:02 Alias_ Vaults of Parnesses?
11:02 Alias_ something like that
11:03 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
11:03 Alias_ It's the Python equivalent of CPAN
11:03 Alias_ http://www.vex.net/parnassus/
11:03 svnbot6 has quit IRC (Remote closed the connection)
11:03 Alias_ or at least, the most hideous anti-CPAN ever made
11:04 Alias_ even worse, after Ruby doing it, now O'Reilly is making the same mistake
11:04 Alias_ Now THEY should really know better
11:04 nothingmuch oreilly?
11:04 Alias_ google for code zoo
11:04 QtPlatypus Why did it fail Alias_ ?
11:05 Alias_ It hasn't failed so much as it's horrible
11:05 acme_ i really don't understand codezoo
11:05 Alias_ QtPlatypus, it's failed because it's not CPAN
11:05 Alias_ It doesn't even have the potential to become it
11:05 nothingmuch what is the problem with it? technical? or philosophical?
11:05 Alias_ technical
11:05 Alias_ You download packages, one at a time
11:05 Alias_ from a website
11:06 Alias_ So it encourages large packages
11:06 Alias_ large packages get nasty inertia issues
11:06 nothingmuch oh
11:06 Alias_ Their only option for dependencies is to "use the debian packages"
11:06 nothingmuch i see
11:07 nothingmuch that's horrible
11:07 Alias_ like I said, CPAN works because it has lots of small modules
11:07 Alias_ Everyone else fails because it doesn't do what CPAN does
11:07 nothingmuch codezoo is for java?
11:07 Alias_ codezoo is for everything
11:07 nothingmuch ah
11:08 Alias_ So it's a reimplementation of the Vaults of Parnassus, for all languages
11:08 * Alias_ chuckles
11:08 nothingmuch has only java code been uploaded? i see nothing else
11:08 Alias_ looks like only java is uploaded
11:08 Alias_ But then Java needed a repository more than the other languages
11:09 nothingmuch let's hope the java people choke on their large packages
11:09 nothingmuch =D
11:09 nothingmuch it looks like freshmeat
11:09 Alias_ I hope that JSAN gets rolling
11:09 Alias_ It would be _really_ funny to get a JavaScript version of CPAN working, and throw it in the faces of the Python people :)
11:10 nothingmuch =)
11:10 nothingmuch Konfabulator could benefit from a javascript lib
11:10 nothingmuch i was thinking of maybe starting something like that
11:10 nothingmuch but then my konfabulator trial expired
11:10 nothingmuch and i remembered it's shareware
11:10 Alias_ heh
11:10 Alias_ If you wanted to help out, we need a few bits and pieces for JSAN
11:11 nothingmuch and i was like "$25 for this? no way"
11:11 Alias_ Theory's Test::More port is looking good, and TorgoX is doing JSPOD for me
11:11 nothingmuch well, i don't do javascript
11:11 Alias_ I've got a couple of basic packages set up
11:11 Alias_ And JavaScript::Librarian will handle some of the server stuff
11:11 nothingmuch i learned it twice, and forgot it 1.5 times
11:11 Alias_ haha
11:11 nothingmuch it was actually my first langauge
11:12 nothingmuch back in 1999 i learned programming through that
11:12 nothingmuch then I moved to perl
11:12 nothingmuch what horrible code i wrote
11:12 nothingmuch it was a combination of illiteracy, and a too big gap between my capabilities as a programmer and my capabilities as a program writer
11:13 nothingmuch i didn't get why perl didn't say "sub ($foo) { }"
11:13 nothingmuch and for some reason I missed the @_ thing
11:13 nothingmuch so i was like "huh? a language which can't pass params to functions?"
11:13 nothingmuch "oh well..."
11:13 nothingmuch then I implemented a way to pass paramters through an N dimentional array of arrays
11:13 nothingmuch *shame*
11:14 nothingmuch i think this is the first time i've fessed up about this
11:14 nothingmuch luckily by the time i was 3-4 days into perl i realized what was going on
11:15 nothingmuch someone say "forgiven, my son" or something like that
11:15 * QtPlatypus smiles "Well the whole @_ of perl was a miss feature"
11:15 QtPlatypus And we all do stupid ass things.
11:15 Alias_ hhahaha
11:15 SM_ax has joined #perl6
11:15 Alias_ we all did a few stupid thing
11:16 * Alias_ implemented his own flat file database because DBI looked scary
11:16 * acme_ wrote his own templating system
11:16 Alias_ oh come on, we all did that
11:16 nothingmuch i implemented a Btree in memory, using tied hashes, but that was only for fun
11:16 QtPlatypus acme_: Everyone did that.
11:16 nothingmuch actually I didn't implement my own templating system ;-)
11:16 Alias_ Did I mention I'm thinking of actually getting around to uploading Template::Tiny
11:17 nothingmuch by the time i was interested in templating content I had heard of HTML::Template, and realized that there are hundreds like it
11:19 Alias_ Hopefully Template::Tiny should come in under 50 lines of code
11:19 Alias_ including boilerplate
11:20 Alias_ with judicious use of modules I think I can keep the core code around 10 lines
11:20 Alias_ :)
11:20 broquaint package Template::Tiny; use base 'Template'; 1; ...
11:21 Alias_ actually... it's more like...
11:21 Alias_ package Template::Tiny; sub process { $_[0] =~ s/\[\%\s*(\w+)\s*\%\]/$_[0]->{$1}/g; $_[0] } 1
11:22 Alias_ But I'm sure I'll be asked for a few features that won't be too expensive
11:22 elmex has joined #perl6
11:24 nothingmuch oh my
11:24 kungfuftr Alias_: yar, such as different tag styles
11:24 * nothingmuch would have implemented it with Regexp::Common
11:24 Alias_ That would be way too expensive
11:24 Alias_ ::Tiny has a paticular philosophy
11:24 nothingmuch why? only 30 minutes to run the test suite ;-)
11:25 nothingmuch yeah, I know of ::Tiny
11:25 nothingmuch and I know why it's there
11:25 kungfuftr Alias_: s/$start_tag\s*(\w+)\s*$end_tag/$_[0]->{$1}/g;
11:25 Alias_ Regexp::Common is a beast
11:25 Alias_ kung: right..
11:25 nothingmuch while I like enjoying someone else's work into that philosophy, I don't want to maintain my own Tiny's
11:25 Alias_ it's easy!
11:26 Alias_ People write in asking for features, and unless they provide a patch that can add it be REMOVING code, you just say no :)
11:26 Alias_ "That would add bloat"
11:26 Alias_ etc etc
11:26 kungfuftr Alias_: yar... [% %] doesn't work in things like dreamweaver, etc... so most designery type people use Template with php style tags
11:27 Alias_ And the module is so small, that it's really easy to test and doesn't really have any reason to change
11:27 Alias_ I like [% %] tags in dreamweaver
11:27 Alias_ You can see the tags that way
11:27 kungfuftr *shrug*
11:28 Alias_ but yes, you have to be a little careful
11:28 Alias_ anyways, I'll probably keep start/end tag variety
11:28 kungfuftr pre-compilation should reduce the bloat
11:28 Alias_ The reason I haven't done it so far is that I know there's going to be a lot of bloat pressure
11:29 QtPlatypus Can someone tell me why Pugs might produce this error "cannot cast from VObject (MkObject {objType = (mkType "Class"), objAttrs = <ref>, objOpaque = Nothing, objId = 64}) to Pugs.AST.Internals.VCode"
11:31 broquaint You tried to treat a class as code?
11:33 dkf has joined #perl6
11:33 QtPlatypus Found it.
11:34 QtPlatypus Class("something"); Rather then Class.new("something");
11:36 Alias_ whoa
11:36 Alias_ what timing
11:39 dkf has quit IRC ("leaving")
11:45 lazyfrog has joined #perl6
11:46 lazyfrog has left
11:49 vcv has joined #perl6
11:50 vcv- has joined #perl6
11:53 q[merlyn] well, I'll see if the release of Perl6::Pugs works any better than the CVS compile I tried yesterday
11:54 QtPlatypus ?eval if (1==1) { "a" } else { "b"}
11:54 evalbot6 'a'
11:54 QtPlatypus ?eval if (1==0) { "a" } else { "b"}
11:54 evalbot6 'b'
11:55 q[merlyn] ?eval say 'say', 'say, what you want'
11:55 evalbot6 Error: No compatible subroutine found: "&say"
11:55 q[merlyn] heh
11:55 QtPlatypus Interesting if has a return value
11:55 q[merlyn] Might just be "last expression evaluated"
11:56 q[merlyn] same thing as subroutines in perl5
11:56 * QtPlatypus nods to q[merlyn] "I expect that it is"
11:57 QtPlatypus perl5 didn't do that with "if"
11:57 QtPlatypus ?eval my $a =if (1==0) { "a" } else { "b"}; $a
11:57 evalbot6 Error:  unexpected "i" expecting expression reserved word
11:58 QtPlatypus Ok
11:58 q[merlyn] Yeah, "if" is not an expression.  it's a statement
11:58 QtPlatypus ?eval my $a ={if (1==0) { "a" } else { "b"}}; $a
11:58 evalbot6 \sub {...}
11:58 q[merlyn] it's unfortunate that the Perl docs blur those, even though the compiler is very clear and the design is very clear.
11:58 QtPlatypus ?eval my $a ={if (1==0) { "a" } else { "b"}}; $a()
11:58 evalbot6 'b'
11:59 q[merlyn] yeah, that's "subroutine return val is last expressione evaluated"
11:59 QtPlatypus ?eval my $a =do {if (1==0) { "a" } else { "b"}}; $a
11:59 Limbic_Region has joined #perl6
11:59 evalbot6 \'b'
11:59 q[merlyn] reference to b?
11:59 mr_ank ?eval my $a =do {if (1==0) { "a" } else { "b"}}; $a.perl
11:59 evalbot6 '\\\'b\''
12:00 mr_ank ?eval {if (1==0) { "a" } else { "b"}}.perl
12:00 evalbot6 'sub {...}'
12:00 QtPlatypus Ok the tri-op is most likely the best option for that.
12:06 q[merlyn] correct
12:09 Limbic_Region is autrijus, theorbtwo, or any other metacommiter around?
12:14 nothingmuch yes
12:15 nothingmuch Limbic_Region: pong
12:16 q[merlyn] Hmm.  Perl6::Pugs distro builds fine, but I'm not trying to embed Perl5.
12:16 q[merlyn] Maybe it breaks only when embedding Perl5.
12:16 Aankhen`` QtPlatypus >> A block returns the value of the last statement.
12:16 domm so
12:16 Aankhen`` q[merlyn] >> What platform are you on?
12:16 Limbic_Region nothingmuch - I just got handed my meta commit bit the other night - never used it - need to send a commit invite - how do I do that?
12:16 domm I (mis)used the fact that my son is ill and I don;t have to work to write some perl6 obufs
12:16 domm http://feather.perl6.nl/~domm/
12:17 domm there all more or less based on the same idea i had a while ago:
12:17 domm http://www.perlmonks.org/?node_id=199499
12:19 Limbic_Region nothingmuch ?
12:19 nothingmuch sorry
12:19 nothingmuch back
12:19 hugues23 has joined #perl6
12:19 nothingmuch you enter the rt administrative interface
12:19 nothingmuch http://rt.openfoundry.org/Foundry​/Project/Admin/Members?Queue=270
12:19 nothingmuch after you're logged in
12:20 nothingmuch that's the members tab already
12:20 nothingmuch then in the big box put some emails
12:20 nothingmuch and click invite
12:20 Limbic_Region ok - now let's hope I know how to log in
12:21 q[merlyn] OSX 10.4
12:21 domm I'd appreciate it if somebody could add those obfus to pugs/examples/japh
12:23 dkf has joined #perl6
12:24 scook0 has quit IRC ("zzz...")
12:24 nothingmuch login - top right corner
12:24 nothingmuch with your svn password
12:24 nothingmuch domm: Limbic_Region can give you commit access ;-)
12:25 * Limbic_Region doesn't remember entering a svn password
12:26 domm Limbic_Region: can you give me commit access :-) ?
12:27 nothingmuch uh, i can try and see if it can be reset, Limbic_Region
12:27 nothingmuch but when you got an invite you must have chosen a passwd
12:27 nothingmuch and then entered it on your first commit
12:27 nothingmuch poke around .svn
12:27 Limbic_Region I figured it out
12:27 Limbic_Region that's at home nothingmuch - but I am all set now
12:27 autrijus domm: invitation sent. welcome aboard!
12:28 Alias_ hazzah
12:28 domm autrijus: thanks
12:28 domm finally ... :-)
12:28 Alias_ Guess what domain expires in 2 weeks and I've put in a backorder for :)
12:28 autrijus don't forget to add yourself to AUTHORS :)
12:28 Alias_ jsan.net!
12:28 nothingmuch autrijus: beh, that's like doing someone else's homework ;-)
12:28 q[merlyn] "make test" is proceeding, but it makes me puzzled about yesterday's failure
12:28 nothingmuch hah
12:28 Alias_ JSAN could well be a go-er :)
12:28 autrijus q[merlyn]: uh, you mean you did suceed in making pugs?
12:29 q[merlyn] I'm install Perl6::Pugs with no options from the CPAN.
12:29 q[merlyn] and it seems to be going ok
12:29 autrijus weird.
12:29 q[merlyn] but yesterday, I tried to embed Parrot and Perl5, and it broke.
12:29 q[merlyn] but that was from the SVN
12:29 Limbic_Region ok - I have logged in - where is it that I enter email address(es) and click invite?
12:29 q[merlyn] so there are a lot of variations there.  I'll have to try varying fewer things when I get a chance.
12:32 autrijus Limbic_Region: http://rt.openfoundry.org/Foundry/​Project/Admin/Members/?Queue=Pugs
12:35 * nothingmuch forgot all his debian
12:35 nothingmuch what's that tool where you select the "roles", and you get a bunch of useful packages? like "Development", etc
12:36 Limbic_Region yay - I figured it out
12:37 Limbic_Region fwiw - using links appeared to log me out so I had to navigate myself and I didn't notice the big box for entering email addresses cause I had to scroll down
12:37 Limbic_Region all better now - tallman invited
12:47 nothingmuch going home... see you later!
12:47 nothingmuch hopefully more forth and less teaching today
12:47 Enveigler has joined #perl6
12:47 nothingmuch has quit IRC ()
12:53 mj41 has joined #perl6
12:54 meppl has quit IRC (Remote closed the connection)
12:57 QtPlatypus Cool being a key doesn't brake an object's objectness.  
12:59 alinbsp has quit IRC ()
13:00 alinbsp has joined #perl6
13:08 xinming has quit IRC (Remote closed the connection)
13:10 Aankh|Clone has joined #perl6
13:12 elmex has quit IRC ("leaving")
13:24 q[merlyn] OK... Perl6::Pugs built correctly from the CPAN, but didn't use Perl5 or Parrot embedding
13:24 crysflame did you set the environment variables for perl5 or parrot embedding?
13:25 crysflame restated, did the build process attempt to include perl5/parrot and fail or never try at all?
13:26 q[merlyn] the CPAN install didn't try that
13:27 q[merlyn] I need to try just the SVN install without embedding to vary only one thing at a time
13:27 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
13:35 dkf q[merlyn]: I'm trying that right now. So far I've tried it with perl5 and parrot, and with parrot only, with the same results.
13:37 xinming has joined #perl6
13:53 Enveigler has quit IRC (Read error: 110 (Connection timed out))
13:57 dkf It looks to me like it only chokes when trying to build with an embedded parrot.
13:58 vcv- has quit IRC (Read error: 145 (Connection timed out))
13:58 dkf I just built from a clean tree with PUGS_EMBED="perl5" and it went fine
13:59 Enveigler has joined #perl6
14:03 Canuckistan has quit IRC (Read error: 111 (Connection refused))
14:03 cognominal what's the replacement for STDERR or indirect syntax?
14:04 cognominal print STDERR 'bla'  # does not cut it anymore
14:04 PerlJam cognominal: why not?
14:04 cognominal pugs> print STDERR 'toto'
14:04 cognominal *** No compatible subroutine found: "&STDERR"
14:04 cognominal    at <interactive> line 1, column 7-20
14:04 PerlJam oh, sorry.  I forgot what channel I was on  :-)
14:04 PerlJam STDERR == $*ERR
14:05 cognominal oki
14:05 cognominal ETOOMANYLANGUAGES
14:05 cognominal thx
14:05 PerlJam $ERR.say 'toto';  say $ERR: 'toto';  etc.
14:06 PerlJam cognominal: tell me about it.  I've been having trouble context switching between perl5/perl6.  I simply can't do any perl6 while at work otherwise my perl5 code gets all messed up.
14:07 Khisanth what you need is a Perl6 sourcefilter :)
14:07 PerlJam no, I just need a working production level perl6 compiler :-)
14:07 integral Khisanth: use pugs; # it's here today!
14:08 SM_ax has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.7/20050420]")
14:09 cognominal btw, that's $ERR.say('toto')
14:10 PerlJam oh right.  methods require parens
14:12 Shachaf has joined #perl6
14:19 Limbic_Region insane in the membrane - insane in the brain
14:19 * Limbic_Region likes that chip is active on p6.l and not just p6.i
14:20 scw has joined #perl6
14:20 Limbic_Region having the compiler remember everything about every block just because someone might call it like a sub is INSANE
14:23 QtPlatypus Is "call it like a sub" something that could be detected?
14:24 Limbic_Region that's what chip is asking for
14:24 * QtPlatypus nods.
14:24 Limbic_Region "...but only works if the calling block already marked itself as callable, perhaps by mentioning &?BLOCK in its body."
14:25 * QtPlatypus would prefur to be able to taint blocks, or something like that.
14:27 Limbic_Region I don't really care how it is accomplished as long as it is relatively sane
14:28 * QtPlatypus nods "Likewise"
14:30 * Limbic_Region was all gung-ho to whip out the framework for the missing synopses until he realized just having the RFCs each S should cover by itself isn't enough reference material
14:32 Alias_ has quit IRC ("Leaving")
14:37 eric256_ has joined #perl6
14:41 Enveigler L~R: My gut feel about continuations is the same. So much overhead. I've been reading everything I can find to understand chip's statement about "being a VM means that the info is there anyway", but nothing I've found yet convinces me that this isn't going to need 64-bit memory space for any reasonably complex program!
14:42 SamB Enveigler: what makes you think continuations have overhead?
14:43 integral Enveigler: are you familiar first with stack based call frames?
14:43 SamB are these continuations storing a huge amount of stack contents or something?
14:45 Limbic_Region Enveigler - there are two kinds of continuations - Parrot is going to support both, but only function calls are going to be "full" continuations by default
14:45 Enveigler I'm open to persuassion, but for a continuation to be able to continue from where it was, doesn't it mean that the state of every lexical variable from program initiation down the call-chain to the point the continuation is taken must be retained?
14:45 Limbic_Region with that said - I would assume the same holds true for blocks - it won't be special unless you say it is special
14:46 Enveigler integral: Yes.
14:46 integral Enveigler: err, that's just the same as if you've got a stack though...
14:47 integral and one this is that you can only jump to where you got a continuation for, and continuations and your "current frame" pointer are the only things that point to frames which can then be garbage collected
14:49 Enveigler Except that lexicals are mutable. If a contuation is taken at level 1, a variable from the parent scope is modified another call/continuation is taken. If the first continuation is invoked, somewhere both intermdiate values of the modified lexical must be retained.
14:50 integral ah, you misunderstand
14:50 integral You aren't closing over the *values* of the lexicals,  but the lexical environment where you map names/indices to boxes for values
14:50 integral It's the same as closures
14:52 integral if you're familiar with assembly level stuff, a CALL pushes a return address on the stack,  a continuation based system OTOH would push something much more like a closure on the stack
14:52 PerlJam integral: "I've got all the same boxes I had before only the stuff in them has all changed"  ;)
14:53 * integral now prefers the view that continuations are the future, not the past
14:53 integral and so you're saving stuff you need to use in future,  not things you want to restore
14:53 integral PerlJam: :-)
14:53 PerlJam integral: um ... continuations are time-symmetric they work the same in forward and reverse.
14:54 SamB huh. I always found continuations in languages with rampant mutable state to be confusing, probably because I wasn't sure whether they stored values or what...
14:54 integral PerlJam: hmm?
14:54 justatheory has joined #perl6
14:55 PerlJam integral: I'm just saying that it shouldn't matter which direction along the time arrow you're looking continuations look the same no matter what.  But if it helps you to think of them as "saving for the future", you go ahead :)
14:55 integral if continuations closed over values this wouldn't print 5: my $a = 4; sub { $a++ }->(); # because the return continual would restore $a to 4
14:56 * PerlJam notes that he really needs to get his fingers to type the punctuation in his head
14:57 * Enveigler is thunking...
14:58 PerlJam Enveigler: thunking is remarkably close to taking a continuation  ;)
14:58 * Enveigler nods :)
15:01 Enveigler If a caontinuation is only capturing /what/ is accessible, and not the values, then how is this different to a closure? Speculation. The closure *only* captures the what of variables from prior scopes--a contnuation captures the what of local lexicals also. -- Still thunking.
15:02 integral a continuation is a lot like a closure that doesn't return
15:03 * Enveigler needs to draw some boxes and lines on paper and think so more
15:03 Enveigler s/so/some/
15:03 PerlJam Enveigler: when you figure it all out, write it down for the other poor souls who don't quite get it.
15:03 iheartcanada has joined #perl6
15:04 Enveigler I'll try
15:05 xinming has quit IRC (Read error: 104 (Connection reset by peer))
15:05 eric256_ has left
15:06 saorge has joined #perl6
15:08 sbkhh is now known as Odin-
15:08 marcel__ has joined #perl6
15:10 hugues23 has quit IRC ("KVIrc 3.2.0 'Realia'")
15:17 iheartcanada doods is perl 6 out?
15:18 kungfuftr iheartcanada: yes... watch out... i hear it likes small children!
15:18 kungfuftr iheartcanada: it'll be done by christmas
15:18 Limbic_Region depends on your definition of perl6 and of out
15:18 Limbic_Region something that implements a good portion of perl6 is available - called pugs
15:18 Limbic_Region see topic
15:18 iheartcanada kungfuftr: you are kidding right? that's wonderful
15:19 iheartcanada Limbic_Region: thanks man
15:19 marcel__ he didn't say which christmas...
15:19 * iheartcanada is going to be so happy this Christms
15:19 iheartcanada or the 20th Christmas from now
15:19 iheartcanada ??
15:19 Khisanth kungfuftr: I didn't know MJ worked on pugs!
15:19 iheartcanada Nth Christmas
15:19 * Khisanth runs
15:19 kungfuftr iheartcanada: i didn't say _which_ christmas
15:19 Limbic_Region it is a running joke iheartcanada
15:20 kungfuftr Limbic_Region++ # providing wikipedia
15:21 iheartcanada is this haskell - imp of perl 6 an  official component of perl 6 project?
15:21 iheartcanada or is it your own imp?
15:21 kungfuftr iheartcanada: it's to assist bootstraping
15:21 kungfuftr along with tie down certain implementation details
15:22 iheartcanada i think everyone's surprised how extensive the perl 6 project is, it really revamps everything eh?
15:25 autrijus I'm not exactly surprised... more like, well, determined ;)
15:25 kungfuftr autrijus: boo!
15:26 kungfuftr seen castaway
15:26 kungfuftr pah
15:26 q[merlyn] OK, adding Parrot makes the build crash on OSX
15:27 autrijus q[merlyn]: 0.2.1?
15:27 pasteling "merlyn" at 209.223.236.162 pasted "OSX 10.4.1, crashes build when embedding Parrot" (17 lines, 801B) at http://sial.org/pbot/11052
15:27 q[merlyn] parrot from the CVS
15:28 q[merlyn] now I'll try embedding perl5 by itself
15:28 autrijus q[merlyn]: you mean SVN?
15:28 q[merlyn] yes
15:28 autrijus q[merlyn]: parrot from svn is segfaulting for "print" for me.
15:28 autrijus q[merlyn]: I'm working with leo on that ;)
15:28 q[merlyn] aha
15:28 autrijus (in other words, don't rely on it)
15:29 q[merlyn] well, that explains my troubles, perhaps.
15:34 q[merlyn] pugs embedded with perl5 works fine
15:37 vcv- has joined #perl6
15:40 q[merlyn] but that means I still can't use rules, right?
15:43 QtPlatypus You can use rules as long as you have a parrot executable in your path.
15:48 Aankh|Clone is now known as Aankhen``
15:51 marcel__ has quit IRC ("Leaving")
15:52 Aankhen`` I am in the same predicament, q[merlyn]. :-(
15:52 Aankhen`` (although I can
15:52 Aankhen`` (although I can't even embed Perl 5)
15:52 * Aankhen`` wanders off to eat dinner.
15:57 q[merlyn] Oh.  I have a parrot executable. :)
15:57 q[merlyn] ok
15:57 q[merlyn] but that's the broken parrot
15:57 q[merlyn] I'm guessing anyway
15:57 q[merlyn] I'm doing make test to see what happens when I get to rules
15:58 PerlJam q[merlyn]: Are you just playing are you intending to write a column on pugs or something?
15:58 q[merlyn] well - the long term goal is to be able to write Learning Perl 6
15:58 q[merlyn] the medium term goal is to contribute to the Perl 6 project somehow
15:59 q[merlyn] the short term goal is to understand what the hell is going on. :)
15:59 PerlJam excellent
16:00 PerlJam q[merlyn]: you might want to help pmichaud with the shift-reduce parser he's writing (in PIR I think) for PGE since pugs has far and away more developers than it needs :)
16:02 lampus has quit IRC (Remote closed the connection)
16:02 lampus has joined #perl6
16:03 nothingmuch has joined #perl6
16:05 nothingmuch evening
16:05 QtPlatypus evening
16:05 lumi Evening
16:05 vel has joined #perl6
16:06 iheartcanada has left "Take it easy :-)"
16:07 * nothingmuch decides to scrap most of harrorth's  code
16:08 lumi Oi, why?
16:09 nothingmuch no reason to keep it =)
16:09 nothingmuch it's a small amount of code
16:09 nothingmuch and it's organized in a way that I know realize is limiting
16:09 lumi So what do you intend to do instead?
16:10 lumi Evil Haskell
16:10 lumi In any self-respecting language, that would be a huge amount of code
16:10 lumi I mean, it would take
16:11 nothingmuch well, i can take some parts
16:11 nothingmuch and I can make something better
16:11 nothingmuch too modular too early
16:11 nothingmuch but the current organization of files is a bit silly
16:12 spinclad would you make this a new layer for your document: 'Chapter n+1: we start over'?
16:12 nothingmuch i don't know
16:12 nothingmuch first I have to write some code, and see if the difference is really big
16:13 spinclad you're not starting from tabula rasa anymore...
16:13 nothingmuch what's tabula rasa?
16:13 spinclad = blank slate
16:13 nothingmuch ah
16:13 nothingmuch right
16:13 nothingmuch most of the code will look similar
16:13 nothingmuch it's really the same stuff
16:14 nothingmuch but the organization in files is a bit bad
16:14 spinclad (that is, this time you already know what you learned from the first time through)
16:14 nothingmuch right, and that's the point of the whole project =)
16:15 Enveigler has quit IRC (Read error: 110 (Connection timed out))
16:16 nothingmuch dinner time
16:17 spinclad well, good luck however you decide it
16:32 Nattfodd has quit IRC ("Leaving")
16:36 rhandom has joined #perl6
16:40 rhandom has left "Kopete 0.9.0 : http://kopete.kde.org"
16:41 vcv- has quit IRC (Read error: 145 (Connection timed out))
16:41 rhandom has joined #perl6
16:47 elmex has joined #perl6
16:48 q[merlyn] failed test 16 on t/operators/precedence - normal?
16:48 q[merlyn] this is from SVN
16:50 Chewie[] ?eval (<> >>+<< <>).perl
16:50 evalbot6 '()'
16:50 Chewie[] ?eval (<>>>+<<<>).perl
16:50 evalbot6 Error:  unexpected ">" expecting term
16:50 Chewie[] Heh. Is whitespace required on the dull end?
16:50 broquaint Inline::BF?
16:51 Chewie[] ?eval (<1 2> >>+<< <5 6>).perl
16:51 evalbot6 '(6.0, 8.0)'
16:51 Chewie[] broquaint: It's looking like it. Heh.
16:51 broquaint You could almost have it with some judicious operator overloading ...
16:51 Chewie[] You could have it easily, except for the looping constructs.
16:52 broquaint You could do those too, no doubt.
16:53 broquaint Just have <>.,+- as unary ops and [] as the usual circumflex op, take some drugs, and you're sorted.
17:07 Enveigler has joined #perl6
17:07 osfameron has joined #perl6
17:07 sapper has joined #perl6
17:08 Limbic_Region merlyn - did someone point out to you earlier that ?eval say isn't allowed IO operations are considered unsafe
17:09 * Limbic_Region is playing catchup on the log
17:09 ninereasons has joined #perl6
17:09 * geoffb is as well
17:09 geoffb and just done
17:09 geoffb FWIW -- make unoptimized && make test takes almost exactly 4 hours for me.
17:10 osfa has joined #perl6
17:10 * geoffb winces before asking the next question . . .
17:10 geoffb What can I do to help make that faster?
17:11 * QtPlatypus has been running them while he sleeps.
17:11 Limbic_Region geoffb - my guess would be to buy more memory
17:12 Limbic_Region how much does that box have?
17:12 svnbot6 has joined #perl6
17:12 * geoffb forks his response into two threads . . .
17:13 geoffb A: It has 192 MB -- it doesn't have more because the computer was a gift, and has the worst internal design EVER, for which you basically have to disassemble the box to component chips to be able to add a stick of RAM
17:14 Limbic_Region geoffb - what OS?
17:14 osfameron_ has quit IRC (Read error: 145 (Connection timed out))
17:14 geoffb B: I was actually asking, "Lots of people complain about the time make and make test take.  I'd like to help improve the experience for everyone.  What can I do?"
17:14 geoffb A: Debian testing
17:14 Limbic_Region there might not be much you can do other than to provide binary distributions
17:14 broquaint has quit IRC ("work.exit()")
17:15 osfa has quit IRC ("Leaving")
17:15 Limbic_Region IOW - if there were minor changes that could improve compile time they would already be done
17:15 Limbic_Region significant changes OTOH.....
17:15 geoffb B: I was thinking perhaps of simplifying the living hell out of Test.pm so that it loads faster, but I don't know how much stripping can actually be done
17:16 geoffb B: Speaking of which, does the presence of POD inside a .PM significantly slow pugs parsing?  Would just chopping the docs and putting them into a .pod make a huge difference . . . ?
17:16 Limbic_Region and on the gripping hand - I know next to 0 about Pugs internals and am just parroting what I have heard in previous conversations on the matter
17:16 * geoffb thinks "There's one way to find out for sure."  :-)
17:17 Limbic_Region ?eval (42).kv
17:17 evalbot6 Error: No compatible subroutine found: "&kv"
17:17 svnbot6 r4646, geoffb++ | t/01-sanity/06-use.t: attempt to work around Test.pm being too smart for our good
17:17 svnbot6 r4647, iblech++ | * Usual svn props added to new Emit.PIR.
17:17 svnbot6 r4647, iblech++ | * Added "blib" to svn:ignore of ext/Locale-KeyedText.
17:17 svnbot6 r4647, iblech++ | * t/subroutines/lvalue_subroutines.t -- Added a comment referring to a p6l
17:17 svnbot6 r4647, iblech++ |   thread and fixed a test.
17:17 svnbot6 r4647, iblech++ | * t/01-sanity/06-use.t -- Placed the outputting of the TAP header in a BEGIN
17:17 svnbot6 r4647, iblech++ |   {...} block and changed the loading of "Test" into "lib", so the TAP header
17:17 svnbot6 r4647, iblech++ |   isn't printed twice.
17:17 svnbot6 r4648, putter++ | sleep() returns seconds slept.
17:17 Limbic_Region hmmm
17:18 Limbic_Region ?eval my @foo = 1..4; @foo.kv
17:18 evalbot6 (0, 1, 1, 2, 2, 3, 3, 4)
17:18 Limbic_Region ?eval (1, 2, 3, 4).kv
17:18 evalbot6 (0, 1, 1, 2, 2, 3, 3, 4)
17:18 geoffb On a completely different subject . . . I wish there were a list of "Books to read so that you can get all the sci-fi references in average geek culture".  Thank heavens I've read Stranger in a Strange Land and The Gripping Hand, or I'd be completely lost
17:18 Limbic_Region that still doesn't seem right to me
17:18 geoffb Looks like someone brought svnbot6 back
17:19 geoffb and again, iblech++ for being way ahead of me.
17:19 Limbic_Region ?eval my %foo = 1..4; %foo.kv
17:19 evalbot6 ('1', 2, '3', 4)
17:19 Limbic_Region ok - duh - I get it now
17:20 geoffb :-)
17:20 Limbic_Region key = index when the thing invoking the method is arrayish
17:20 geoffb nodnod
17:21 Limbic_Region I have an idea for a "In Perl6 you can ..." type node
17:21 Limbic_Region at the Monastery
17:21 geoffb As in "things so cute/cool everyone will want Perl6 RIGHT NOW"?
17:22 Limbic_Region well - more from a $larry perspective - here are the things that we didn't get right in p5 but are fixed in p6 so stop b1tching"
17:22 PerlJam geoffb: What's "The Gripping Hand"?
17:23 Limbic_Region PerlJam http://catb.org/~esr/jargon/ht​ml/O/on-the-gripping-hand.html
17:23 revdiablo Limbic_Region: heh, did you see that post of larry's (from a while back), where he said he had to constantly resist the urge to reply to a lot of posts at the monastery with "fixed in 6"
17:23 geoffb Thanks, Limbic_Region
17:23 Limbic_Region revdiablo - yes
17:24 Limbic_Region which really isn't where the idea came from
17:24 geoffb PerlJam, see also http://en.wikipedia.org/wiki/The_Gripping_Hand
17:24 PerlJam hmm.  Never read that book.
17:24 revdiablo Limbic_Region: it just seemed like a similar idea
17:24 Limbic_Region but would allow for a "see node X" reply
17:25 geoffb PerlJam, it's a fun read . . . but it's a sequel.  The Mote in God's Eye is the first.
17:26 Limbic_Region revdiablo - very similar idea so maybe subconciously that is what I was thinking - but I had a lot of influences
17:26 Limbic_Region Dan's "What the heck is" series
17:26 Limbic_Region The "Perl Idioms explained" series
17:26 Limbic_Region etc
17:26 jhorwitz has joined #perl6
17:26 cjeris has joined #perl6
17:26 osfameron has quit IRC (Read error: 110 (Connection timed out))
17:27 Limbic_Region the idea is still a bit loose btw
17:29 QtPlatypus Is this a diffrent monastery then I'm thinking of?
17:30 QtPlatypus (I'm thinking of the scary devil monastery)
17:30 nnunley has quit IRC (Read error: 113 (No route to host))
17:30 lumi_ has joined #perl6
17:32 geoffb OK, here's the before state for posterity: 'time pugs -e 1' => 6.9s; 'time pugs -MTest -e 1' => 23.7s -- in both cases, insignificant system time, user approx. = real
17:33 Limbic_Region QtPlatypus - you are joking right?
17:33 Limbic_Region http://perlmonks.org
17:34 revdiablo QtPlatypus: Perlmonks is affectionately referred to as the Monastery
17:42 arcady has joined #perl6
17:44 * geoffb decides that a useful activity while waiting for Pugs to compile might be to actually READ the copy of HOP he picked up some time ago
17:44 geoffb surprisingly, it hasn't all just sunk in by diffusion and osmosis from sitting on the desk nearby
17:52 integral all the bookshops near me have P6N, but none have HOP :-(
17:52 svnbot6 r4649, iblech++ | lvalue_subroutines.t, proxy.t -- Fix test according to Larry's ruling on p6l,
17:52 svnbot6 r4649, iblech++ | and added a comment referring to his post.
17:52 meppl has joined #perl6
17:53 geoffb P6N?
17:54 integral Perl6 Now!
17:54 geoffb Ah
17:54 integral which seems rather good
17:54 geoffb Really?  Had not heard good things, so prompty dropped it from wetware core
17:55 geoffb http://colabti.de/irclogger/irclogger_logs/perl6
17:55 geoffb damn, wrong windo
17:57 elmex has quit IRC ("go spielen")
17:58 geoffb Right, so stripping doc from Test.pm does almost nothing.  Which is actually a good thing.  :-)
18:03 nnunley has joined #perl6
18:15 Limbic_Region heh - my name is spurperl and I am a Lisp Addict : http://perlmonks.org/index.pl?node_id=466656
18:16 wolverian nice post.
18:17 vcv- has joined #perl6
18:37 saorge has quit IRC (Read error: 110 (Connection timed out))
18:37 vcv has quit IRC (Read error: 104 (Connection reset by peer))
18:38 geoffb Why does Test.pm use binding rather than assignment for intermediate results?
18:38 geoffb There's a lot of lines like this:
18:38 geoffb my $test := $got eq $expected;
18:39 saorge has joined #perl6
18:46 vcv- has quit IRC (Read error: 145 (Connection timed out))
18:47 Aankh|Clone has joined #perl6
18:47 nirz has joined #perl6
18:52 Aankhen`` has quit IRC (Read error: 60 (Operation timed out))
18:56 Juerd geoffb: Premature optimization.
18:56 Juerd geoffb: Which for Pugs tests isn't as premature as it may appear.
18:57 Enveigler has quit IRC (Read error: 104 (Connection reset by peer))
19:02 geoffb Juerd, how is it an optimization?  Just in that it saves a little copying?
19:15 domm so, I've added some files to my pugs svk checkout on feather. How do commit them? Is svk ci enough?
19:15 svnbot6 r4650, domm++ | three japhs varying one theme
19:15 domm that seems to anwser it
19:15 domm :-)
19:15 G2 has joined #perl6
19:16 stevan geoffb: the := binding actually creates (or at one time did create) a constant
19:17 stevan IIRC it's like doing *foo = \42; in perl5
19:18 domm ?eval say <a b c> >>~<< <1 2 3>;
19:18 evalbot6 Error: No compatible subroutine found: "&say"
19:19 domm ?eval <a b c> >>~<< <1 2 3>;
19:19 evalbot6 ('a1', 'b2', 'c3')
19:19 domm ?eval <a b c> »~« <1 2 3>;
19:19 evalbot6 'a b c1 2 3'
19:19 domm is this a bug?
19:19 stevan looks like one
19:20 wolverian it works fine for me on feather
19:20 wolverian maybe evalbot isn't grokking the utf?
19:20 stevan ?eval ('a', 'b', 'c')  »~« (1, 2, 3)
19:20 evalbot6 'a b c1 2 3'
19:20 stevan wolverian: that might be it
19:20 stevan I know svn bot had issues with UTF before
19:20 * stevan has been so out of the pugs loop lately
19:21 domm wolverian: it doesn't work on feather for me:
19:21 domm http://feather.perl6.nl/~domm/hyper_bug.p6
19:22 wolverian hmm.
19:22 domm but I might be doing something wrong, it's my first day with Pugs...
19:23 wolverian your file is different
19:23 stevan domm: if you can confirm it is a bug
19:23 stevan put a test into t/pugsbugs/ for it
19:23 wolverian ah
19:23 wolverian your file encoding is latin1
19:23 wolverian mine is utf8
19:24 wolverian I _think_ latin1 should just work (tm) as well.
19:24 domm and how do I check file encodings?
19:24 * domm tried very to ignore utf8 et al until now
19:24 stevan domm: what editor are you using?
19:24 domm vim
19:24 wolverian domm: :set fileencoding?
19:25 wolverian also, 'file yourfile' shows the encoding
19:25 wolverian (in the shell)
19:25 * stevan just sets UTF as the default now
19:25 wolverian stevan: me too, especially as my desktop is completely utf8 as well.
19:26 wolverian but I think perl6 is specced to just work when encoded in latin1
19:26 wolverian so it's a pugsbug
19:26 geoffb (sorry, was away for a bit)  stevan, what is the value of creating a constant alias to an intermediate calculation?  Some sort of fast path in the pugs code?
19:27 domm it's working with fileencoding utf8
19:27 stevan geoffb: I am not sure of the rationale, it was there when I first got here
19:27 stevan so basically as autrijus  :)
19:27 stevan but I know that the idea was it would create a constant
19:27 geoffb stevan, ok then.  :-)
19:28 stevan why that is good/bad, I have no idea
19:28 stevan other that it makes it very hard for other code to mess up the test result
19:28 geoffb hmmm
19:29 stevan it very well might have just be a neat trick :)
19:29 stevan and nothing more
19:29 geoffb Test.pm seems so caught up in being cool, it's wrong in a few places
19:29 stevan how so?
19:30 stevan geoffb: keep in mind that it is one of the oldest module in Pugs
19:30 stevan and so has some old workarounds in it
19:30 geoffb It uses named arguments on some subs but not others, and then doesn't call them correctly;
19:30 stevan which may no longer be applicable
19:30 geoffb Some of the type definitions seem bogus,
19:30 geoffb etc.
19:30 geoffb nodnod
19:31 stevan let me take a look (its been a while since I last looked at it)
19:32 stevan which types are wrong?
19:32 domm how do I run prove on pugs/t/somefile.t ?
19:32 geoffb hold on, I need to svk revert . . . I was experimenting with a typeless version
19:32 stevan dont revert
19:32 geoffb domm, s/ on //;
19:32 stevan just use the web view
19:32 stevan http://svn.openfoundry.org​/pugs/ext/Test/lib/Test.pm
19:33 domm geoffb: thanks :-)
19:34 stevan geoffb: It seems to me that all the named params are correct oo
19:34 stevan s/oo/too/
19:34 domm only there is no /usr/bin/pugs on feather?
19:35 stevan geoffb: the $desc and $todo are the only named params
19:35 stevan geoffb: maybe nopaste your fixes?
19:36 geoffb Hold on . . . was trying to recall all the stuff I found.  Lessee here . . .
19:36 geoffb &ok.goto($result, $desc, $todo); is bogus call
19:36 stevan why?
19:37 stevan is it not working?
19:37 geoffb Because that should be &ok.goto($result, desc => $desc, todo => $todo)
19:37 geoffb Unless I'm really confuzzled.
19:37 geoffb No, it works . . .
19:37 stevan named params should work positionally too IIRC
19:37 geoffb . . . but that's only because pugs has a bug -- named params should *not* work positionally
19:37 stevan ah
19:37 stevan ok
19:38 stevan then that should get fixed then
19:38 geoffb yeah
19:38 stevan geoffb 1 Test.pm 0
19:38 geoffb And almost everything has a type, except $todo.
19:38 stevan next :)
19:38 stevan yes, I think that might have been a parse bug at the time that was written
19:38 geoffb And limiting like and unlike to Str and Rule matching is P5-ish.  This is P6
19:38 geoffb and so on
19:39 stevan what other types would you suggest?
19:39 geoffb Any / Any
19:39 geoffb Internally, it just does a smartmatch
19:39 stevan yes
19:39 stevan however, it is really supposed to be based on Test::More::like|unlike
19:39 stevan so allowing other types would change that behavior
19:40 geoffb I didn't have a big list of issues created, I'd just found a lot of little niggles while trying to figure out how to make it faster
19:40 stevan not that I think Test::More is the best thing since sliced bread
19:41 stevan well so far I agree on all except the like(Any) thing
19:41 geoffb I can see that point . . . but by making Test.pm be sortof a merge of Test::Simple and part of Test::More, with some random sprinkles such as special todo handling and so on, we've already crossed the "perfect clone" barrier
19:41 stevan I think it will pave the way for a lot of abuses
19:41 stevan geoffb: it also has some Test::Exception thrown in too :)
19:41 geoffb fair enough.  :-)
19:42 stevan I am not thinking it should be a clone, but like() in perl5 and like in Test.pm should be reasonably similar
19:42 stevan Keep in mind too that Test.pm will *NOT* be the perl6 test module of choice
19:42 stevan it is just to make pugs testing easier
19:42 geoffb perhaps we just need a "matches/not_matches" pair to have Any / Any semantics (but with a better choice of name than not_matches, blech)
19:42 stevan geoffb: that sounds good to me
19:43 stevan or is_like()
19:43 stevan isnt_like()
19:43 stevan that implies a wider range of match IMO
19:44 geoffb fair enough
19:44 stevan I am sure proclaim() could use some work
19:44 geoffb NOD
19:45 stevan geoffb: all this sounds good, you should add your changes
19:46 stevan remember to bump up the version to 0.0.7 and add any tests you need to
19:46 stevan and run a full Pugs test run before and after
19:46 geoffb I probably will . . . but I've got some more experimenting to do
19:46 stevan so you can be sure you didnt break anything
19:46 geoffb of course!
19:46 geoffb nodnod
19:46 * stevan broke the build once not doing that :)
19:46 geoffb oops
19:47 stevan but there was only a few hundred tests and about 20 developers, so it wasnt as big a deal :P
19:47 stevan svn revert is your friend :)
19:47 geoffb The other thing is the performance side -- if this module is really just for pugs tests, and the recommended test module will be different, perhaps this needs to be split into a friendly/powerful module and a fast one for running the pugs test suite
19:47 geoffb oh yeah, been reverting a bit lately
19:48 geoffb (not checked in versions, just local stuff that doesn't work)
19:48 stevan geoffb: I see no reason to split it
19:48 stevan if you can make this faster, then by all means do so
19:48 stevan no need to split off
19:48 stevan Test::Builder will surely be the basis for any non-Pugs tests later
19:49 geoffb Oh, sorry, wasn't clear.  Missing phrase "If it won't go any faster without cutting functionality,"
19:49 stevan ah
19:49 geoffb several of my ideas so far have amounted to like a percent or two here or there, but not giving up yet
19:50 geoffb gotta run, but will be back in a bit and reading scrollback, so don't hesitate to toss ideas out if you have any
19:50 stevan geoffb: I have to get back to $work myself
19:51 domm Hmm, I'm having problems with prove et.al.
19:52 domm Do I have to do perl Makefile.PL && make in pugs
19:52 domm before running prove?
19:53 stevan domm: you can always just do pugs t/somefile.t
19:53 domm stevan:  Can't locate Test.pm in @*INC
19:57 dkf has quit IRC (Read error: 145 (Connection timed out))
19:58 stevan domm: pugs -I ext/Test/lib/ t/somefile.t
19:59 domm stevan: works, thanks!
19:59 nirz has quit IRC (Read error: 145 (Connection timed out))
20:07 pelagic has joined #perl6
20:08 pelagic Hello World!
20:09 Limbic_Region saluations pelagic
20:09 pelagic hey L~R!
20:09 mr_ank palagic: you name the output we write the program?
20:10 pelagic go ahead!
20:10 Limbic_Region ?eval 'go ahead!'
20:10 evalbot6 'go ahead!'
20:10 knewt has quit IRC (Remote closed the connection)
20:10 Limbic_Region next
20:10 knewt has joined #perl6
20:11 mr_ank <pelagic> Hello World!
20:11 mr_ank (sleep depravation + stress = bad jokes)
20:11 pelagic seen worse ...
20:11 mr_ank (*and* grammar)
20:12 Limbic_Region pelagic - you really need to come up with something a bit more difficult ;-)
20:12 mr_ank heh
20:13 * Limbic_Region hopes $larry agrees with him and knows of a way to move forward
20:14 pelagic let me think it over ...
20:15 sapper has quit IRC (Remote closed the connection)
20:17 vcv has joined #perl6
20:17 vcv- has joined #perl6
20:17 Darren_Duncan has joined #perl6
20:17 svnbot6 r4651, domm++ | hmm, how do I say this in ASCII...?
20:17 svnbot6 r4651, domm++ | 'french-quotes' >> ~ << not working if file isn't utf8-encoded
20:19 Boogie has joined #perl6
20:19 cfaun has joined #perl6
20:22 domm Boogie: you /just/ missed my first submissions to Pugs...
20:23 Boogie domm: oh.
20:24 Boogie I have network problems - the router doesn't give net, just for my wireless connection...
20:26 pmichaud has joined #perl6
20:28 pmichaud ummm, are spaces allowed within hyper-ops?
20:28 Forth has quit IRC (Read error: 110 (Connection timed out))
20:28 domm pmichaud: you mean >>~<< vs >> ~ << ?
20:28 pmichaud domm: yes
20:29 domm no idea, but pugs doesn't seem to care. I think
20:29 pmichaud for some reason I presumed that spaces weren't allowed
20:29 pmichaud well, I just noticed a test in pugs for spaces
20:29 pmichaud and was curious about it
20:29 Odin-LAP Why shouldn't they?
20:29 * Odin-LAP ponders.
20:29 domm ?eval ('a','b') >> ~ << (a,2)
20:29 evalbot6 Error:  unexpected ">" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
20:29 domm ?eval ('a','b') >> ~ << (1,2)
20:29 evalbot6 Error:  unexpected ">" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
20:29 domm ?eval ('a','b') >>~<< (1,2)
20:29 evalbot6 ('a1', 'b2')
20:30 domm ok, it does care...
20:30 pmichaud well, it cares when using texan quotes, I'm not sure it cares with french quotes
20:30 geoffb Odin-LAP, I'm guessing it's a parsing issue.  Like how reduce-ops can contain only certain items
20:30 geoffb just a guess . . . and possibly wrong
20:30 pmichaud Odin-LAP: it depends on how we consider the meta ops to parse
20:31 Odin-LAP I see.
20:32 pmichaud i.e., is + <<  really a hyper + or a + followed by another operator of some sort?
20:32 Juerd domm: meta-operators are not operators
20:32 Juerd domm: Operators (which can be a combination of meta operators on real operators) cannot contain whitespace.
20:32 Juerd pmichaud: It is + qw(
20:33 pmichaud Juerd: yes, that's what I was thinking
20:33 Juerd [+], >>+, etc, must all be whitespaceless
20:33 domm Pugs currently accepts say <a b c> » ~ « <1 2 3>;
20:33 pmichaud something in the tests for hyper_latin1.t caught my eye about that, so I thought I'd ask
20:33 domm but not <a b c> >> ~ << <1 2 3>;
20:33 Juerd I'm not sure what [x] does. Is it reduction or [x()]?
20:34 pmichaud [x] would be a reduction
20:34 Juerd If [x] is reduced x, then [x ] breaks
20:34 Juerd But I wouldn't like that.
20:34 Juerd I think repeated x|xx is useless.
20:34 Juerd And only [Y] is a real "problem"
20:34 Juerd Still, the solution must be the same.
20:34 pmichaud but I don't think [x ] breaks
20:34 Juerd pmichaud: [x ] must be [x() ]
20:34 pmichaud [x] is reduced &infix:<x>, while [x ] is [x() ]
20:34 pmichaud exactly
20:34 Juerd pmichaud: Because the operator [x] doesn't have ws in it
20:35 Juerd s/breaks/disambiguates/
20:35 domm pmichaud: thanks for the spot, I updated hyper_latin1.t
20:35 pmichaud yeah, I should probably review a lot of the tests and see which ones stick out in my mind :-)
20:35 * domm goes to bed now, but will add some more hyper-tests tomorrow
20:38 Juerd Heh.
20:38 Juerd Hyper latin.
20:38 Juerd That's another exciting class school didn't teach.
20:38 wolverian hehe.
20:39 pmichaud and a "hyper-test" sounds like a psychological examination of some sort :-)
20:39 Juerd Hm
20:39 svnbot6 r4652, domm++ | removed wrong spaces from hyper-op, test result unchanged
20:39 Juerd Although...
20:39 Juerd one of my Latin teachers was kind of hyperactive at times
20:39 Juerd Too bad the guy left, burned out. He was a great teacher.
20:39 domm anyway, see you tomorrow!
20:39 Juerd Bye, domm
20:40 pmichaud later, domm, thanks!
20:44 wolverian dammit, this motherboard doesn't fit into this ages old compaq case.
20:44 * wolverian ponders just running it outside the case
20:44 Juerd Rule #1: if any compaq equipment dies, replace it
20:44 Juerd Rule #2: do not re-use compaq hardware
20:45 Juerd Rule #3: do not try to fix broken compaq stuff
20:45 geoffb Juerd, why?
20:45 Odin-LAP When does it get to burning factories making Compaq stuff to the ground?
20:45 Juerd geoffb: I prefer compatibility with the real world.
20:46 * geoffb blinks
20:46 Juerd I myself am incompatible with much of the real world, but that doesn't mean my hardware shouldn't be.
20:46 * geoffb can only barely remember the last time he used Compaq equipment
20:46 Juerd (compatible)
20:46 geoffb I think about 10 years ago or so
20:46 Juerd I see
20:46 Juerd I'll give you a few examples:
20:47 geoffb Please.  :-)
20:47 Juerd Many compaq boxes accept only compaq memory. This is the same memory, but thrice as expensive, because it was modified to identify itself as compaq memory.
20:47 Boogie_ has joined #perl6
20:48 Juerd Compaq servers are usually shipped with scsi controllers. These controllers refuse to work in non-compaq mainboards, stating they work in compaq mainboards only at bootup. Hacking a BIOS string can help.
20:48 Juerd Compaq has for a long time used different colours for wires. This has caused some electrical equipment to blow.
20:48 geoffb wow, impressively bad corporate behavior, that
20:48 pmichaud hmmm, regarding ingy's latest post to p6l -- is it true that string context on an array puts spaces between the elements?
20:49 Juerd A few positive things about compaq:
20:49 geoffb The itsy?
20:49 Juerd Their hardware usually doesn't break
20:49 Juerd When it does, you get new stuff real quick (although I've heard some "yeah, yeah, RSN. Maybe tomorrow"-ish stories too)
20:50 pmichaud s/ingy/ingo (sorry)
20:50 Juerd And they were one of the first to think about screwdriverless hardware maintenance
20:50 wolverian screws--
20:50 Juerd Still, I prefer compatibility, because I don't want to wait for some support engineer to get me new hardware
20:51 wolverian this is an extremely unsupported piece of extremely old hardware
20:51 Juerd I want to get a new $50 thing from ANY computer store and just fix the damn problem.
20:51 Juerd (The same thing would cost at least $150 from compaq)
20:51 wolverian granted it still just works with no problems whatsoever, except the lack of RAM.
20:51 PerlJam pmichaud: Is it true that that's what happens or that that's what's supposed to happen?  :)
20:51 pmichaud what's supposed to happen
20:51 Juerd wolverian: Now to find old compaq RAM - good luck.
20:52 PerlJam pmichaud: yes, I believe that's what's supposed to happen.
20:52 Juerd Now if it were compatible, you'd just get any module worth less than $5 and have it work.
20:52 pelagic has quit IRC ("Client Exiting")
20:52 pmichaud isn't that significantly different from perl 5?  I can't seem to find a note about it in the design documents
20:52 Juerd But because it's compaq and antique, you probably have to spend more than $100 for the same :)
20:52 Aankh|Clone Are there any straightforward examples of using Perl 5 modules?
20:52 Aankh|Clone is now known as Aankhen``
20:53 geoffb I'm not a fan of Dell by any means, but I'm reminded of one thing I *do* like about them.  You can get certified on their hardware relatively easily, and then if you call them up and say "my foo is broken" they send you a new foo immediately, no questions asked (except customer # :-), no listening to insipid first level support "did you plug it in" crap
20:53 Juerd Aankhen``: Yes.
20:53 wolverian Juerd: I'm not spending any money, trust me. :)(
20:53 wolverian s,(,,
20:53 Juerd geoffb: Not here.
20:53 Aankhen`` Juerd >> Could you point me to them?
20:53 PerlJam pmichaud: How do you impose string context upon an array in perl5 except by surrounding it in "" ?
20:53 Aankhen`` I see an example script under examples/perl5/, but that's a little too complicated.
20:54 geoffb Juerd, ah well.
20:54 Juerd geoffb: Dell usually just try to convince you your hard drive isn't broken. BUT IT GIVES UncorrectableErrors DAMNIT
20:54 pmichaud pj:  ~@array
20:54 geoffb Juerd, BLEAH
20:54 Boogie has quit IRC (Read error: 60 (Operation timed out))
20:54 Zaoth has joined #perl6
20:54 Juerd geoffb: "Windows and Linux both agree" "But we don't" "...!"
20:54 geoffb heh
20:54 Juerd It's so terribly frustrating
20:54 pmichaud pj:  my @array = <a b c d>;   my $str = ~@array;
20:55 pmichaud seems to me that $str should be "abcd"
20:55 Juerd I now prefer to build my own machines.
20:55 pmichaud ingo's post (and apparently pugs) seems to think it should be "a b c d"
20:55 geoffb Someone could create a computer company with amazing support, perfect shipping, helpful salespeople, and so on . . . and noone would be willing to spend the extra $50 per box.
20:55 geoffb Juerd, I agree with that sentiment
20:55 pmichaud I'd be a bigger fan of Dell if my Dell's fan wasn't so loud at the moment :)
20:55 Juerd I use Asus or Aopen cases, WD hard drives, any cheap (non-whitelabel) optical drive, and Sweex SATA controllers
20:55 PerlJam pm: I know how to do it in perl6; I'm saying there's no equivalent in perl5 (except putting the array in "")
20:55 PerlJam pm: so, I don't see how it can be a departure.
20:56 wolverian Juerd: what kind of warranty do WD HDs have nowadays?
20:56 Juerd geoffb: Yep. That's because everyone has a nerdy neighbour (that'd be me) who just LOVES (not!) to fix other people's computers, because - well, he does that stuff ALL DAY because he must LIKE it, doesn't he?
20:56 pmichaud pj: Oh, perhaps that makes sense.  Seems odd, however
20:56 * geoffb resembles Juerd's remark
20:56 Juerd wolverian: All cheap (PATA/SATA) hard drives have 1 yr now
20:56 PerlJam pm: all the shiny new stuff seems odd at first :)
20:57 wolverian Juerd: ah. thanks.
20:57 Juerd I like using computers
20:57 Juerd I like hacking
20:57 Juerd I just don't like fixing things clueless people broke.
20:57 Juerd When I get paid for it, sure, I'll do it, as I'll do anything (computer related) for a paying client.
20:57 Zaoth has left
20:58 Juerd But the expectation that I love to fix things -for free- really bothers me sometimes.
20:58 PerlJam pm: besides, you can always  my $str = [~] @a; say $str;  if you really don't want the spaces
20:58 PerlJam pm: It's a huffmanly wash as far as I'm concerned.
20:58 whiteg has joined #perl6
20:59 Juerd They ask me "what can I do to prevent this from happening in the future?"
20:59 geoffb Juerd, I thought the Seagate ones were up to 5 years now (as of sometime last year)
20:59 Juerd We all know the answer
20:59 pmichaud pj:  what if someone passes an array to a function expecting an argument in string context?  Same thing...?
20:59 Juerd But they won't accept that (self-)education is required.
20:59 Juerd They won't install other software.
20:59 Juerd geoffb: Not the cheap ones.
20:59 Juerd geoffb: The scsi disks and the high end satas are
20:59 * Juerd almost typed satans there
20:59 PerlJam pm: that or a warning/error depending on your chosen level of bondage.
21:00 geoffb The 7200.8's aren't?
21:00 pmichaud pj: okay
21:00 geoffb sigh
21:00 Odin-LAP What, you mean they aren't?
21:00 Juerd geoffb: nafaik
21:00 pmichaud still it surprised me somehow :-)
21:00 Odin-LAP (Satans, that is.)
21:00 pasteling "geoffb" at 69.110.115.185 pasted "Usage of various Test.pm functions in pugs test tree" (20 lines, 273B) at http://sial.org/pbot/11065
21:00 Juerd geoffb: It's no problem. You get 5 drives for the same amount of money you spent on 1 five years ago
21:00 Juerd geoffb: So just make it redundant. So just make it redundant.
21:00 geoffb Above pasteling output brought to you by random data gathering
21:01 geoffb Juerd, :-)
21:01 Juerd Linux software raid has become very good and can compete with expensive hardware raid solutions
21:02 Juerd We use EUR 35 sata-controllers from sweex (2 ports) and software raid on that
21:02 Juerd Works wonderfully, with acceptable performance.
21:02 elmex has joined #perl6
21:03 Juerd And really, I prefer a 3-disk raid-1 mirror with lots of redundancy to a single scsi disk and scsi controller, because the redundant solution is cheaper.
21:03 wolverian Juerd: do you try to buy the SATA drives from different batches?
21:03 PerlJam Juerd++
21:03 Juerd Anything can break. And if it's redundant, it CAN break. No big deal. Replace a disk and forget it happened.
21:03 pmichaud amen
21:03 Juerd wolverian: I know I should - but usually I don't pay attention to that.
21:04 wolverian right.
21:04 Juerd Take for example feather - it uses the setup I just described
21:04 Juerd A cheap EUR 35 non-raid sata-controller
21:04 Juerd With two cheap 80 GB disks from western digital
21:04 svnbot6 r4653, Aankhen++ | * docs/01Overview.html -- updated "Can Pugs work with Perl 5 libraries".
21:04 Aankhen`` Could someone take a look at that?
21:04 Juerd And we have 20 machines like that
21:04 Juerd In small non-19" cases
21:05 Juerd Because 19" is also too expensive and really any easier. In fact, it can be quite annoying to have to screw all the time.
21:06 Juerd These are small and ugly aopen cases
21:06 Juerd They are set up vertically, so no machine rests on top of any other
21:06 Juerd Four of them next to eachother fit in a 19" rack
21:06 Juerd Add a shelf, then four more, etcetera
21:07 * Juerd laugs at people who spend way too much money on servers for simple tasks :)
21:07 Juerd No, you really don't need that quad xeon for your non-slashdot site ;)
21:08 Juerd (That is: yet another website running maybe four or five PHP scripts)
21:09 Juerd Oh, and debian all the way of course :)
21:09 svnbot6 r4654, Aankhen++ | * docs/01Overview.html -- added some more information to the Perl 5 answer.
21:09 Juerd Let's not waste too much time on maintenance
21:10 cfaun has quit IRC (Client Quit)
21:10 geoffb debian++
21:10 * Juerd just opens 8 X terminals, sshs to 8 machines and runs dist-upgrades
21:10 Juerd In the same time, someone else has finally updated a single gentoo box's once-again-broken config
21:10 Aankhen`` G'night.
21:10 Aankhen`` has quit IRC ("Experiments should be reproducible -- they should all fail the same way [Time wasted online: 2hrs 23mins 49secs]")
21:11 Juerd Oh, and test scripts work much better than nagios-like stuff ;)
21:11 Juerd cd ~root/t; make test  # :)
21:12 pasteling "geoffb" at 69.110.115.185 pasted "Usage of various Test.pm functions in pugs test tree" (21 lines, 452B) at http://sial.org/pbot/11066
21:13 geoffb Slightly cleaner
21:13 geoffb I wonder what test uses plan twice
21:13 Juerd ical--  # too easy to accidentally create events
21:13 Juerd ical--  # too hard to deliberately delete them
21:13 nothingmuch harrorth is in a crisis =(
21:13 Juerd ical--  # the combination of these two is hateful
21:13 geoffb nothingmuch, what seems to be the problem?
21:14 nothingmuch Juerd: doesn't undo cut it?
21:14 nothingmuch geoffb: well, my initial interpretation of how a forth system works was too high level
21:15 nothingmuch what I have now is a heap of stuff that shouldn't be there
21:15 nothingmuch abstractions which are a pain
21:15 * nothingmuch keeps blaming autrijus for the too early reader monadization
21:15 nothingmuch ;-)
21:16 Juerd ical--  # can't do anything during isync
21:16 nothingmuch regardless, I think i'm going to switch to a bufferred approach, where there are two buffers, an AST buffer, and a string buffer
21:16 Juerd Even fscking outlook lets you change things during synch
21:16 Juerd And it just adds whatever you do to the queue of synchable items
21:16 pmichaud has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]")
21:16 nothingmuch the string buffer is used to fill the AST buffer when it's empty
21:16 Juerd ical++  # pretty, though.
21:16 nothingmuch and the user is used to fill in the string buffer whan that's empty
21:17 Juerd Undo seems towork
21:18 nothingmuch also, with this approach the whole process is going to be like a loop
21:18 nothingmuch and not like reduction
21:18 geoffb nod
21:18 nothingmuch i hope this doesn't end up too confusing for my readers
21:19 nothingmuch because it is already pretty confusing for me =P
21:19 * geoffb knew he was right to let nothingmuch iterate a couple times before diving in
21:19 geoffb heh
21:19 vcv has quit IRC (Read error: 54 (Connection reset by peer))
21:19 nothingmuch but then again, confusion is a good starting point
21:19 nothingmuch geoffb: ah, you're also a forth guru?
21:20 * geoffb guffaws
21:20 nothingmuch wtf guffaws
21:21 vcv has joined #perl6
21:21 * mugwump chortles
21:21 geoffb Nope, just have a healthy belief that wave functions tend to collapse later than most people think
21:21 nothingmuch ah
21:22 nothingmuch well, i was anticipating this kind of stuff, but i didn't expect forth to be so surprising
21:22 cdpruden has joined #perl6
21:22 geoffb It's on my list of languages to learn, because I have a feeling that it has the "simple concept, deep meaning" thing going
21:23 nothingmuch well, the problem with forth is that it's simple concept, superficially simple meaning, deep application of meaning
21:23 G2 has quit IRC ("oops")
21:23 nothingmuch because it gives a very mediocre first impression
21:23 geoffb nodnod
21:23 nothingmuch it's the way the language is applied to itself, to it's runtime, and so forth that makes it powerful
21:24 nothingmuch it's the way that it's extensible that allows it to be flexible, and symbolically powerful
21:24 nothingmuch and it's the way that it is interpreted and compiled that keeps it simple enough to be fast and small, without forefitting the two other properties
21:24 pasteling "geoffb" at 69.110.115.185 pasted "Usage of various Test.pm functions in pugs test tree" (21 lines, 452B) at http://sial.org/pbot/11067
21:24 geoffb This time without including matches in comments, sigh
21:24 nothingmuch i'm off for my weekly cigarette
21:27 dkf has joined #perl6
21:28 mj41 has quit IRC (Read error: 104 (Connection reset by peer))
21:41 autrijus greetings!
21:41 geoffb greetings!
21:41 mugwump hi!
21:41 nothingmuch hola
21:41 autrijus so, /me svk pull and about to svk ci
21:42 awwaiid forth sounds like playing go
21:42 rjbs click click click?
21:49 vcv- has quit IRC (Read error: 145 (Connection timed out))
21:49 svnbot6 r4655, autrijus++ | * PAST compileation and PIR emission, phase 1, works!  Try this,
21:49 svnbot6 r4655, autrijus++ |   which generates, according to Leo, "100% correct" PIR:
21:49 svnbot6 r4655, autrijus++ |     % ./pugs -C PIR -e 'say "Hello, World!"'
21:49 svnbot6 r4655, autrijus++ |     % parrot dump.ast
21:49 svnbot6 r4655, autrijus++ |     Hello, World!
21:49 svnbot6 r4655, autrijus++ | * Also because it's now a Proper Compiler, we have this now:
21:49 svnbot6 r4655, autrijus++ |     % ./pugs -C PIR -e '"Hello, World!"'
21:49 svnbot6 r4655, autrijus++ |     *** Literal value used in constant expression: VStr "Hello, World!"
21:49 cjeris has quit IRC ("BitchX: its what's for lunch")
21:50 jhorwitz autrijus++
21:50 jhorwitz autrijus++
21:50 jhorwitz autrijus++
21:52 mr_ank wow
21:52 Odin-LAP karma autrijus
21:52 Odin-LAP Hmm?
21:52 Odin-LAP :p
21:53 nothingmuch perlbot karma autrijus
21:53 perlbot Karma for autrijus: 719
21:53 nothingmuch is now known as perlbot_
21:53 obra perlbot karma c
21:53 perlbot Karma for c: 517
21:53 perlbot_ Karma for autrijus: astronomical
21:53 perlbot_ is now known as nothingmuch
21:53 obra perlbot karma perl
21:53 perlbot Karma for perl: 21
21:53 nothingmuch ;-)
22:01 * Khisanth ponders how to abuse the ((( and ))) operators
22:02 Khisanth wrong channel :)
22:02 vcv (((.. wtf!
22:03 Khisanth 1 ((( 2 ))) 3 == 1 :p
22:03 vcv very confused
22:03 Khisanth user defined ;)
22:04 vcv yeah but what does that mean?
22:05 Khisanth it means whatever I define it to mean!
22:06 vcv so <Khisanth> 1 ((( 2 ))) 3 == 1 :p meant nothing really
22:06 svnbot6 r4656, autrijus++ | * Switch to functional dependency for the "Translatable" class.
22:06 svnbot6 r4656, autrijus++ | * add usual svn props for Pugs.Compile.PIR.
22:06 autrijus vcv: right... Khisanth is just noting the fact that in perl6 you can override what ((( means
22:06 autrijus without using a source filter.
22:06 pjcj ah - Khisanth is Lewis Carroll!
22:07 vcv phew.  i thought it was some crazy new p6 def op
22:08 Khisanth heeey even better it can be a prefix and an infix :)
22:08 mugwump pugs -C PIR -e 'eval_perl5 "print \"Hello, world!\n\""'
22:08 mugwump parrot dump.ast
22:08 mugwump Name '&eval_perl5' not found
22:09 mugwump damn :)
22:09 * mugwump & # bah, meeting
22:09 autrijus mugwump: sure... ;)
22:11 alinbsp has quit IRC ()
22:12 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
22:15 Khisanth hmm can't have a infix and postfix op with the same "name"?
22:18 autrijus journal up :)
22:18 * autrijus waves and sleeps &
22:21 Darren_Duncan thems some great improvements
22:23 arcady Khisanth you need the proper whitespace, I think
22:23 arcady like no whitespace before the postfix
22:23 arcady and some whitespace before the infix
22:24 Khisanth I was trying ((( 1 ((( 2 ))) 3 ))) :p
22:25 iblechbot has quit IRC (Read error: 110 (Connection timed out))
22:25 Khisanth ((( 1 ((( 2 ))) 3))) didn't work either
22:25 arcady so now "my $x = 10; while ($x --> 0) { say $x }" doesn't work
22:26 arcady though it does in perl 5 (and the equivalent translated into C too)
22:30 Juerd for reverse 0..9 -> $x { say $x } is better anyway
22:30 Juerd Or, well, say reverse 0..9 ;)
22:30 Juerd Still, the --> idiom should work, I think
22:30 Juerd 1..10
22:30 Juerd Exactly why the idiom is misleading :)
22:31 Juerd Hm, no, 0..9
22:31 Juerd Argh. I hate this.
22:32 cdpruden_ has joined #perl6
22:32 xerox has joined #perl6
22:32 xerox Hi
22:33 xerox Do anybody applied for Google's Summer of Code about pugs?
22:33 Enveigler has joined #perl6
22:38 rhandom has quit IRC (Read error: 60 (Operation timed out))
22:39 Darren_Duncan updated to 4656 ... 'make' gives some warnings with Emit.PIR and Pugs.Compile.PIR ... no other problems in 'make'
22:48 cdpruden has quit IRC (Read error: 110 (Connection timed out))
22:49 cdpruden_ has quit IRC (Read error: 110 (Connection timed out))
22:49 ninereasons has quit IRC (""tomorrow"")
22:53 spinclad has quit IRC (Remote closed the connection)
22:56 vitaminmoo has quit IRC ("Leaving")
22:57 dkf has quit IRC (Read error: 145 (Connection timed out))
23:00 dkf has joined #perl6
23:00 dkf has quit IRC (Remote closed the connection)
23:06 dkf has joined #perl6
23:09 Ninthwave has joined #perl6
23:12 spinclad has joined #perl6
23:17 lumi_ has quit IRC ()
23:18 Limbic_Region_ has joined #perl6
23:23 dkf has quit IRC ()
23:23 Limbic_Region_ has quit IRC ("leafChat IRC client: http://www.leafdigital.com/Software/leafChat/")
23:28 vcv- has joined #perl6
23:28 larsen has quit IRC ("later")
23:34 wolverian hmm. I don't understand haskell's precedence rules.
23:35 justatheory has quit IRC ()
23:37 _meppl_ has joined #perl6
23:39 elmex has quit IRC ("leaving")
23:43 mugwump xerox: there are a few summer of gode proposals for various parts of parrot
23:46 nothingmuch holy crap
23:46 nothingmuch i think i got it
23:47 nothingmuch : foo 1 ;
23:47 nothingmuch foo
23:47 nothingmuch .s
23:47 nothingmuch [1]
23:48 pasteling "nothingmuch" at 212.143.91.217 pasted "Harrorth version 2" (203 lines, 5.6K) at http://sial.org/pbot/11072
23:48 nothingmuch i'll document it tomorrow, because it's 3 am
23:48 nothingmuch but reviews are most welcome
23:49 vitaminmoo has joined #perl6
23:49 mugwump writing your own compiler nothingmuch ?!  :)
23:50 mugwump oh, forth
23:50 nothingmuch http://feather.perl6.nl/~nothingmuch/harrorth/
23:50 nothingmuch mugwump: yes, trying to learn haskell
23:50 nothingmuch i'm documenting my progress in tutorial format
23:50 wolverian I'm learning it too now, I think, as I have a friend to learn with. I'm not up to explicit monadic constructs yet though :)
23:50 wolverian (so I can't review your code, sorry. but nothingmuch++!)
23:51 nothingmuch wolverian: try reading through harrorth's docs, there's lots of monad crap flying all over the place
23:52 wolverian yeah, I did that a while back, up to the fifth kwid I think
23:52 wolverian I'm letting thing simmer a bit
23:52 nothingmuch =)
23:52 nothingmuch the 6th kwid is the Reader monad dissected
23:52 wolverian oh, I should read that then
23:52 meppl has quit IRC (Read error: 110 (Connection timed out))
23:52 wolverian Reader or ReaderT? (what's the difference?)
23:52 nothingmuch the 7th kwid is about forth for Real Men
23:52 nothingmuch ReaderT is touched on, but not discussed deeply
23:52 nothingmuch i don't know it's magic yet
23:53 nothingmuch except that it can instantiate monads into the MonadReader class
23:53 nothingmuch but functionally Reader and ReaderT's Reader part are identical
23:53 _meppl_ has quit IRC ("quit")
23:54 meppl has joined #perl6
23:57 dkf has joined #perl6

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

Perl 6 | Reference Documentation | Rakudo