Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-04-15

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:01 whiteg has quit IRC (Read error: 104 (Connection reset by peer))
00:01 autrijus has quit IRC (Read error: 54 (Connection reset by peer))
00:08 elmex has quit IRC ("leaving")
00:25 mugwump ingy: speaking of YAML streaming, I'm thinking that a Parse::RecDescent-based YAML parser that sends events to a YAML representation graph that is also a Perldoc document would be a nice test case.  What do you think?
00:30 jhorwitz has joined #perl6
00:32 sekimura0 has joined #perl6
00:52 netofsickcoder has quit IRC ("aRC")
00:55 oylenshpeegul has joined #perl6
00:56 stevan has joined #perl6
00:56 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.1/20050223]")
01:02 oylenshpeegul has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
01:05 jabbot pugs - 1983 - fix a couple typos
01:08 ninereasons has quit IRC ("Leaving")
01:15 castaway_ has joined #perl6
01:19 justatheory has quit IRC ()
01:19 theorbtwo has quit IRC (Read error: 60 (Operation timed out))
01:24 obra_ is now known as obra
01:27 metaperl has joined #perl6
01:27 metaperl someone enlighten me about temp $var
01:28 castaway has quit IRC (Read error: 110 (Connection timed out))
01:31 PerlJam metaperl: What about it?
01:31 metaperl what synopsis covers it?where can I learn about it?
01:32 PerlJam temp is the new local if you know what that is in perl5.
01:32 metaperl I see
01:33 PerlJam I think it's talked about in S04
01:34 PerlJam But I don't know if it says anymore than I just did.
01:39 PerlJam I just looked.  S06 has a whole section on Temporization
01:39 metaperl S06 is the meat of Perl 6 for me so far...
01:40 metaperl I just did a presentation on slurpy list parms last night: www.metaperl.com/talks
01:40 metaperl http://www.metaperl.com/talks/p6-fp-slurpy/
01:55 metaperl PerlJam, in the Temporization section it talks about the TEMP method which allows you to configure the behavior of the temp call
01:59 metaperl has quit IRC (" HydraIRC -> http://www.hydrairc.com <- \o/")
02:26 MobyTurbo has joined #perl6
02:45 machack666 has joined #perl6
02:45 Alias_ has joined #perl6
02:53 zuulvin_ has quit IRC (Read error: 145 (Connection timed out))
02:59 zuulvin_ has joined #perl6
03:00 Khisanth has quit IRC ("~")
03:02 machack666 has left
03:11 b6s has quit IRC ("leaving")
03:13 b6s has joined #perl6
03:15 scw has quit IRC ("leaving")
03:15 scw has joined #perl6
03:19 hcchien has quit IRC ("leaving")
03:28 Qiang has joined #perl6
03:30 Khisanth has joined #perl6
03:31 hcchien has joined #perl6
03:40 machack666 has joined #perl6
03:41 puetzk has quit IRC (Remote closed the connection)
03:52 hcchien has quit IRC ("leaving")
04:02 hcchien has joined #perl6
04:02 justatheory has joined #perl6
04:15 jabbot pugs - 1984 - further illustrate problems with assigni
04:17 bd_ has quit IRC (Read error: 110 (Connection timed out))
04:22 machack666 has left
04:40 ninereasons has joined #perl6
04:51 hoowa has joined #perl6
04:51 hoowa has left
04:56 theorbtwo has joined #perl6
05:01 Qiang has quit IRC ("z.z.zz.z.")
05:06 hlen has quit IRC (Read error: 54 (Connection reset by peer))
05:07 machack666 has joined #perl6
05:08 machack666 has left
05:14 kelan has joined #perl6
05:15 kelan has left
05:16 autrijus has joined #perl6
05:17 autrijus rehi lambdacamels
05:17 * autrijus blames a dead screen and a living web irc log
05:17 autrijus err
05:17 * autrijus blames a dead screen and praises a living web irc log
05:18 Ovid Hello autrijus.
05:18 ninereasons autrijus: hi.  slow day, eh?
05:20 whiteg has joined #perl6
05:20 mugwump autrijus: any response yet from any(@cabal,$cabal->{lackeys}) about metamodel / class stuff?
05:21 theorbtwo Allo, autrijus.
05:22 autrijus mugwump: no, not yet, but I had not brought it up; give me some more days to work on PA02 first :)
05:23 mugwump mmm.  I've been weighing up whether it's worth writing the MetaModel as a MetaModel in Haskell at all, compared with just writing the plain Class model in Haskell, to give enough functionality to write the P6FC
05:23 autrijus the MM-in-MM sounds like a good idea
05:25 theorbtwo What's the best place to start hacking on ::GTK2 from?  Can I assume I can stick a haskell type in somewhere, and fetch it out again, and that I can have an AUTOMETH method implemented in haskell?
05:26 ninereas1ns has joined #perl6
05:27 autrijus theorbtwo: yes, I think you can add a foreign type of "Obj"
05:27 autrijus or "Opaque"
05:27 autrijus to the Val structure
05:27 autrijus (forall a. Object a) => Obj a
05:27 autrijus where Object is a class
05:27 autrijus that defines the basic metamodel things
05:27 ninereas1ns has quit IRC (Client Quit)
05:28 autrijus start with "invoke a method"
05:28 autrijus and fill in things as you need them
05:28 theorbtwo OK, cool.
05:28 autrijus theorbtwo: then your ::GTK2 wrapper can simply be shuffling those Objs around
05:28 autrijus theorbtwo: I'd be thrilled to help in a couple days
05:29 theorbtwo Not sure when I'm going to be able to start, though; my root filesystem seems to falling appart as I speak.
05:29 autrijus aw!
05:29 theorbtwo You've got a few $workdays first?
05:30 Ovid Night all.
05:30 Ovid has quit IRC ()
05:31 theorbtwo G'night, ovid.
05:31 mugwump yay, going to see a grand Tai Chi master tomorrow
05:32 MobyTurbo has quit IRC ("leaving")
05:32 Alias_ I hope he Veeerrrryyy slloooowlllyy kicks your ass :)
05:32 mugwump he gives his seminars in Mandarin, maybe I'll get 5% comprehension this time around :)
05:33 mugwump It would be an honour to have my ass kicked by such a master
05:33 mugwump http://www.taichichuan.co.nz/taichi/Lineage.html  # his lineage
05:33 Alias_ he comes with a breeding certificate?
05:33 Alias_ wow
05:33 Alias_ He's like a martial arts dude you can take to shows!
05:33 mugwump for sure, 100% pedigree
05:34 autrijus theorbtwo: yeah, I, like stevan, is terribly behind on $work
05:34 rgs has quit IRC (Remote closed the connection)
05:35 rgs has joined #perl6
05:35 autrijus or rather, stevan is not terribly behind, he's just having to go back to p5 land
05:35 autrijus but I'm terribly behind :)
05:35 mugwump I'm trying to convince the Java guy here that we need to port our p5/java code base to p6
05:35 mugwump he hated p5 for good reasons that p6 fixes
05:36 mugwump ie, type safety ;)
05:36 b6s has quit IRC ("leaving")
05:37 Alias_ mugwump: Port all our code now, and in two years we can safely run it on production
05:37 Alias_ I imagine it's hard to make the business case for that
05:37 * mugwump dons his cowboy hat
05:37 ninereasons has quit IRC (Connection timed out)
05:38 b6s has joined #perl6
05:38 mugwump hey, pugs is already in use in production environments.
05:38 Alias_ Not for anything important I hope
05:38 Alias_ No offence to the lamdacamels
05:39 theorbtwo I wouldn't use pugs in production now, but I suspect it'll be at a point in a month where I would.
05:39 theorbtwo (I'd want objects first.)
05:39 autrijus mugwump: the "taichi elements" school: http://0rz.net/2b0hv  
05:40 autrijus mugwump: main (chinese only) site at http://www.taichi-dowing.org.tw/
05:41 autrijus Alias_: I'm using pugs in production :)
05:41 autrijus however, Dan used parrot in production (quite successfully) too
05:41 autrijus and that's not really saying that you need to do that now :)
05:41 Alias_ Define "production" :)
05:42 justatheory has quit IRC ()
05:42 autrijus Alias_: http://www.onlamp.com/pub/a/onlamp/2004/​04/15/parrot_compiler_construction.html
05:43 autrijus my situation is similar.
05:43 justatheory has joined #perl6
05:43 autrijus my situation is basically porting legacy C + Perl5 application into Haskell + Perl6
05:45 mugwump heh, "legacy"
05:45 mugwump I love it
05:45 mugwump it's such a great slanderous term
05:45 autrijus "heritage"? "tradition"?
05:46 mugwump legacy doesn't have to imply awfulness, of course
05:46 autrijus "ancestral"?
05:46 theorbtwo Well, as used in the industry, it generally does.
05:46 theorbtwo It implies that in it's existing form it's a dead end.
05:46 mugwump it just depends on the timescales, I guess
05:46 autrijus then, "prehistoric"
05:47 autrijus (which is true! no comments, ma!)
05:47 theorbtwo Bah.
05:47 mugwump I was involved in a SunOS -> Solaris migration in 1998-1999
05:47 autrijus and no useful PODs either
05:47 mugwump The SunOS network had been installed around 1989
05:47 theorbtwo Needing comments is a sign that your code should have been more clear.
05:47 mugwump In that culture, "legacy" implied a sort of pride in a system that worked so well for so long
05:47 autrijus theorbtwo: I wonder if you can say that to ksh and XS code.
05:48 theorbtwo All XS code needs to be more clear.
05:48 autrijus but if "more clear" means "totally ported to something else" ;)
05:48 autrijus then I agree
05:48 theorbtwo Sometimes, it probably does.
05:48 theorbtwo Though I'm not sure that either C or P5 are such languages.
05:49 theorbtwo In fact, I'd tend to call Haskell less readable to the average programmer then either perl or C.
05:49 theorbtwo (If only because the average programmer already knows imperitive programming.)
05:49 rob__ has joined #perl6
05:49 Alias_ theorbtwo: That's totally wrong. Comments say what you are doing and why, the code says how
05:49 Alias_ The two are different things
05:50 autrijus Alias_: in certain languages the two are the same thing :)
05:50 autrijus like, "make"
05:50 Alias_ You code in the "why" in make?
05:50 autrijus I thought that's the label names
05:50 Alias_ "This looks a bit funny, but we do it so the foobar down the list doesn't spit the dummy"
05:50 theorbtwo Correct.
05:50 theorbtwo You need comments when your code looks a bit funny.
05:51 Alias_ All code looks funny
05:51 Alias_ Why do things in the order you specified
05:51 Alias_ There's tons of things that comments give you that code does not
05:51 autrijus ahh. we're getting somewhere
05:51 autrijus I think PODs are great, btw
05:51 autrijus inline block of docs
05:52 autrijus that is not tied to specific lines
05:52 theorbtwo Sometimes, the funnyness of the code and the comment is worth it because the best you could do is to move the funniness somewhere else where it is worse.
05:52 Alias_ POD is mainly for interface documentation though, less often for internal documentation
05:52 autrijus yeah and that's your "why"
05:52 theorbtwo POD is used to define human semantics for a block of code.
05:53 autrijus but, lunch. &
05:53 Alias_ I look at most code and think "If I sit here and stare long enough I could work this out, but why isn't there a one line comments that summarises it
05:53 theorbtwo Eat well, autrijus.
05:53 theorbtwo Alias: That's what the sub name is for, in part.
05:53 theorbtwo Also, the comment at the top of the sub.
05:54 theorbtwo s/comment/doc block/
05:54 Alias_ In order to read code only, you need as much skill as the person that wrote the code
05:54 theorbtwo I often comment next to variable (inc. & vars) declarations.
05:54 Alias_ With comments, you don't so much
05:55 * theorbtwo shrugs.
05:55 theorbtwo I don't have a lot of experince writing code for others to read.
05:55 Alias_ Nothing I hate more than looking for bugs in a system, and it's 3000 lines of undocumented code
05:55 Alias_ Where do you even start
05:55 theorbtwo When I have, on pugs, I've gotten one review that said it was very clear to read, and one that said it was horrible to read.
05:56 Alias_ Anyways... </rant>
05:56 theorbtwo (On different bits of code, of course.)
05:56 megalomania is now known as chady
05:57 rob_ has quit IRC (Read error: 110 (Connection timed out))
05:57 chady q:f/good &localtime() everyone/
05:58 chady hope I got that right ;)
05:58 theorbtwo G'morning, chady.
06:08 mugwump heh, babelfish really chokes on that taichi elements site
06:08 gaal hey there, folks.
06:08 mugwump "Since the Chen village has originated the Taijiquan, has been through repeatedly the fist careful study, originally will assault the security the Chinese boxing, will melt can to the Book of Changes and in Taoism's profound philosophy."
06:08 justatheory has quit IRC ()
06:10 mugwump "But [ Taijiquan after ] also is one kind of basic criterion which indicates, really contains Italy to need to perform the card by way of the practice to examine, thus always practicing boxing are many, proves becomes aware, the annotation actually greatly has ²§½ì."
06:12 * mugwump gives up and tries a different foreign language instead - Haskell
06:17 theorbtwo has quit IRC (Remote closed the connection)
06:23 masak has left
06:32 mugwump wow, the number of commits in svn.perl.org/perl6 have been staggering recently
06:33 Alias_ someone moved all the modules?
06:34 b6s has quit IRC ("leaving")
06:37 castaway_ is now known as castaway
06:37 mugwump dude, where have you been?
06:38 b6s has joined #perl6
06:38 mugwump see modules/README
06:39 iri_alex has joined #perl6
06:39 iri_alex has left
06:42 Alias_ well... it's just that some of my modules were in there...
06:42 Alias_ That's pretty much the only reason I have an account :)
06:43 mugwump ok, well it will be at http://tpe.freepan.org/repos/alias
06:43 Alias_ I'm looking at it now
06:43 Alias_ Should be intersting to see what they do with Config::Tiny, since it relies on acting like both an object and a hash
06:44 Alias_ method read_string(::?CLASS $class, Str $config)
06:44 iblechbot has joined #perl6
06:44 Alias_ Is that right?
06:45 Alias_ Shouldn't that be method read_string(::?CLASS $class: Str $config)    ???
06:46 mugwump Probably :)
06:46 * mugwump & # friday night
06:47 Alias_ oh dear... whoever did the port really screwed it up
06:50 Alias_ The more I read of Perl 6 in the modules content, the more I'm thinking it looks _more_ complicated and _more_ ugly
06:50 Alias_ I thought we were keeping much of the same elegance
06:52 * castaway has a feeling theres lots of bits that most people will never actually need
06:52 castaway (not that I've actually read much of the design docs)
06:52 Alias_ yeah, ditto
06:53 Alias_ I'm just looking at the Perl 6 version of my code, and not liking what I see
06:53 Alias_ But then I don't know how to separate what is Perl 6 from what is the porter's own particular style
06:54 castaway Config::Tiny is yours?
06:54 Alias_ yes
06:55 Alias_ Config::Simple wasn't simple enough for me
06:56 Alias_ Unfortunately, the whole "use an object like a hash" idea that allowed it to be done so elegantly is sort of lost in the Perl 6 version
06:56 Alias_ Config::Tiny objects where just meant to be HoH structures that you could call methods on
06:56 Alias_ Most of the time you just use them like a HoH, except for reading and writing
06:56 castaway funky
06:56 Alias_ In P6 it's an object with a cfg property that's a hash
06:56 * castaway was planning to use it ,)
06:57 Alias_ So in P5....      $Config->{section}->{key} = 'value';
06:57 castaway you can't have a hash thats also an object?
06:57 Alias_ in P6....     $Config.cfg<section><key> = 'value';
06:57 Alias_ It doesn't appear so
06:57 castaway somehow I thought the compatability wasnt changing *that* much
06:57 Alias_ Due to Larry's whole "no more direct access to internals" decree
06:58 castaway bugger, whatever happened to 'no shotguns'??
06:58 Alias_ hmmm?
06:59 castaway Perls policy.. "We assume you'll stay out of our living room (space), so we dont have shotguns to keep you away" (or something like that, its in the Camel, modules section
06:59 Alias_ right
06:59 Alias_ Seems some of that has dissapeared
06:59 Alias_ I really liked that about Perl
06:59 castaway hmm.. another Perl6--
07:00 Alias_ The assumption is people play nice, and it you want to _not_ trust them, you can do it but it has to be done in an around'a'bout way
07:00 castaway yes
07:00 Alias_ "It's in the docs that you use the methods... why would they touch the internals unless they really knew what they are doing, or were idiots"
07:01 castaway and now you'd have to do roundabout stuff to let them?
07:01 Alias_ Or it's impossible
07:01 castaway hmm,m wonder why that got changed
07:01 Alias_ I hope we still do things like attaching sekrit hash entries to other people's objects without having to subclass now
07:01 Alias_ I find that sort of "hint" attaching very useful
07:02 castaway hm,m I've only done that once, and I wouldnt really call it good ,)
07:02 Alias_ Useful in specific scenarios
07:02 Alias_ I also tend to do objects where you don't create a hash entry at all if there's no data for it
07:03 Alias_ Under the assumption that you save some space, and everything works the same
07:03 castaway makes sense
07:04 Alias_ if ( property only 0.01% of a million objects have ) { ... } works just fine
07:05 CapoeiraB has quit IRC (Read error: 104 (Connection reset by peer))
07:35 larsen has joined #perl6
08:00 osfameron has joined #perl6
08:02 nothingmuch gah
08:02 * nothingmuch is having an argument with pedantic sysop about things that annoy me
08:03 Alias_ heh
08:04 nothingmuch the machines under his control are unuable
08:04 nothingmuch and every time someone is stuck, guess who has to get things done
08:04 nothingmuch "why can't i copy data"
08:04 nothingmuch "why can't i login?"
08:04 Alias_ "I'll do it for you..."
08:04 Alias_ ???
08:04 nothingmuch "why did they change the root password?"
08:04 nothingmuch it's more like "oh, he's done it again... you could try to blah blah blah blah"
08:05 nothingmuch or sometimes "sorry, i can't help you till he wakes up"
08:05 nothingmuch (11 hour time zone difference)
08:05 Alias_ ugh
08:05 Alias_ Goog sysadmins like to help people
08:06 Alias_ Bad systems like to stop the users fucking with "their" systems
08:06 nothingmuch exactly
08:06 Alias_ Really good systems like to help people, but manage to do so in ways that might take a little longer to setup, but can be managed automatically long term, and the users STILL can't fuck things up
08:07 Alias_ :)
08:07 elmex has joined #perl6
08:07 Alias_ I've worked with exactly one good sysadmin in my life so far
08:07 Alias_ It was a joy
08:07 nothingmuch we have a sysadmin with very good intentions
08:07 nothingmuch but he is swamped
08:07 * nothingmuch used to be his subordinate
08:07 nothingmuch but then i got moved around
08:07 Alias_ Unfortunately, the DBA half of the admin team was an overly protective bastard
08:08 nothingmuch DBAs are supposed to be very evil
08:08 * nothingmuch has never met one that actually administers
08:08 nothingmuch at our company they do technical support
08:10 Alias_ The time I had one, he wrote Perl scripts and was the darling of the manager
08:11 xkb has quit IRC ()
08:17 nothingmuch beh
08:17 nothingmuch i hate threats too
08:17 nothingmuch some other guy
08:18 nothingmuch not the sysop
08:18 nothingmuch told me he is 'going to change the root passwords soon'
08:18 nothingmuch in my minds ear i heard "so that you can't access anything anymore"
08:18 nothingmuch (data files owned by me, instead of what they were on the source, because I couldn't rsync as root)
08:19 nothingmuch actually, the problem he complained about was a side effect of not having the root password in the first place
08:21 nothingmuch phew
08:21 nothingmuch steam let out in lawyer speak
08:22 nothingmuch the reason I'm even more upset is that there is a pretence of security
08:22 nothingmuch we are using NIS and RSH, ffs
08:23 castaway sounds like an odd setup to me
08:23 nothingmuch it is
08:24 nothingmuch i gave them 10 valid example of day to day usage requiring the root password, or at least sudo (which I doubt anyone will maintain properly)
08:24 nothingmuch i think visudo should be setuid
08:24 castaway what so you need it for?
08:24 nothingmuch then I can live with not knowing the root password
08:24 nothingmuch automounts break, nfs mounts fall, processes go mad
08:24 nothingmuch swap gets dried up
08:25 nothingmuch (got to reboot, add more, or sometimes just kill someone elses process)
08:25 castaway but thats the sysadmins job, no?
08:25 nothingmuch he has no time for that
08:25 nothingmuch he is one person, with another part timer
08:25 castaway then they need a sysad that does
08:25 nothingmuch taking care of 40 servers or so
08:25 nothingmuch sure, but even then
08:25 nothingmuch provided there is one
08:25 castaway yes even then.. assuming you are a developer, you shouldnt need that kind of power IMO
08:26 nothingmuch when i'm doing the code coverage report that management so dearly wants, i can't call it at 1 AM
08:26 nothingmuch s/it/him/
08:26 castaway (maybe you're not and Im misunderstanding)
08:26 nothingmuch i used to be a sysop
08:26 nothingmuch and I'm not exactly a developer
08:26 nothingmuch i'm a developer, and a tester, and a fixer-upper
08:26 castaway why cant you? if the system is supposed to work for you at that hour :)
08:26 nothingmuch i'm responsible for maintaing the users' shell envs
08:26 nothingmuch and for cleaning tmp dirs
08:26 nothingmuch and managing lvms
08:27 nothingmuch and when someone's make on AIX hangs, i have to find out why
08:27 nothingmuch and i have to see that truss tells me it's looking back three dirs down, and then traversing
08:27 castaway ah well, then it makes more sense
08:27 nothingmuch and when it fstats an nfs mount that isn't there, the user is screwed
08:28 nothingmuch if infrastructure problems were resolved, and arguably (i disagree), they can't
08:28 nothingmuch then I wouldn't need to have the root password
08:28 nothingmuch otoh, if i don't have it, and the problems don't go away
08:29 nothingmuch i estimate that I will spend about 30 minutes on the phone to the sysop each day
08:29 nothingmuch when I need something done that's holding back 5
08:29 nothingmuch and 2 hours waiting for him to fix something
08:29 nothingmuch and get the root password anyway, when he is trying to save a dying raid that is holding back 30 people
08:29 nothingmuch and at the bottom line, if i have to break into the boxes, which I can, i will
08:29 nothingmuch because the boxes are there so I can get work done
08:29 nothingmuch not so that they are 'secure' or whatever
08:39 castaway sounds like they need to hire at leaset 2 more people for the sysad team..
08:45 kungfuftr moo
08:48 autrijus has quit IRC ("leaving")
08:48 autrijus has joined #perl6
08:48 Jouke has joined #perl6
08:48 Jouke has left
09:00 LCamel has joined #perl6
09:04 LCamel has quit IRC (Client Quit)
09:04 LCamel has joined #perl6
09:10 Jouke has joined #perl6
09:10 Jouke has left
09:14 Alias_ has quit IRC ("Leaving")
09:15 jabbot pugs - 1985 - utf-8 URL encoding support with some tes
09:18 Schwern has joined #perl6
09:18 Schwern How does one change directories in perl 6?
09:20 castaway it's not "chdir" ?
09:20 Schwern Hope not
09:22 kungfuftr i don't think it's specced anywhere, so i'd assume it'd be perl5 behavior of 'chdir'
09:22 kungfuftr will check pleac though
09:22 rgs syscalls suck
09:23 castaway hmm, S29 is nowhere near complete yet
09:23 Schwern Read the File::chdir docs.
09:23 Schwern It lays out my beef with chdir() pretty well.
09:25 castaway having the same name doesnt mean the same underlying func.. (IMO anyway)
09:25 gaal Schwern, it's simple really
09:25 gaal inline java
09:25 gaal use jnios
09:26 Schwern of course!
09:26 gaal then call chdir from that.
09:26 castaway ,)
09:26 kungfuftr can't you localize subroutine calls in perl6?
09:26 Schwern My proposal is that the CWD is a scalar.
09:26 Schwern kungfuftr:  Maybe.  But why?
09:26 rgs $*CWD then
09:26 castaway localising certainly sounds like an argument.. having it as a variable rather than a call is odd thuogh
09:27 kungfuftr local cwd('/yar/foo');
09:27 Schwern castaway:  Its scalar data.
09:27 autrijus hmm, theorbtwo is not around.
09:27 rgs op1 "chdir" = boolIO setCurrentDirectory
09:27 castaway he's fighting with a dead filesystem, autrijus
09:27 autrijus I'm currently pondering working on Inline::GHC.
09:27 autrijus I think it's a 10-minutes job.
09:27 Schwern castaway:  Localizing a function call isn't odd? :)
09:27 gaal what does it mean to localze a *call*?
09:27 * castaway looks to see if he's listening
09:27 Schwern In fact... how will a function call know what to localize?
09:28 Schwern What does it mean to localize a system call?
09:28 castaway Schwern, no, it could just be magic.
09:28 Schwern castaway:  Right.  Tailor  made for chdir.
09:28 autrijus I think $*CWD makes sense.
09:28 autrijus Schwern: wants to patch?
09:28 autrijus I can walk you through
09:28 autrijus it'll be about 15min of your time
09:28 Schwern castaway:  Which is a big, bright flashing neon sign saying "IMPEDENCE MISMATCH"
09:28 rgs or, I can try
09:28 Schwern autrijus:  Umm... sure what the hell
09:29 castaway That is, a call inside a block will automagically revert after wards.. (unless it gets some "stay global" param)
09:29 autrijus rgs: welcome to hop along :)
09:29 Schwern castaway:  How does a function call revert?
09:29 autrijus ok. the first thing is to create a new type of Scalar
09:29 Schwern castaway:  For example:  local print "foo"
09:29 castaway Scwhern I dont know, Im a user not an internals person :)
09:29 autrijus that redefines "fetch" and "store" calls.
09:29 Schwern castaway:  Forget internals.
09:29 Schwern autrijus:  Umm... how do I make a new type?
09:29 gaal you can revert the *effects* of a call. it the function has no side effects, isn't that merely temp $result = func()?
09:30 autrijus let me know when you have AST.hs open in your editor
09:30 autrijus line 1124.
09:30 Schwern gaal:  Yes, a local variable.
09:30 autrijus (src/AST.hs)
09:30 autrijus grep for the line "phantom types! fun!"
09:30 Schwern gaal:  but chdir has side effects.
09:30 castaway "chdir" is just a word.
09:30 gaal which is why the concept of localizing a function call makes no sense to me :)
09:30 Schwern autrijus:  Got it.
09:30 autrijus (the term "phantom types" refers to a type that has no constructor)
09:31 Schwern gaal:  Right.
09:31 autrijus Schwern: ok. so you copy that line, and change IHashEnv to IScalarCWD
09:31 Schwern castaway:  So's "perl", what's your point?
09:31 kungfuftr chdir('/foo/bar','/hehe/hoho'); # be in the same two directories at the same time?
09:31 autrijus or IScalarCwd
09:31 * kungfuftr hides
09:31 autrijus I think Cwd makes more sense
09:31 Schwern autrijus:  Copy it where?
09:31 autrijus to the next line
09:31 theorb has joined #perl6
09:31 autrijus I stands for Implementation, aka Tied
09:31 castaway That you seem to think it implies that it does whatever the system chdir does (if not, then I'm lost)
09:31 autrijus Scalar is its base role
09:31 theorb has quit IRC (Client Quit)
09:31 theorb has joined #perl6
09:31 autrijus Cwd is its specialization
09:31 autrijus makes sense?
09:31 Schwern castaway:  Umm... what else would it do?
09:32 autrijus after you're done with that, go to line 973
09:32 castaway whatever it likes ,)
09:32 Schwern autrijus:  Sure.
09:32 autrijus actually, 1089
09:32 autrijus instance Scalar.Class IScalarLazy where
09:32 Schwern castaway:  Ok, bozo bit flipped.  Goodbye.
09:32 autrijus copy that block
09:32 autrijus rename IScalarLazy to IScalarCwd
09:32 Schwern autrijus:  Copied
09:32 autrijus change iType to something sensible
09:32 autrijus and implement "fetch" and "store"
09:33 autrijus they need to have the types
09:33 autrijus    fetch :: a -> Eval VScalar
09:33 autrijus    store :: a -> VScalar -> Eval ()
09:33 theorb Ah, here it goes.
09:33 castaway autrijus: theorbtwo is awake and attempting to connecvt to freenode ,)
09:33 * theorb heard you were looking for me.
09:33 castaway ah :)
09:33 autrijus hey theorb. got time to work on Inline::GHC together today?
09:33 theorb I've got some major FS corruption, so I'm out of it for a bit, I'm afraid.
09:33 autrijus oh ok.
09:33 autrijus I'll complete it myself
09:33 castaway You can use d-i if you like (there being pugs+haskell on it, I mean)
09:34 Schwern autrijus:  Ok.
09:34 autrijus Schwern: a VScalar is just a Val
09:34 Schwern autrijus:  No idea what those fetch/stores do
09:34 autrijus let's do store first
09:34 theorb Way too slow to be usable, I'm afraid.
09:34 autrijus it needs to be of type: a -> VScalar -> Eval ()
09:34 autrijus which in perl terms, means that
09:34 autrijus method store ($new_value) returns Void { }
09:34 dada has joined #perl6
09:35 autrijus since we don't care about the invocant
09:35 autrijus we put _ as the invocant
09:35 castaway hmm, reboot cutie?
09:35 autrijus so our declaration will look like
09:35 Schwern Oh yeah, that was the problem with $CWD.  No error indicator
09:35 autrijus store _ val = ...
09:35 autrijus now, if the store was an error
09:35 autrijus do you want to raise exception?
09:35 Schwern chdir $dir or die "Can't chdir to $dir: $!"  has no equivalent
09:36 autrijus sure does
09:36 autrijus $CWD = $dir err die "..."
09:36 Schwern How can the result of that expression be false?
09:36 autrijus err is undef.
09:36 autrijus not false
09:36 autrijus err is //
09:37 autrijus ok. so to complete the store port
09:37 Schwern Ahh, it does work in File::chdir.  Ok.
09:37 autrijus copy line 982ish
09:37 autrijus    storeVal _ key val = do
09:37 autrijus        str <- fromVal val
09:37 autrijus        liftIO $ setEnv key str True
09:37 Schwern Why am I copying this?  I have no idea what it means.
09:37 autrijus so our store looks like
09:37 autrijus oh ok, let me explain it line by line
09:37 autrijus storeVal is a Hash method
09:38 autrijus it has signature
09:38 autrijus storeVal    :: a -> Index -> Val -> Eval ()
09:38 autrijus which means it takes the Hash object, an index, a value, and evaluates something
09:38 autrijus so the 1st line
09:38 autrijus    storeVal _ key val = do
09:38 * kungfuftr needs to poke work colleague to hand over haskell book
09:38 autrijus means we ignore the hash object, and name the index/value as key and val
09:38 autrijus second line
09:38 autrijus        str <- fromVal val
09:39 autrijus means we cast the val into a string
09:39 autrijus (fromVal can cast it to anything)
09:39 autrijus (here the type is derived automagically by Haskell)
09:39 autrijus now we have a string, and we call it str
09:39 autrijus finally, do perform an IO action. we can perform such actions in the Eval monad by calling "liftIO"
09:39 autrijus        liftIO $ setEnv key str True
09:40 autrijus so it means we call "setEnv key str True"
09:40 Schwern Gotcha
09:40 autrijus where setEnv is a haskell builtin.
09:40 Schwern So key goes away.
09:40 autrijus key is a string, basically
09:40 autrijus so setEnv takes a key as env key and str as new env val
09:40 Schwern I'm already thinking about adapting it for a scalar.
09:40 autrijus the True means we want to override existing env.
09:40 Schwern scalar store.
09:40 autrijus yeah
09:40 autrijus    store _ val = do
09:41 autrijus then do the same str cast
09:41 autrijus your syscall is setCurrentDirectory
09:41 autrijus    liftIO $ setCurrentDirectory str
09:41 autrijus is a good first approximation.
09:41 autrijus i.e. it works
09:41 Schwern Ok.  What about returning undef on failure?
09:41 autrijus (we will add error handling later)
09:41 Schwern ok
09:41 autrijus now, let's do fetch
09:42 autrijus incidentally, there's a Haskell builtin
09:42 autrijus getCurrentDirectory
09:42 autrijus imported also from Internals.hs
09:42 autrijus so... fetch is left as exercise for the reader
09:42 autrijus you can consult HashEnv's fetchVal for now.
09:43 autrijus let me know when you're done with this part.
09:43 autrijus after that, just change one line in Run.hs -- copy line 104 into line 105
09:43 Schwern Do I leave "store :: a -> VScalar -> Eval ()" in?
09:43 autrijus and how to change line 105 will be obvious.
09:43 autrijus no, you don't need to declare the signature.
09:44 autrijus it's already given out in Types/Scalar.hs
09:44 autrijus it's all inferred :)
09:44 autrijus whilst perl 5 has "contexts" based on the return type, haskell can infer different behaviours over all parameter types, in addition to return type
09:45 autrijus (but it's in perl6 and known as MMD -- but MMD isn't required to do return types -- which is sad)
09:45 autrijus so, once you're done with the two places, type "make ghci"
09:45 autrijus and see if your code typechecks.
09:45 autrijus if it does, then it's Proven As Correct. ;)
09:45 Schwern fetch _ = do
09:46 Schwern    liftIO $ return getCurrentDirectory
09:46 Schwern ?
09:46 autrijus no
09:46 autrijus    str <- liftIO $ getCurrentDirectory
09:46 autrijus the reason for this is that getCurrentDirectory itself is an action
09:46 autrijus not a value
09:46 autrijus so the "return" is unneccessary (and in fact wrong)
09:46 autrijus "return" turns a value into an action
09:46 autrijus but getCurrentDirectory is already an action.
09:47 Schwern What's an action?
09:47 autrijus an action is something that has side effects.
09:47 autrijus and can be composed sequentially with other actions.
09:47 autrijus "Int" is a value
09:47 Schwern How does the function know what to return?
09:47 autrijus "Eval Int" is an action that, when run, yields a Int
09:47 autrijus you'll need to tell it. so another line is needed:
09:47 autrijus    return $ VStr str
09:48 autrijus which is equiv to
09:48 autrijus    return (VStr str)
09:48 autrijus the reason why we can't just write
09:48 autrijus    return str
09:48 autrijus is that str is of type String, not of type Val
09:48 autrijus and fetch has the signature
09:48 autrijus fetch :: a -> Eval VScalar
09:48 Schwern Gotcha
09:48 theorb_ has joined #perl6
09:48 autrijus so we need to promote it by adding a constructor
09:48 autrijus it's all part of this data type lego thing.
09:48 theorb has quit IRC ("leaving")
09:49 kungfuftr autrijus: would it not be better to have all these special variables in a special varibales object instead?
09:49 autrijus so, with that, you've added a new Tieable class.
09:49 theorb_ is now known as theorbtwo
09:49 autrijus kungfuftr: you mean dropping $*OUT and @*ARGS
09:49 autrijus and name them $SPECIAL.args ?
09:49 autrijus somehow I don't think that's the way to go.
09:49 gaal syntax question: would running the action and returning the cast value work on one line? eg return @ VStr str <-  liftIO etc. etc.
09:50 autrijus gaal: sure. you write:
09:50 gaal something like a perl pipe
09:50 kungfuftr autrijus: nah, more like $?OS, etc.
09:50 autrijus    return . VStr =<< liftIO getCurrentDirectory
09:50 theorbtwo OK, I'm taking a break from cleaning up my busted FS.
09:50 autrijus which is shorthand for
09:50 gaal yay, the =<< is like perl <== :)
09:50 autrijus    liftIO getCurrentDircetory =>> \x -> return ( VStr ( x ) )
09:50 autrijus err
09:50 autrijus    liftIO getCurrentDircetory >>= \x -> return ( VStr ( x ) )
09:51 Schwern , SymVar SGlobal "$*CWD"        $ scalarRef (undefined :: IScalarCwd)  ?
09:51 autrijus yeah, =<< and >>=
09:51 autrijus Schwern: totally correct.
09:51 autrijus now "make ghci" and see if "say $*CWD" works.
09:51 autrijus err
09:51 autrijus eval "say $*CWD"
09:51 autrijus you'll need to type that at the ghci prompt.
09:51 theorbtwo ./pugs -e 'say $*CWD' is probably easier...
09:51 gaal monads become suddenly so clear when you call them actions. :-p
09:51 autrijus gaal: right :)
09:51 kungfuftr autrijus: $*SPECIAL.os, etc.
09:52 autrijus except they are only proper "actions" when they are upon the IO monad
09:52 autrijus but hey, IO monad is The Chosen Monad, so it makes sense to explain that first
09:52 theorbtwo autrijus: Other then IO and Eval, are there any monads we need to think about (as monads)?
09:53 autrijus theorbtwo: well, it'll be easier to debug in ghci
09:53 autrijus theorbtwo: well... Bind.hs uses the Either monad
09:53 autrijus and Eval.hs uses the Maybe monad
09:53 theorbtwo Monadicly?
09:53 autrijus both are ways to say that "this computation may cause exception"
09:53 autrijus monadically.
09:53 theorbtwo Oh, OK.
09:54 gaal i keep confusing . and $ . is there something that can help me agaisnt that?
09:54 autrijus sure
09:54 autrijus a $ b c       -- a (b c)
09:54 gaal yes
09:54 autrijus (a $ b) c         -- (a b) c
09:54 autrijus (a . b) c     -- a (b c)
09:54 autrijus the "." reads "function composition"
09:55 autrijus the "$" reads "apply"
09:55 autrijus a handy rule is that
09:55 Schwern , SymVar SGlobal "$*CWD"        $ scalarRef (undefined :: IScalarCwd)
09:55 Schwern err.
09:55 autrijus a $ b $ c $ d
09:55 autrijus can always be written as
09:55 autrijus a . b . c $ d
09:55 Schwern $ ./pugs -e 'say $*CWD'
09:55 Schwern /Users/schwern/devel/pugs
09:55 autrijus woot.
09:55 Schwern Ok, that was too easy
09:55 autrijus now, write some test.
09:55 autrijus t/unspecced/cwd.t
09:55 clkao how are you autrijus
09:55 autrijus clkao: why, I'm fine
09:56 Schwern 0 ~/devel/pugs$ ./pugs -e '$*CWD = "lib";  system("ls")'
09:56 Schwern Perl6
09:56 autrijus woot.
09:56 clkao i feel distanced to the world. hopefully i'm finally settling down soonish
09:56 autrijus Schwern: the test needs not be fancy; just cwd to '..', and compare it to the old cwd, make sure it's different, and test identity
09:57 theorbtwo You should probably also test temporilization.
09:57 autrijus (except we don't have temp yet)
09:57 autrijus but it will Magically Work when we have.
09:57 theorbtwo Make it todo_eval, then.
09:57 castaway (so implement that first ,)
09:57 gaal autrijus, he will want to check the system call did get called, no? :)
09:57 autrijus I'm fine with todo_eval
09:58 autrijus but hey, some basic code first, then commit
09:58 autrijus I want to see the code :)
09:58 autrijus we can always add other stuff later
09:58 autrijus and Schwern is, I believe, a committer already.
09:58 theorbtwo He's in AUTHORS, at least.
09:58 autrijus Schwern: that was indeed easy :)
09:58 gaal todo_is($*CWD = "/i/do/not/exist", undef, "error checking");
09:59 iblechbot has quit IRC (Connection timed out)
09:59 autrijus compare it to adding a new SvMG in Perl 5.
09:59 autrijus ;)
09:59 autrijus and the good thing is, when the IMC subsystem lands, it will just magically become part of the PerlScalarCwd IMC.
09:59 autrijus no code wasted.
09:59 rgs you don't add things in perl 5. it breaks compatibility :)
09:59 autrijus and it will be /compiled/ into getCurrentDirectory.
09:59 autrijus rgs: lol
10:00 autrijus err, I mean the PerlScalarCwd PMC.
10:00 autrijus although I'm not sure I want to keep the PMC name. I think I'll just call it Obj.
10:00 autrijus we'll see.
10:01 autrijus theorbtwo: hey, so if you have a few secs, how about adding a eval_haskell primitive? :)
10:01 autrijus theorbtwo: I imagine it will simpify some development efforts toward adding new embedded haskell code, eg Gtk
10:01 bd_ has joined #perl6
10:02 * theorbtwo wonders if he can get hs-plugin's Eval and pugs' Eval to Play Nice Together.
10:02 autrijus sure!
10:02 autrijus theorbtwo: I think it's a simple matter of importing Eval.Haskell into pugs's external.haskell
10:02 autrijus eval :: (AltData.Typeable.Typeable a) =>
10:02 autrijus        String -> [Import] -> IO (Maybe a)
10:03 autrijus is the Eval.Haskell type
10:03 autrijus all our values are already typeable
10:03 autrijus and we can start with Str
10:03 autrijus and refactor later
10:03 autrijus so
10:04 autrijus sub eval_haskell (Str $code, *@imports) returns Str {}
10:04 autrijus since Import is just String
10:04 autrijus so just liftIO it
10:04 autrijus and analyze the Maybe Str
10:04 autrijus return undef on Nothing
10:04 autrijus and return VStr a on Just a
10:04 autrijus that's all!
10:04 theorbtwo Wow.
10:05 theorbtwo You got through implementing it before this machine finished building hs-plugins.
10:05 autrijus don't forget to add a stub eval in External.Haskell
10:05 * castaway grins
10:05 autrijus oh, no, I'm just outlining the strategy :)
10:05 * autrijus has wrote ~0 lines of code
10:05 autrijus I was hoping that you will maybe give it a stab :D
10:05 theorbtwo I will.
10:06 autrijus while I restudy my Inline::MzScheme and think about merging it with hsplugins
10:06 autrijus dons++ # hs-plugins is a Damn Slick package
10:06 theorbtwo Riffling through the dusty remains of my former filesystem was getting rather boring.
10:06 autrijus type-safe eval "" for compiled language is so nice.
10:06 gaal autrijus, on my machine, p5., ~0 is a lot.
10:06 * kungfuftr autrijus did i make any sense at all?
10:06 kungfuftr bah
10:06 autrijus in p6, ~0 is just "0"
10:07 autrijus kungfuftr: no, actually not. :p
10:07 autrijus kungfuftr: $*SPECIAL means something at runtime
10:07 Schwern kungfuftr:  What you said about being in two directories at the same time isn't so far fetched.
10:07 autrijus $?SPECIAL means compile time
10:07 Schwern kungfuftr:  Windows actually tracks your cwd per volume.
10:07 autrijus now, if you are arguing against twigils
10:07 autrijus I can maybe see a point
10:07 autrijus but I think @larry is firmly set on twigils
10:07 kungfuftr sorry, $?<stuff>
10:08 autrijus and
10:08 autrijus $?<OS>
10:08 autrijus isn't neccessary better than $?OS
10:08 osfameron twigils?
10:08 autrijus osfameron: secondary sigils
10:08 theorbtwo Secondary sigils.
10:08 osfameron aha, nice word
10:08 autrijus as long as @larry doesn't go into trigils...
10:08 kungfuftr autrijus: $?OS -> $?GLOBALTHINGY.os(), etc.
10:09 autrijus kungfuftr: and the gain will be?
10:09 kungfuftr autrijus: overridable, abstraction and subclassing
10:10 autrijus you can override $?OS easily as well.
10:10 autrijus I'm not sure you want to pass $GLOBALTHINGY around, so abstraction is mootish
10:10 autrijus although I do agree subclassing the world is fun
10:10 autrijus but anyway. the thing about $?OS and %*ENV is rooted in perl's tieable (aka dbmopen) tradition
10:10 autrijus I tend to think it's a valuable tradition to keep.
10:11 gaal Install linux today! temp $?OS = "debian".
10:11 autrijus but I wouldn't mind if it's also available in a thoroughly OO way.
10:11 autrijus gaal: right, that will go ahead and reformat your disk.
10:11 Schwern Can I do a readdir from pugs?
10:11 * castaway laughs
10:11 kungfuftr autrijus: ditto
10:11 autrijus Schwern: list context readdir?
10:11 gaal no, if we do it right it *won't* reformat, because it's temp.
10:11 theorbtwo It'll burn knoppix to a CD and reboot?
10:11 castaway backs up current OS, reformats, instlls.. restores afterwards? :)
10:11 gaal but that should happen automagically soon anyway :)
10:12 castaway or installs vmware for you
10:12 xern has quit IRC ("leaving")
10:12 xern has joined #perl6
10:12 Schwern autrijus:  I want to list the files in the current directory.
10:12 autrijus ok...
10:12 autrijus let me take a stab
10:12 theorbtwo Er, this should go into Embed.Haskell, right?
10:12 autrijus theorbtwo: right
10:12 Schwern I can't figure out another way to test $*CWD
10:13 autrijus that's fine. implemented
10:13 autrijus checking in
10:13 theorbtwo Then CI away.
10:13 gaal you want Directory.getDirectoryContents...
10:13 autrijus gaal: right, and I've done it :)
10:13 gaal :)
10:14 gaal autrijus++; # if my computer gets too slow, i'll consider upgrading
10:14 autrijus Schwern: so you have @files = readdir($dir)  now.
10:14 autrijus r1986.
10:14 Schwern Thanks
10:14 autrijus np :)
10:15 autrijus we'll worry about dirhandles later.
10:15 autrijus one thing I like about p6 is that str now autovivifies at handles for most methods.
10:15 autrijus =$fh   vs =<FILE>
10:15 autrijus etc
10:15 jabbot pugs - 1986 - * readdir() in list context.
10:16 autrijus for readdir</tmp> -> $file { ... }
10:16 autrijus soo easy.
10:16 * theorbtwo likey.
10:19 Juerd autrijus: Except <> isn't special there (no implied ()), so I think space between readdir and </tmp> would be good. In fact, readdir '/tmp' is probably better.
10:19 chady is now known as chady_
10:19 autrijus Juerd: sadly, I'm firmly of the golfing camp.
10:19 autrijus (on this matter)
10:19 Juerd ee also  <20050312204046.GO30120@c4.convolution.nl>
10:19 Juerd s/^/s/
10:20 autrijus I think =<README> makes sense.
10:20 theorbtwo I'd tend to agree with Juerd.
10:20 autrijus and =('README') reads weird.
10:20 Juerd autrijus: It gets misleading with for readdir</tmp>, readdir<~/tmp> -> $file { ... }
10:20 autrijus also slurp<README> vs slurp('README')
10:20 * theorbtwo still doesn't like the prefix = operator.
10:20 autrijus Juerd: why is it misleading?
10:20 Juerd 'cause that's for readdir('/tmp', readdir('~/tmp')) -> $file { ... }
10:21 Juerd Hence my suggestion to write readdir </tmp> instead.
10:21 autrijus except it isn't.
10:21 autrijus readdir is unary
10:21 Juerd Ehm.
10:21 autrijus and it only globs <>.
10:21 autrijus so that means what it means.
10:21 Juerd Oh god.
10:21 Juerd It being unary makes sense, yes, and fixes this.
10:21 autrijus I've tried it already :D
10:21 Juerd The oh god is about globbing on <>. That's special syntax, which I hate.
10:22 autrijus oh, <> no longer globs
10:22 autrijus not in the p5 sense
10:22 Juerd "and it only globs <>"
10:22 autrijus I mean it in the "eats up" sense
10:22 theorbtwo s/it only globs/it only grabs/
10:22 autrijus yup
10:22 Juerd Oh, okay.
10:22 theorbtwo Blasted overloaded terms.
10:22 autrijus so I think for unaries like slurp and readdir
10:22 Juerd Thought readdir<*/foo>'d glob. Pfew. Good thing it doesn't.
10:22 autrijus the use of <> is perfectly logical.
10:22 Juerd autrijus: Perhaps.
10:22 Schwern What's the equivalent to $0?
10:22 Juerd I see no special reason for using <> to ''.
10:22 theorbtwo $*PROG, I think.
10:23 autrijus $*PROGRAM_NAME
10:23 autrijus Schwern: consult perlvar.
10:23 Juerd Hm - $*PERL5<0>? :)
10:23 theorbtwo (In case of disagreement, /always/ prefer autrijus.)
10:23 autrijus (i.e. English.pm is now default)
10:24 gaal eval_perl5('$0'), Juerd.. :)
10:24 autrijus riiight :)
10:24 autrijus eval_haskell("getProgramName")
10:25 autrijus theorbtwo: oh btw, when you're doing eval_haskell, assume the type as IO String
10:25 gaal eval_c("/* go way up the stack */ argv[0]');
10:25 autrijus I think that's the sensible first step
10:25 autrijus so
10:25 autrijus eval_haskell('"Hello"')
10:25 autrijus would not work
10:25 autrijus eval_haskell('return "Hello"')
10:25 autrijus would.
10:25 autrijus again, we can always fix later
10:26 autrijus ok, I think that's it for now.
10:26 autrijus I need to return to $w0rk for a while :)
10:26 Juerd gaal: '$0'.eval :lang<perl5>
10:26 Juerd ;)
10:27 gaal indeed
10:29 dada has quit IRC (Read error: 131 (Connection reset by peer))
10:31 * autrijus imagines Schwern is coming up with some quite extensive tests.
10:31 autrijus being Schwern, that's not too surprising :)
10:31 Schwern Sorry to dissapoint, I'm struggling with the basics here
10:32 Schwern $*CWD ~= "foo" doesn't work
10:32 autrijus breaks how?
10:32 autrijus commit first so I can see?
10:32 Juerd Hm
10:32 Schwern Also I'm remembering now that $CWD isn't usefulw ithout @CWD
10:32 Juerd Does $*CWD = "foo" chdir?
10:32 autrijus Juerd: yeah
10:32 Juerd NEat.
10:33 autrijus Schwern: @*CWD is easy too.
10:33 Juerd tr E => 'e'
10:33 autrijus just implement it as IArray
10:33 Schwern Yeah, except chdir'ing into a subdir doesn't work out to well with $*CWD
10:33 Juerd Schwern: pop @*CWD?
10:33 autrijus because you need to prefix it with "/" ?
10:33 Schwern push @*CWD, "foo"
10:33 Schwern autrijus:  Right.
10:33 Juerd oh, into.
10:34 Schwern pop @*CWD == chdir('..')
10:34 autrijus well then. just prefix it with / :)
10:34 Juerd Schwern: Yeah, misinterpreted the "into" part
10:34 autrijus I think you can do @*CWD already. see Types/Array.hs for the signature
10:34 Schwern autrijus:  Ugg, second guessing the user's intentions.
10:34 Juerd Schwern: $*CWD ~= '/subdir' then ;)
10:34 autrijus Schwern: I mean in the test.
10:34 gaal does that include the volume on windows?
10:34 Schwern Juerd:  Blows portability
10:34 Juerd Schwern: Watch me care! ;)
10:34 autrijus except currently it's okay in pugs.
10:34 Schwern gaal:  $CWD does.  @CWD as implemented in File::chdir does not.
10:35 autrijus all platforms that can run pugs honours /
10:35 Schwern gaal:  Thus... %CWD. :)
10:35 autrijus %CWD is _also_ easy :)
10:35 Juerd The path separator thing has never bothered me re portability.
10:35 autrijus so
10:35 autrijus push        :: a -> [Val] -> Eval ()
10:35 autrijus pop         :: a -> Eval Val
10:35 Juerd The alternative is File::Spec, and that slows down programming by way too much.
10:35 autrijus fetch       :: a -> Eval VArray
10:35 autrijus store       :: a -> VArray -> Eval ()
10:35 * gaal would like to ask the person who invented separate volumes a few questions one day.
10:35 autrijus here VArray is just [Val]
10:35 Schwern I have no idea what my OF password is.
10:35 Juerd Besides that, / just works on all systems I use Perl on (unixish and win32)
10:35 Schwern Juerd:  No, it doesn't.
10:35 autrijus just implement the four
10:36 autrijus and you'll have a working @*CWD
10:36 theorbtwo autrijus, push returns +@array.
10:36 Juerd Schwern: Haven't had complaints so far :)
10:36 Schwern Juerd:  And it doesn't matter but its too late to go into this.
10:36 autrijus (all the rest methods are generated for you)
10:36 autrijus theorbtwo: it's a language level thing.
10:36 autrijus theorbtwo: consult perltie
10:36 theorbtwo (At least it does in p5.)
10:36 Schwern Juerd:  Look at File::chdir.
10:36 Juerd It's 12:37 pm
10:36 theorbtwo Oh, OK.
10:36 autrijus (i.e. not class level)
10:36 Jonathan_ has joined #perl6
10:36 autrijus Schwern: I'm fixing your passwd.
10:36 Juerd Schwern: Is there any reason for Perl 6 not to simulate the sane environment?
10:37 Schwern Juerd:  Too late to think about this.
10:37 Juerd I think that if chdir isn't going to be portable, perhaps it should be syschdir instead...
10:37 Juerd Schwern: Never too late.
10:37 theorbtwo It means that on platforms where filenames can contain '/', they will be inaccessable for pugs, depending on exactly what "sane environment" you were talking about.
10:37 Schwern Juerd:  3:35am is too late.
10:37 Juerd Schwern: But it's not 3:35am here, so I'm still free to think about it ;)
10:38 Schwern Well, you're getting it wrong.
10:38 autrijus Juerd: you can't pretend volumes doesn't exist. you can of course fake it with /C /D
10:38 autrijus but then you'll run into problems like \\server_path
10:38 Juerd autrijus: Right. As the file:// "protocol" does too.
10:38 autrijus Juerd: ah, URIs!
10:38 autrijus now we're getting somewhere. I'm all for
10:38 Juerd Just skip all the filesystem level stuff and jump right into URIs.
10:38 autrijus type FilePath = URI
10:38 autrijus yup. sure. why not?
10:38 Schwern Please god no
10:39 Juerd file:///C|/Documents and Settings/Juerd works, and I don't see why it should need changing...
10:39 Juerd (Microsoft writes that as file://C:/Docu..., but we all know to ignore that ;))
10:39 * Schwern tosses VMS filepaths into the stew.
10:39 Juerd This fixes the \\server\share\path too: smb://server/share/path
10:40 Schwern What happens to C:\foo\bar/baz\bif.txt?
10:40 Juerd Schwern: Invent an URI scheme for them and they magically work... :)
10:40 Schwern No bloody uris
10:40 Juerd Schwern: Gets converted dwimmably, warning about portability.
10:40 autrijus Schwern: bar/baz isn't a valid filename.
10:40 q[acme] but they're U!
10:40 Schwern Juerd:  Unacceptable.
10:40 Juerd Or that's what I imagine it'd do.
10:40 Juerd Schwern: no warnings :portable;
10:40 autrijus Juerd: IO::All does that, actually.
10:40 Schwern Juerd:  You have to be able to access any possible file.
10:40 autrijus mildly popular too
10:41 Juerd Schwern: There can be no bar/baz in Win32.
10:41 autrijus as does gnome vfs.
10:41 autrijus or any vfs for that matter.
10:41 Juerd Schwern: And in URIs you can use %xx to escape ANY character...
10:41 Schwern Juerd:  I'm not limiting myself to just Win32.
10:41 Juerd That's why URIs work
10:41 Schwern No bloody uris
10:41 autrijus personally I think it makes a lot of sense :) just let the user be happily unaware of it.
10:41 Schwern Christ.  If there's one thing Subversion got wrong its using uris.
10:41 Juerd You said that before. Why no uris?
10:41 Schwern They're needlessly verbose.
10:42 autrijus right. that's what languages are for.
10:42 Juerd Schwern: Hm, funny - I consider that one of the things where it went exactly the right direction
10:42 autrijus spelling out URIs is a sin.
10:42 gaal if we have uir *objects*, we can make CWD store them, and dish out (or accept) reasonable string versions.
10:42 autrijus typing URIs by hand violates the Architecture Of The World Wide Web.
10:42 Juerd autrijus: But working on them with chdir and the like is great.
10:42 gaal *uri objects
10:42 Schwern Also what happens to C:\C\foo?
10:43 autrijus Schwern: nothing really. you can happily use it as always :)
10:43 Juerd Schwern: A guess is made based on $*OS, and a warning is emitted because you used : and \.
10:43 Schwern autrijus:  How?  /C/C/foo?
10:43 Juerd (If those warnings are enabled, which I think they should)
10:43 Schwern What would /C/foo mean then?
10:44 autrijus /C/foo on win32 means the "%VOLUME%:\C\foo"
10:44 Schwern What happens to Windows users who want to throw native filepaths at $CWD?
10:44 Juerd autrijus: C:\C\foo would get translated to file://C|/C/foo on Win32, to file://$*CWD/C:/C/foo on unices.
10:44 Juerd I think...
10:44 autrijus Juerd: that's my imagination too. basically, preserve the p5 semantics.
10:44 Juerd Yea.
10:44 autrijus at no point should we lose the useful illusion.
10:45 Schwern Ok, I'm just getting grouchy and stupid.  Sleep for me.
10:45 Juerd autrijus: But with the ability to inspect the URIs so you can actually debug portability problems, *unlike* Per 5 :)
10:45 Juerd Perl even
10:45 masak has joined #perl6
10:45 Juerd Schwern: Good night, sleep well.
10:45 Juerd autrijus: Good mantra
10:45 Schwern has quit IRC ("My work here is done.  If you need me again admit that you're screwed and die.")
10:45 autrijus schwern++ # committed _before_ sleep
10:45 Juerd changes topic to: pugscode.org <<Overview Journal Logs>> | r1773/winxp: 587/4256 smoke/win2k (occasional): http://xrl.us/fqum (25/4321 , r1980) | pugs.kwiki.org | <autrijus> at no point should we lose the useful illusion.
10:45 jabbot pugs - 1987 - First stab at $*CWD
10:48 Jonathan_ Hi...sorry for being away so long, had to work in Spain for two weeks and was way away from my box that did my Win32 pugs builds. :(
10:49 Jonathan_ I just updated my MakeMaker to the latest, but still have problems building.
10:50 autrijus what's the error?
10:51 Jonathan_ Sorry, I'm trying and failing to find the PasteBot URL...
10:52 autrijus pasteling: nopaste
10:52 autrijus perlbot: nopaste
10:52 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
10:53 pasteling "Jonathan_" at 195.112.34.165 pasted "Current Win32 build problem" (28 lines, 1.1K) at http://sial.org/pbot/9348
10:54 Jonathan_ Thanks.
10:54 kungfuftr anyone know how to get line numbers in a side-by-side diff?
10:56 autrijus Jonathan_: nopaste the main Makefile and ext/CGI/Makefile too
10:56 autrijus I'll bbiab
10:58 pasteling "Jonathan_" at 195.112.34.165 pasted "My makefile" (963 lines, 37K) at http://sial.org/pbot/9350
11:00 pasteling "Jonathan_" at 195.112.34.165 pasted "My ext/CGI/Makefile" (602 lines, 16.9K) at http://sial.org/pbot/9351
11:00 Jonathan_ Thanks...sorry I don't have time to dig into it myself at the moment.
11:19 autark-jp ":".split('ab:cd') --> ('ab', 'cd')  [shouldn't it be the other way around, or did I misunderstand the apocalypse?]
11:20 Jonathan_ I'm no P6 expert, but I think it should be "ab:cd".split(":") if indeed you can do method calls on literals, which I fail to remember.
11:21 autark-jp it seems one can :)
11:28 theorbtwo You can do method calls on literals.
11:28 theorbtwo I don't recall which way around split goes, though.
11:29 autark-jp in current pugs it is "sep".split("string") ... which just seems weird.
11:29 castaway makes not a lot of sense that way around (IMO anyway)
11:29 autark-jp I also got bitten by ('a', 'b', 'c').join("|") giving "baca|"
11:30 autark-jp I guess I missing out on something essential ... better read the docs again :/
11:30 theorbtwo That sounds like a bug...
11:31 castaway It seems its assuming all func(a,b) can also be a.func(b)
11:31 castaway (like p5s OO methods)
11:31 autark-jp according to ./t/builtins/lists/join.t it's not.
11:31 castaway hmm? how does it look in the tests?
11:32 theorbtwo Umm... with less?
11:32 autark-jp my $joined1 = ("a", "b", "c").join("|"); is($joined1, "baca|", '().join("|") should NOT dwim');
11:33 autark-jp I tried to stare intently at it, but it didn't help me very much ;)
11:34 castaway aeh, very confusing
11:34 theorbtwo It's doing a join('a', 'b', 'c', '|') -- that is, joining b, c, and | with a.
11:34 castaway thats a positive test, that shouldnt work?
11:34 theorbtwo The question is why TF it is doing that.
11:35 theorbtwo No, it's a positive test -- it should do what it says there, not what you meant.
11:35 castaway but the very next test does more or less the same thing
11:35 autark-jp something special is going on with lists apparently.
11:35 castaway (except its an array, not a literal list)
11:36 castaway and is supposed to work, if I read it correctly
11:36 theorbtwo Your confusion is caused by the word "work".
11:36 buluaga has joined #perl6
11:37 castaway is(@list.join("|"), "a|b|c", [email@hidden.address] works');
11:38 buluaga so what is new with perl6 ?
11:38 buluaga castaway: is that perl6 code?
11:38 castaway yes
11:38 buluaga so how far is perl6 developed
11:38 castaway (or no, depending how you look at it :)
11:38 autark-jp ;)
11:38 buluaga is there any kind of releases so I could play with coding in it?
11:38 castaway perl6 isnt, pugs is
11:38 castaway yes, cpan, Pugs::... something
11:39 castaway 6.2.0
11:39 buluaga well yes because perl6 and perl5 can be compiled on each others interps right?
11:39 buluaga what is pugs?
11:39 castaway It's a perl6 implementation in Haskell, see pugscode.org
11:39 buluaga Hrmm..
11:39 castaway on each others what? (I think the answer is 'not yet')
11:40 buluaga does it need a special intereperter?
11:40 castaway there are supposed to be binaries available, I havent look though, else you need the GHC
11:40 theorbtwo Pugs is the interpreter; you need GHC 6.4 in order to compile pugs.
11:40 buluaga GHC?
11:41 theorbtwo www.haskell.org/ghc/
11:41 castaway the Haskel compiler
11:41 buluaga hrmm.
11:41 castaway (like you need gcc to build perl5)
11:41 theorbtwo (A haskell compiler, but the only one that supports all the extensions we use.)
11:41 buluaga So what is the avenge of pugs?
11:41 theorbtwo avenge?
11:46 buluaga sorry
11:46 buluaga avantage
11:46 buluaga =/
11:46 theorbtwo advantage.
11:47 buluaga advantage
11:47 buluaga im tired =/
11:47 buluaga lol
11:47 theorbtwo Well, if you want to hack on perl6, it's advantage is that it actually exists.
11:48 theorbtwo If you just want something you can use without having to hack on, give us another couple weeks.
11:48 theorbtwo That's not to say that pugs is unstable, but that it doesn't implement quite large enough of a subset of perl6.
11:48 buluaga well how closely related to perl6 is it, I mean is the code, syntax,functions and what not similar
11:48 buluaga or is puds something totally different from the actual perl6 being developed?
11:49 rindolf has joined #perl6
11:49 rindolf Hi all!
11:49 castaway it implements the actual design
11:49 theorbtwo Pugs aims to be an implementation of perl6, so it shouldn't differ from it at all, from a user point of view.
11:49 rindolf I've set up a new infobot - Pninith. Would you like me to place her here?
11:49 castaway (else I wouldnt have mentioned it)
11:49 castaway what, more bots?
11:50 theorbtwo However, at present "aims to be" and "should" are somewhat to the forefront.
11:50 rindolf castaway: there ain't no such things as too many bots
11:50 theorbtwo Pugs does not yet have user-visible objects.
11:50 castaway oh but there is :)
11:51 theorbtwo #parrot has too many bots, and AFAIK it only has one.  It all depends on the utility:annoyance ratio.
11:51 castaway true
11:51 b6s has quit IRC (Remote closed the connection)
11:51 * theorbtwo grrs at GHC.
11:51 hlen has joined #perl6
11:52 kungfuftr how does one export variables from a class?
11:53 theorbtwo AFAIK, put "is export" on the declaration.
11:53 kungfuftr yar... kk
11:53 * theorbtwo is afraid that people listen to him too much when he says "AFAIK".
11:54 castaway some answer is better than none at all :)
11:54 dada has joined #perl6
11:55 b6s has joined #perl6
11:55 buluaga ahhh
11:55 buluaga pugs sounds nice
11:55 buluaga im going to check it out
11:55 castaway have fun
11:55 buluaga now im an averge perl coder
11:55 buluaga will i be able to learn pugs easily?
11:55 buluaga or will it be a challenge like learning java ?
11:55 buluaga lol
11:55 autark-jp I can assure you, pugs is nice :)
11:56 castaway have you read the p6 design docs?
11:56 buluaga no not yet.
11:56 buluaga when is perl6 suppose to be released, is it even being developed or just in the process?
11:57 theorbtwo On a Thursday.
11:57 castaway probably in a year or 2
11:57 castaway (or 10)
11:59 kungfuftr what's the common name for variables like $?OS, etc?
12:00 rgs octarine variables.
12:00 castaway perlvars ?
12:00 * kungfuftr cocks his shotgun
12:03 buluaga has quit IRC ()
12:04 kungfuftr castaway: yar, so perl5 perlvar's seem to be seperating out into different twigils, etc
12:04 b6s has quit IRC ("leaving")
12:04 castaway twigils?
12:04 kungfuftr $?<foo>, $*<foo>, $^<foo>, etc.
12:05 * castaway hasnt figured out what thsoe are yet
12:05 bd_ has quit IRC (Read error: 110 (Connection timed out))
12:06 kungfuftr special, global and placeholding, iirc
12:06 theorbtwo $?foo are magical variables.
12:06 theorbtwo Runtime-magical, that is.
12:06 kungfuftr ah... sorry... magical
12:06 Limbic_Region has joined #perl6
12:06 theorbtwo $*foo are compile-time magical variables.
12:07 theorbtwo $^foo are placeholders.
12:07 castaway where placeholder means.. what?
12:07 kungfuftr castaway: $^a, $^b in sort, etc.
12:07 theorbtwo If a sub contains placeholder variables, they are taken to be the named arguments to the sub, in unicodeabetical order.
12:07 theorbtwo Er, s/sub/closure/.
12:08 autark-jp { say $^x }.("foo")
12:08 castaway aha
12:08 rindolf castaway: what's up?
12:08 theorbtwo so sort {$^a <=> $^b} @foo is shorthand for sort(sub (*@_) {$_[0] <=> $_[1]}, @foo).
12:08 castaway the sky, as always, rindolf
12:09 rindolf castaway: which sky, mine or yours?
12:09 * castaway only acknowledges the existance of "the one sky" !
12:09 theorbtwo At least on this planet.
12:10 castaway and $?OS is presumably runtime-magical, because if compiled on winNT, and run on Win2k, it will give you the latter?
12:10 theorbtwo If you ask for $?OS, it could, yeah.
12:11 * castaway nods
12:16 Robin_Kin has joined #perl6
12:17 iblechbot has joined #perl6
12:18 kungfuftr can you setup a variable as a proxy object directly?
12:19 b6s has joined #perl6
12:20 kungfuftr bah, ignore me!
12:23 nothingmuch how funky will proxy objects be?
12:23 nothingmuch i'd like to be able to do proxy object trees:
12:23 nothingmuch a proxy object with a remote object
12:23 nothingmuch and anything the remote object returns is proxied on the other side
12:24 theorbtwo Transparent RMI you mean?
12:24 nothingmuch i think
12:24 nothingmuch that sounds like a good name
12:27 castaway (DCOM :)
12:27 kungfuftr my $foo = new RemoteProxy;
12:29 kungfuftr though the implementation for STORE, FETCH, etc. would be the stickler
12:31 * kungfuftr has had his brain too thrashed by javascript over the last few days
12:32 castaway :)
12:32 castaway nm, did you get at your SEE yet? :)
12:32 kungfuftr SEE?
12:32 nothingmuch yes, it's open now =)
12:32 castaway ooh, ta :)
12:32 castaway SubEthaEdit
12:32 kungfuftr ah
12:32 kungfuftr bah, i need to get OSX
12:33 castaway no :)
12:33 kungfuftr no?
12:34 * castaway is porting to emacs :)
12:34 nothingmuch well, castaway & theorbtwo are trying to make it be no =)
12:34 nothingmuch (vim vim vim!)
12:34 * castaway has no idea how to write C(++) libraries
12:34 larsen castaway: really ?
12:34 kungfuftr emacs-- # no, i want an editor... not an operating system
12:35 castaway really what? :)
12:35 larsen castaway: I'm referring to your first statement
12:35 castaway kungfuftr: how one uses it is up to them, I'm mostly just editing
12:35 sekimura0 has quit IRC ("zzz...")
12:35 castaway porting? yes
12:36 larsen cool. I second nothingmuch's objection, but cool
12:36 castaway btw, although the protocol allows for lots of 'ERR' msgs via beep, it mostly just hangs up on me, when it gets something it doesnt like :)
12:36 castaway hmm, what does one write vim extensions in, then?
12:36 nothingmuch does anybody have an opinion on Inline::Files?
12:36 theorbtwo Other people should feel free to write bindings for other editors, etc, based off of our work.
12:36 nothingmuch castaway: I would guess C
12:37 larsen theorbtwo: yes. which is why I said "cool".
12:37 castaway too bad.. pointers are evil :)
12:37 theorbtwo =for YADDA ... =cut should pretty well obliviate the need for it.
12:37 iblechbot has quit IRC (Connection timed out)
12:37 nothingmuch in p5, theorbtwo?
12:37 * castaway should maybe ask Inrepid (eep)
12:38 theorbtwo Oh.
12:38 theorbtwo No real oppinion.
12:38 theorbtwo It is a source filter, for no good reason, though.
12:38 * castaway has no idea what Inline::Fiels is
12:38 kungfuftr nothingmuch: http://www.vi-improved.org/wiki​/index.php/TunnelDataInCommands
12:38 castaway Files, even
12:39 nothingmuch castaway: it's like __DATA__, but arbitrary
12:39 castaway ah, sneaky
12:39 castaway Source filter?
12:39 nothingmuch no, Inline:: =)
12:39 nothingmuch (which might be a source filter)
12:39 * castaway ponders
12:39 nothingmuch anyway, if it is, i don't want to use it
12:39 * nothingmuch has had only bad experience with source filters
12:40 castaway RTFS :)
12:40 nothingmuch =)
12:41 * theorbtwo curses.
12:42 * nothingmuch terminfo.
12:42 theorbtwo I can't get the package of hs-plugins called eval and the pugs module Eval to play nice together.
12:45 stevan howdy yah-all
12:46 theorbtwo Allo, stevan.
12:46 elmex has quit IRC ("leaving")
12:58 bradb has quit IRC ("Leaving")
12:59 Juerd Is p6l getting faster?
12:59 Juerd I was used to waiting minutes before seeing my own messages back, but the latest arrived in just seconds!
13:00 * theorbtwo wanders off.
13:01 Juerd Bye theorbtwo
13:04 rafl has joined #perl6
13:41 nothingmuch theorbtwo: ping
13:41 machack666 has joined #perl6
13:42 machack666 has left
13:42 castaway he stepped away from the comp, methinks
13:43 elmex has joined #perl6
13:45 bd_ has joined #perl6
13:47 Jonathan_ has quit IRC ("Leaving")
13:47 nothingmuch perlbot nopaste
13:47 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
13:48 nothingmuch actually, no need
13:51 autrijus theorbtwo: easy. we rename our Eval to Pugs.Eval
13:52 autrijus but can't you use euqlified import?
13:52 autrijus qualified, even
13:52 autrijus hrm, nvm, I see you can't
13:52 autrijus then maybe we massively rename src/ to src/Pugs.
13:52 autrijus thoughts?
13:53 * autrijus needs to hop on the MRT train now... wireless out &
13:53 castaway .oO( MRT ?)
13:53 autrijus metro thing
13:53 autrijus taipei's subway
13:54 autrijus there's wireless coverage along the MRT line
13:54 castaway ah, funky
13:57 * nothingmuch needs to move to taiwan
14:00 autrijus ...and I'm now at a midway station
14:00 autrijus waiting for another MRT car to arrive :)
14:00 autrijus thanks to ssh, it doesn't even drops the connection.
14:01 castaway technology++
14:01 * autrijus also notes the wireless is expected to cover 90% of population in Taipei at end of this year
14:01 autrijus and it's also free as in beer :)
14:01 castaway cool
14:02 mdiep has joined #perl6
14:02 mdiep has left
14:02 nothingmuch autrijus: when will the hackathon happen?
14:03 nothingmuch and do you think there's any place left?
14:03 nothingmuch i've mailed John, but no reply yet
14:03 autrijus I don't really know...
14:03 autrijus I think it begins at 22nd
14:03 nothingmuch (Btw, birthday is on last day of YAPC... nice way to celebrate =)
14:04 stevan nothingmuch: I think there is still room
14:04 stevan last count I made was 11 or 12,.. and the max was 13
14:04 stevan autrijus: greetings from perl5 land
14:05 * nothingmuch is going outsid
14:05 nothingmuch ewifi is working very barely
14:05 castaway ooh, coming too, nm?
14:09 stevan autrijus: kungfuftr and I have been chating and the idea of side-effect free closures came up
14:09 stevan would that even be possible?
14:09 nothingmuch_ has joined #perl6
14:09 stevan basically it would be an exception to access anything outside of itself
14:09 nothingmuch_ beh!
14:10 nothingmuch_ from 'oo nm coming to yapc':
14:10 nothingmuch_ yes, i am, i have a demi sponsor
14:10 * nothingmuch_ was hired on IRC
14:10 rob__ has quit IRC (Read error: 104 (Connection reset by peer))
14:10 stevan anyway just a thought, gotta run out for a bit
14:10 pjcj IIRC there's a property you can apply to say something has no side effects.  I wanted pure, but I think it's called something else.
14:10 pjcj cacheable or memoizable or something
14:10 Limbic_Region unadulterated
14:11 nothingmuch_ what did i miss?
14:11 stevan pjpc: for closures/block too?
14:11 pjcj not sure - maybe it was just for subs
14:11 stevan nothingmuch: just throwing out the idea of side-effect free closures/anon-blocks/anon-subs
14:11 * castaway cheers
14:11 nothingmuch_ if you can do recursion on blocks
14:12 pjcj but it was quite a while ago, so things have probably changed underneath the idea
14:12 nothingmuch_ then they should be considered as subs in terms of capabilities, methinks
14:12 * kungfuftr will post to p6l later
14:12 * stevan has been reading too many functional language books
14:12 * stevan also really needs to run out,.. so I will leave you all to discuss and I will backlog later
14:18 pjcj Here's the middle of a thread -- http://www.nntp.perl.org/gro​up/perl.perl6.language/12396
14:26 autrijus ooh pure functions
14:26 autrijus does it mean you can't say "print" in it?
14:27 autrijus or does it mean that if you say "print" in it, it will get run on unpredicable times for unpredictable amounts?
14:27 Ovid has joined #perl6
14:29 nothingmuch has quit IRC (Read error: 113 (No route to host))
14:29 nothingmuch_ autrijus: i think the user gets to decide what is pure
14:29 nothingmuch_ it's just an attr
14:29 Limbic_Region Ovid - I read about the nullification of the same sex marriages in your neck of the woods
14:30 nothingmuch_ is now known as nothingmuch
14:30 Ovid Yeah.  I was pretty pissed off about that.  Bigotry: 1.  Love:  0.
14:30 nothingmuch how do i rename myself in colloquy?
14:31 nothingmuch oh, oops
14:31 nothingmuch =)
14:31 autrijus nothingmuch: oh, then the term in haskell for that is "unsafe".
14:31 autrijus ;)
14:31 autrijus as in "unsafePerformIO"
14:31 autrijus "unsafeEval"
14:31 castaway unsafe=unpredictable?
14:32 autrijus yeah, also, it defeats type safety
14:32 * nothingmuch tries to concentrate
14:32 autrijus *Main> :t unsafePerformIO
14:32 autrijus unsafePerformIO :: IO a -> a
14:33 autrijus i.e. it lets you (ab)use something that performs side effects
14:33 autrijus and pretend it's pure (i.e. memoizable)
14:40 nothingmuch anybody want to help me document Test::TAP::Foo?
14:40 * nothingmuch is really having trouble thinking
14:42 saorge has joined #perl6
14:44 rindolf So the concatenation operator in Perl 6 will be "."?
14:44 autrijus no... it will be "~"
14:45 * autrijus suggests rindolf to install pugs and play a bit
14:45 nothingmuch rindolf: the synopses discuss this stuff to great detail
14:45 PerlJam It *IS* ~
14:45 nothingmuch the tests make sure it's like it's said
14:45 rindolf autrijus: no longer "_"?
14:45 autrijus rindolf: no longer. see Perl6::Bible on CPAN
14:45 nothingmuch rindolf: s03 discusses operators
14:48 rindolf autrijus: why isn't there a trunk directory in the pugs repository?
14:48 rindolf autrijus: you've placed all the files in the root directory.
14:48 autrijus rindolf: because there is no branches :)
14:49 rindolf autrijus: that's a poor excuse.
14:49 autrijus however there is http://svn.perl.org/perl6/pugs/trunk/
14:49 autrijus rindolf: so if you want trunk/tags, there it is
14:49 autrijus rindolf: how so? if a project has no branches and no tags, why can't it be placed at root?
14:49 autrijus I consider it an excellent excuse :)
14:50 rindolf autrijus: because you don't know when you'll need a branch.
14:50 rindolf autrijus: and don't tell me you don't tag your releases.
14:50 autrijus rindolf: I know I won't.
14:50 autrijus and I tag it at svn.perl.org.
14:50 autrijus so. :)
14:50 autrijus come to think about it, I'll do the tagging for 6.2.0 now
14:50 rindolf autrijus: I see. What is the purpose of http://svn.openfoundry.org/pugs/
14:50 autrijus rindolf: an anarchistic playground.
14:50 PerlJam autrijus: don't mind rindolf, his head isn't bent the right way  ;)
14:51 autrijus rindolf: because svn.perl.org committership is handed out less liberally.
14:51 autrijus PerlJam: I think the question is valid :)
14:52 ninereasons has joined #perl6
14:52 masak has left
14:55 Robin_Kin has quit IRC (Client Quit)
14:56 nothingmuch anybody know putters real name?
14:56 nothingmuch working on AUTHORS section
14:56 nothingmuch (of Test::TAP::Foo)
14:57 autrijus no idea
14:57 nothingmuch autrijus: btw, how would you package template.html and template.css?
14:58 autrijus nothingmuch: part of __DATA__ I think?
14:59 nothingmuch Inline::Files scares me
14:59 nothingmuch two files... not fun
14:59 nothingmuch plus, Petal is too dumb to eat that
14:59 nothingmuch for a super cool approach to templating the Petal implementation is sometimes very disappointing
14:59 nothingmuch i hate source filters because they tend to break sometime
14:59 autrijus DATA is not source filter :)
14:59 nothingmuch and it's really overkill, despite being elegant
14:59 nothingmuch i was thinking next to the .pm file
14:59 autrijus but anyway. in that case just next to pm file
14:59 nothingmuch __DATA__ surely is not, and i use it extensively
14:59 nothingmuch see MPEG::Audio::Frame's test suite... each test is centered around an MPEG stream in __DATA__
15:00 nothingmuch is there a super cool module that knows how to find these files?
15:03 castaway hmm, Tks widget has: use lib Tk->findINC( 'demos/widget_lib' );
15:04 castaway wherever thats defined..
15:04 drbean has joined #perl6
15:05 * nothingmuch will look at it eventually
15:05 castaway Oh
15:05 castaway sub findINC
15:05 castaway {
15:05 castaway my $file = join('/',@_);
15:05 castaway my $dir;
15:05 castaway $file  =~ s,::,/,g;
15:05 castaway foreach $dir (@INC)
15:05 castaway  {
15:05 castaway   my $path;
15:05 castaway   return $path if (-e ($path = "$dir/$file"));
15:05 castaway  }
15:05 castaway return undef;
15:05 castaway }
15:06 * nothingmuch did it with File::Basname::dirname
15:06 nothingmuch and catfile
15:07 nothingmuch but based on __PACKAGE__ =~ s/::/\/;
15:07 nothingmuch .= ".pm";
15:07 nothingmuch and then looking in %INC
15:07 nothingmuch i wonder which is better
15:07 * castaway shrugs
15:07 castaway anyfish, hometime..
15:07 nothingmuch ciao
15:08 * castaway disappears to see where theorbtwo wandered off to.. later folks :)
15:13 gcom has joined #perl6
15:13 Forth_ has joined #perl6
15:17 jhorwitz has joined #perl6
15:17 nothingmuch how will aliased subs be handled in p6?
15:17 PerlJam nothingmuch: what do you mean?  
15:17 nothingmuch *alias = \&blah;
15:17 masak has joined #perl6
15:17 PerlJam &foo := &bar;
15:18 nothingmuch no stylish declarative way?
15:18 PerlJam you realize this is perl right?
15:18 PerlJam TMTOWTDI!
15:19 PerlJam (but, for my money &alias := &my_sub; is just fine)
15:20 * integral wonders what: sub foo is &bar; would do
15:21 elmex has quit IRC (Read error: 145 (Connection timed out))
15:22 rindolf When are you guys planning to intrduce readline support to pugs?
15:23 autark-jp AFAIK there are readline support in pugs already.
15:24 boogie just read support is missing
15:25 boogie you can check readline in examples/network/http-server.p6
15:26 mj has joined #perl6
15:27 rindolf autark-jp: I'm invoking pugs and I cannot edit my lines conveniently.
15:28 autark-jp rindolf: well, that kind of readline support should be available as well.
15:29 rindolf autark-jp: it isn't.
15:29 autark-jp rindolf: I think you need to have the perl module readline.pm installed (or something like that)
15:29 rindolf autark-jp: proper capitalization, pleasE?
15:29 autark-jp rindolf: where?
15:30 autark-jp at the end of sentences? ;-)
15:31 sri_ has joined #perl6
15:31 sri_ moin
15:32 rindolf autark-jp: for module names.
15:32 rindolf Is it readline.pm, ReadLine.pm, Readline.pm, etc.
15:32 rindolf Hi sri_
15:33 ninereasons actually, I think that the interactive version of pugs uses Haskell's Readline library, doesn't it?
15:33 autark-jp rindolf: I wasn't sure of it's correct capitalization(?)
15:34 ninereasons (which appears to be a standard part of ghc-6.4)
15:35 rindolf I have ghc-6.4
15:36 ninereasons rindolf, when you say, "cannot edit my lines conveniently", what is happening that's inconvenient?
15:37 ninereasons or what convenience is missing?
15:38 nothingmuch ninereasons: you know, you think of a word
15:39 nothingmuch and it doesn't appear on the screen
15:39 pjcj I think I'm missing the module that takes my muddled thoughts and translates them into valid perl6, mailing perl6-language and patching pugs as appropriate
15:39 nothingmuch pjcj: is it's inexistence a feature or a bug?
15:39 ninereasons ah, nothingmuch .  Mine doesn't do that either.  is there a plugin for that ? ;-)
15:39 nothingmuch Term::Readline::DWIM
15:40 nothingmuch you know, what perl is all about
15:40 nothingmuch DWIT, maybe
15:40 nothingmuch maybe just DI
15:40 nothingmuch or DI::ForMe
15:40 ninereasons DWITTY, nothingmuch :-)
15:40 rindolf ninereasons: pressing the arrow keys doesn't work.
15:40 nothingmuch do what I think that's yummy?
15:40 nothingmuch rindolf: ld -lreadline?
15:41 rindolf nothingmuch: how can I tell that?
15:41 nothingmuch that's a command
15:41 nothingmuch i am wondering what it says
15:41 nothingmuch if it just exits with status 0 then we can move onwards because we know readline can be linked to
15:42 pasteling "rindolf" at 82.80.0.238 pasted "ld -lreadline output" (11 lines, 612B) at http://sial.org/pbot/9361
15:42 nothingmuch so how about installing readline?
15:42 nothingmuch reinstalling, that is
15:43 ninereasons that functionality is part of pugs presently, rindolf  .  nothingmuch has put the finger on why it doesn't work for you, I think
15:43 rindolf nothingmuch: yes, but "ld -lreadline -lncurses && echo success" works.
15:43 iblechbot has joined #perl6
15:43 nothingmuch those symbols sound important
15:44 nothingmuch tgoto
15:44 nothingmuch maybe that controls moving around the term?
15:44 nothingmuch hell, i dunno
15:44 autark-jp ldd pugs and see if it has readline linked in?
15:45 nothingmuch everyone is LinkedIn, autark-jp, don't be silly
15:45 rindolf autark-jp: it doesn't.
15:45 jhorwitz nothingmuch: fixed with -ltermcap or -lncurses.  would be a dependency of libreadline.
15:45 nothingmuch rindolf: so why do you expected it to work?
15:45 nothingmuch jhorwitz: good point ;-)
15:46 roie_m has joined #perl6
15:46 rindolf nothingmuch: how do I get it to link against readline?
15:46 nothingmuch rindolf: see Makefile.PL
15:46 nothingmuch i don't know, but I bet the knowlege is in there
15:47 rindolf nothingmuch: readline is not mentioned in Makefile.PL (case insensitive search)
15:47 rindolf Where should I check out pugs from. I checked it out from http://svn.openfoundry.org/pugs/
15:48 ninereasons that's the right place, rindolf
15:49 nothingmuch rindolf: that is right
15:49 ninereasons you should be at subversion r1988
15:49 nothingmuch config_h.pl does the magic
15:49 nothingmuch really rindolf, this stuff is easily found out
15:49 ninereasons s/should/could/
15:49 elmex has joined #perl6
15:49 elmex has quit IRC (Client Quit)
15:49 nothingmuch i grep -ri readline on the source tree
15:49 elmex has joined #perl6
15:49 nothingmuch saw PUGS_HAVE_READLINE
15:49 nothingmuch grep -r'ed for that
15:49 nothingmuch my $has_readline = try_compile(<< '.');
15:49 nothingmuch import System.Console.Readline
15:49 nothingmuch main = readline "" >> return ()
15:49 nothingmuch .
15:50 autark-jp maybe ghc wasn't build with readline support?
15:50 nothingmuch conclusion: ldd ghc and see if it likes readline
15:50 nothingmuch if it doesn't, get another GHC
15:50 nothingmuch if it does, then i think there's some kind of time space anomality sucking in readline somewhere between /usr and ~
15:50 nothingmuch not allowing the pugs dir to see it
15:51 * ninereasons hates those time space anomalies
15:51 machack666 has joined #perl6
15:52 machack666 has left
15:52 pasteling "rindolf" at 82.80.0.238 pasted "ghc problems with readline" (13 lines, 534B) at http://sial.org/pbot/9362
15:53 nothingmuch that's better resolved at #haskell
15:54 roie_m don't you need to tell ghc "-lreadline"? I think ghc just calls gcc for the linking phase.
15:54 nothingmuch we are mostly #perl6 people here, methinks
15:54 nothingmuch so please get a ghc that does
15:54 jhorwitz rindolf: my ghci has readline support, but pugs did not until updating today to r1988 (was at 6.0.13 release)
15:54 nothingmuch so your chances here are probably not as good
15:54 nothingmuch what this looks like is that your ghc does not have readline
15:54 nothingmuch (surprise)
15:54 nothingmuch jhorwitz: there's a message in the changelog about it
15:54 nothingmuch maybe it's relevant? (didn't read it/it's context)
15:54 nothingmuch but i think rindolf is at HEAD
15:56 jhorwitz nothingmuch: you're right.  >= 6.0.14 fixed it
15:59 rindolf ghci has readline support.
15:59 nothingmuch rindolf: so check out that time-space anomality
15:59 rindolf nothingmuch: sure, right away.
15:59 rindolf nothingmuch-- # You're being unhelpful
16:00 nothingmuch rindolf--; # you're not helping yourself
16:00 nothingmuch we are not the people responsible for your linux distro or ghc installation
16:00 rindolf nothingmuch-- # I don't know how.
16:00 nothingmuch we've got you to a point where we know that ghc does not expose readline support
16:01 rindolf Turns out one needs to add -package readline
16:01 nothingmuch this is not a pugs issue and appearantly no one knows how to solve it
16:01 integral So their advice of 'ask #haskell' _was_ helpful?
16:01 nothingmuch see? that wasn't that hard
16:02 rindolf nothingmuch: so now I have to modify the code to do that everytime ghc is called with readline support?
16:02 nothingmuch which code?
16:02 nothingmuch where is -package readline needed?
16:03 rindolf nothingmuch: whenever you try to compile Haskell code with readline support.
16:04 nothingmuch as an option to GHC?
16:04 rindolf nothingmuch: yes
16:04 rindolf Incidentally, I also added the other VCSes to http://better-scm.berlios.de/
16:04 nothingmuch you can hack Makefile.PL to add it to $ghc_flags
16:05 rindolf But it should be resolved permanently.
16:05 nothingmuch so you can commit your hack
16:05 nothingmuch or i could do it if it's too much
16:06 rindolf I don't like to litter the codes with such hacks. I prefer solid solutions that are guaranteed to work everywhere.
16:06 gcom nothingmuch++ # nice of you to try so hard
16:06 nothingmuch so write a hack that is solid and guaranteed to work everywhere
16:06 nothingmuch and call it a solution
16:06 ninereasons nothingmuch++ # I agree with gcom
16:08 pjcj nothingmuch++ # I agree with ninereasons ;-)
16:10 rindolf Where can I file a bug about pugs? rt.cpan.org?
16:10 jhorwitz rindolf: you just need the right libs: ghc -o test test.hs -lHSreadline -lreadline -ltermcap
16:10 ninereasons t/pugsbugs/
16:10 rindolf jhorwitz: no, I need -package readline
16:11 jhorwitz well, that worked for me.  :)
16:11 * jhorwitz is now done solving haskell issues above his head.  :)
16:12 nothingmuch jhorwitz: eek, i patched it the way rindolf said
16:12 nothingmuch i don't have ghc 6.4 on this machine though, so i can't check
16:12 nothingmuch anyway, try r1989
16:12 nothingmuch and jhorwitz: i'll appreciate a fix if that doesn't work right, and it should be as you said =)
16:13 nothingmuch rindolf: please svn diff that and file a bug report if it isn't a solid solution
16:13 nothingmuch you can go file the bug report on some public forum
16:13 nothingmuch perlmonks, perl6-compiler
16:13 nothingmuch but given your "please fix this for me" attitude i don't think it will get very far
16:14 nothingmuch i have to go hang some laundry now
16:17 pasteling "rindolf" at 82.80.0.238 pasted "pugs problems" (4 lines, 400B) at http://sial.org/pbot/9364
16:25 justatheory has joined #perl6
16:31 nothingmuch ah, i see
16:32 nothingmuch the only logical way around it i see is to add join(" ", ... ) in the args to system()
16:33 nothingmuch or introduce paramter processing
16:33 nothingmuch or make config_h.pl an integral part of Makefile.PL instead of having it in the Makefile itself
16:33 nothingmuch as a target
16:33 nothingmuch but that was done in order to stop the recompilation every time Makefile.PL was rerun
16:33 nothingmuch if you want to do a more "solid" fix you're welcome
16:34 nothingmuch otherwise i'm doing system on a string
16:34 nothingmuch since it works, and it's what Makefile does anyway
16:34 nothingmuch and I'm not going to care about taint mode or whatever
16:35 nothingmuch because if the user set $ENV{GHC} to something naughty it's their fault
16:35 nothingmuch r1990
16:37 ninereasons stevan et al, I'm thinking of unTODOing all of the negative index tests in t/data_types/array.t
16:37 ninereasons stevan et al, on the assumption that "TODO" means "unimplemented feature", and "unTODO" means "bug"
16:37 ninereasons stevan et al, sound correct?
16:38 nothingmuch ninereasons: sounds good
16:38 elmex has quit IRC ("leaving")
16:38 elmex has joined #perl6
16:39 nothingmuch rindolf: can i get an update on the situation?
16:41 rindolf nothingmuch: that error (and a bootload of other errors) was the last thing I got.
16:42 nothingmuch so please svn up and try again, because I said i fixed it since
16:42 rindolf nothingmuch: OK.
16:42 nothingmuch otherwise i'll apply reverse patches, and another patch that causes Makefile.PL to die if $ENV{HOME} =~ /rindolf/;
16:42 rindolf 1991 - a palindrome
16:42 rindolf nothingmuch: my homedir is /home/shlomi
16:43 nothingmuch i'll make the match extra smart
16:43 nothingmuch based on Sys::HostIP
16:43 nothingmuch and Sys::Hostname
16:43 nothingmuch and getpwent magic
16:43 Ovid has quit IRC ()
16:43 nothingmuch do disallow shlomi, rindolf, and what not
16:43 nothingmuch and useradd 'pugs_disallow'
16:44 nothingmuch which is in sudoers
16:44 nothingmuch whose cron will chmod -x `which svn`
16:44 nothingmuch every minute
16:44 ninereasons :)
16:44 nothingmuch sol that you can never ever ever get or commit a fix for that
16:44 nothingmuch so please, if you want something done, either do it, or at least have the courtesy to pay attention to people doing it for you
16:45 rindolf nothingmuch: it works now, thanks.
16:45 rindolf nothingmuch++
16:45 nothingmuch thank you
16:45 rindolf nothingmuch++ # so the delta will be positive
16:46 nothingmuch the delta was positive enough already, thankyouverymuch
16:46 rindolf P.S.: you still negated my karma when I said that joke about join #perl so it will pass the 400 participants threshold.
16:46 nothingmuch uhuh.
16:46 nothingmuch karma is not a temporary thing
16:47 jabbot nothingmuch: is not a temporary thing has neutral karma
16:47 nothingmuch it's a sort of state based on the past
16:47 nothingmuch and then, and a while ago, i thought badly of you due to some behavior
16:47 nothingmuch and this is where it's recorded
16:47 nothingmuch only most people consider it a game
16:50 chady has joined #perl6
16:50 Corion has joined #perl6
16:50 nothingmuch hola chady
16:51 nothingmuch didn't know you were on this boat too
16:51 chady hey nothingmuch
16:51 chady I just started joining the past couple of days
16:51 nothingmuch ah
16:51 nothingmuch how is life northwards?
16:52 chady fine... watching our backs
16:52 chady tonight for example is candidate for another explosion
16:52 * nothingmuch didn't get a chance to ask anything since way before things started getting tense
16:53 nothingmuch overall are you optimistic?
16:53 nothingmuch the papers made it sound good a while back
16:53 chady it's getting better, people's spirits are good
16:53 nothingmuch like overall the public wants peace, and quiet, and plans to get it some way, hopefully nonviolent
16:53 * nothingmuch wish he could say the same about israel
16:53 nothingmuch i think it's looking up
16:53 nothingmuch but spirits in general are down
16:54 chady oh
16:54 nothingmuch i think that sharon's plan will be rather painful
16:54 chady well, in any case, I can't wait to get out of the region
16:55 nothingmuch they're debating reposessing all firearms from settlers, for example
16:55 nothingmuch which is a good thing, on the surface
16:55 nothingmuch but it's a very strong reminder of how tricky and dangerous it all actually is
16:55 nothingmuch where do you plan on going?
16:55 chady anywhere but here.. maybe australia, but it's still talk for now
16:55 nothingmuch aye
16:56 * nothingmuch gets back to documenting
16:57 chady nice job being done on pugs btw
16:57 nothingmuch thanks on behalf of everyone
16:57 nothingmuch especially autrijus
16:57 * nothingmuch thinks he is the best part of it
16:57 nothingmuch every once in a while you see
16:57 nothingmuch autrijus joined #perl6
16:57 nothingmuch autrijus: oh by the way, we have feature x, and also y and z
16:59 chady this whole thing's making me wanna learn Haskel :)
16:59 nothingmuch yeah, me too
16:59 nothingmuch i started, but then started getting swamped
16:59 nothingmuch it's looks like a very powerful language
16:59 chady I probably will, just as soon as I finish this project I have
17:00 nothingmuch many things i've worked hard on in perl seem like they will be easy in it
17:00 nothingmuch first and foremost due to laziness, I think
17:00 nothingmuch since you are free to ignore a rather expensive optimisation
17:00 nothingmuch that usually costs a lot to setup in other languages
17:00 nothingmuch good luck with them both, then ;-)
17:00 Corion wtf? Win32 build is broken :( Who is using unixisms in the Makefile? :-(
17:00 chady thanx
17:00 nothingmuch Corion: sorry, that's me
17:00 Corion nothingmuch: Grrr
17:00 * Corion goes to investigate
17:00 nothingmuch nothingmuch--
17:01 nothingmuch rindolf: see? that's how it's done. People investigate
17:01 Corion nothingmuch: Naah - that's why I'm testing stuff :)
17:01 nothingmuch but i'll tell you
17:01 nothingmuch readline support needs -package readline
17:01 nothingmuch and the only way i found to get both Makefile and config_h to call ghc that way without duplicating code is to set $ENV{GHC}
17:02 nothingmuch so i made env GHC="ghc $ghc_flags" $(PERL) config_h.pl
17:02 nothingmuch and made config_h system(join(" ", $ENV{GHC} ...)
17:02 Corion nothingmuch: Is there a reason you don't want to pass in $ghc via @ARGV ?
17:02 nothingmuch both of which are icky unixisms ;-)
17:03 nothingmuch i didn't look deep enough or think long enough to see (that|if) it's possible
17:03 Corion nothingmuch: Ah
17:03 nothingmuch should i fix it? i think someone windowsish should, because i don't know all the pitfalls
17:04 nothingmuch maybe the best way is to merge config_h.pl into Module::Install::Pugs
17:04 Corion nothingmuch: I'm looking into it, will try the @ARGV version and commit.
17:04 nothingmuch and then make it only replace the new config h if it's different
17:04 Corion nothingmuch: I hope that it will work, because otherwise, the next best thing will be a file. Or moving config_h stuff into Module::Install::Pugs instead of a separate program.
17:05 nothingmuch that way it won't be recompiled all the time
17:05 nothingmuch *nod*
17:05 nothingmuch we can force rindolf to do it
17:05 nothingmuch ;-)
17:06 nothingmuch aha! they have returned with food
17:06 * nothingmuch heads off to chew on pita + labane
17:06 Corion nothingmuch: BTW, any reason why you're not using File::Temp in config_h.pl ? Or didn't you hack much with config_h.pl anyway?
17:07 * Corion leaves questions in the code
17:07 nothingmuch Corion: i didn't change that part
17:08 nothingmuch i'll do it in 15 mins
17:08 Corion nothingmuch: Ah, so it's just crufty code.
17:08 Corion nothingmuch: No, I'm refactoring it a bit anyway - better wait until I've committed :)
17:08 Corion nothingmuch: Just eat your dinner :)
17:10 elmex has quit IRC ("leaving")
17:10 Corion Yay. Win32 builds again.
17:12 Corion Bah. And the GHC test is failing for me because of the lack of readline.o (some symbols missing). I guess it always did.
17:13 theorbtwo has quit IRC ("leaving")
17:13 Corion Yay. Make test also runs.
17:13 * castaway ruffles Corion
17:13 theorb has joined #perl6
17:13 * Corion boings
17:14 castaway another bouncy person, it must be catching
17:14 * theorb is back on the task of backing up and restructuring/reinsalling his system.
17:14 theorb (lesigh.)
17:15 theorb Autrijus, if you're still about, thanks for the idea of restructuring; it will make things much easier.
17:18 Corion theorb: What machine went down? Bad thing :(
17:19 castaway lilith :(
17:19 Corion castaway: Ugh - that's your central server, no?
17:19 theorb No, it's my desktop.
17:19 theorb ...but it's used for everything I actually use.
17:20 chady has quit IRC ("leaving")
17:20 Corion theorb: Not much better then ...
17:22 theorb Oh, BTW, re making CWD a magical var, won't that cause more srict/lazy issues?
17:22 Corion Oh. But something within Pugs broke, as I get pugs.exe: cannot cast from VList [VStr ""] to Handle
17:22 elmex has joined #perl6
17:22 Corion I like $*CWD and @*CWD, even if it wouldn't fully work for Win32
17:23 Corion ... it would force people to become more platform agnostic.
17:23 Corion ... and using file:// URIs would be fine with me too, except that people don't want to enter file URIs into a program/config file/whatever.
17:23 elmex it owuld force people to do something they don't want: to evolve
17:23 nothingmuch what's @*CWD? ("/", "/foo", "/foo/bar")?
17:23 Corion (and file:// URIs would work fine with UNCs)
17:24 osfameron has quit IRC ("Leaving")
17:24 Corion nothingmuch: No - ("foo", "bar") - always the absolute path, in its components
17:24 * nothingmuch thinks that the Path object in p6 should encapsulate URI
17:24 theorb No, @*CWD ~~ ('foo', 'bar') if $*CWD == '/foo/bar';
17:24 * nothingmuch also thinks that the notion of chdir is broken
17:24 nothingmuch and should be there for compatibility
17:25 nothingmuch and that the CWD should be per file manager
17:25 nothingmuch and each bit of code can just be given a different file manager
17:25 Corion Hmmm. I guess we'll need "skip_wontfix" and "skip_todo", if we keep the tests as our feature/bug management system ;)
17:25 * nothingmuch might be tempted to design this interface
17:25 Corion chdir() should die, just to force people to recognize $*CWD :)
17:25 nothingmuch Corion: IMHO skip_won't_fix should be negated OK
17:26 Corion %CWD is a nice idea :)
17:26 castaway setting $CWD makes me go 'ick' (tho Im not sure why ,)
17:26 theorb Eh, no reason to not just make cwd("string") an alternate way to write $*CWD='string';
17:26 nothingmuch perlbot nopast
17:26 nothingmuch perlbot nopaste
17:26 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
17:26 Corion nothingmuch: Heh, but you can't give it a count... skip "Windows can't do this", 3 is ugly to do with ok()...
17:26 nothingmuch perlbot nofuture
17:26 theorb Anybody have an answer to my lazyness issue?
17:26 Corion castaway: Magic action at a distance, it is a bit weird. but you should use @CWD anyway, which is much better than File::Spec->updir :)
17:27 theorb Keeping around paths in split format is quite possibly quite nicer then using File::Spec all over the place.
17:27 castaway updir ??
17:28 castaway doesnt sound like something Ive ever used
17:28 Corion castaway: The thing you should use instead of hardcoding ".."
17:28 pasteling "nothingmuch" at 212.143.91.217 pasted "authors + copyright of Test::TAP::* - theorbtwo - please confirm" (48 lines, 784B) at http://sial.org/pbot/9368
17:28 castaway If I ever write those sort of "I'm not really a shell script" scripts, then they really dont care if they're portable or not ,)
17:28 Sound has joined #perl6
17:29 nothingmuch castaway: it's File::Spec stuff, FYI ;-)
17:29 * Corion curses. Again the pugsrun/ tests are broken ...
17:29 castaway I've only ever used split and catdir in there, I think ,) (and catfile)
17:30 Corion ... but then, what would I do on a Friday evening, if not fix tests on Pugs :)
17:32 Corion Grrr. Pugs karma strikes again. It's now raining outside, so I actually get to stay home instead of going out ...
17:32 * Corion shakes his fist towards the sky
17:32 theorb It's lovely weather down here, Corion?
17:33 Corion theorb: If you like rain, you'd like it here now.
17:33 nothingmuch castaway: File::Basename is terribly useful, and catfile should always be used
17:33 * castaway likes it, if its warm too
17:33 nothingmuch if you're messing with that stuff
17:33 castaway whats basename do that splitpath/file/whatever doesnt?
17:34 nothingmuch nothing
17:34 kungfuftr nothingmuch: about for long?
17:34 nothingmuch it's just quick
17:34 Juerd Here goes the File::Spec madness again :/
17:34 nothingmuch kungfuftr: yep
17:34 * Corion commits. This might cause Unix build breakage.
17:34 nothingmuch unless Neama says "please go out"
17:34 Corion r1992
17:34 nothingmuch Corion: /me will test
17:34 Corion nothingmuch++
17:35 * castaway mumbles something about ETOOMANYMODS
17:35 nothingmuch castaway: yup
17:35 nothingmuch Test:: and File:: suffer from that
17:35 Corion changes topic to: pugscode.org <<Overview Journal Logs>> | r1773/winxp: 587/4256 smoke/win2k (occasional): http://xrl.us/fqum (89/4295, r1991) | pugs.kwiki.org | <autrijus> at no point should we lose the useful illusion.
17:35 theorb Well, doesn't look any more broken to me then when I left the tree.
17:35 * nothingmuch thinks that File::Manager should be *the* p6 way to do File::Spec etc
17:35 castaway speaking of which, did you ever remove that one from the class::dbi/sql::t thingy?
17:35 theorb But that was pretty broken.
17:35 nothingmuch using an object that is a Path or File::Path
17:35 castaway Flie::Manager?
17:36 castaway FileSystemObject !
17:36 nothingmuch which knows about everything from local path formats, to those of foreign OSs, to URIs
17:36 nothingmuch castaway: why is that important? (/me curious)
17:36 Corion I think the idea of how IO::All does files/dirs isn't bad. But the idea of how IO::All conflates all of this with a single-arg-open is something we should leave behind with Perl4. :)
17:36 castaway what exactly?
17:36 Corion castaway: FSO isn't bad
17:36 castaway I never said it was ;)
17:37 nothingmuch i think i get it
17:37 nothingmuch is that some reference I'm not really getting?
17:37 nothingmuch windows api?
17:37 nothingmuch ah
17:37 castaway FSO is what one uses in vbscript, vba etc
17:37 Juerd 19:36 < nothingmuch> Test:: and File:: suffer from that
17:37 castaway the "do everything" object#
17:37 Juerd nothingmuch: And most other namespaces.
17:37 nothingmuch Juerd: i'm not too sure about most
17:37 nothingmuch there is some sufferring
17:38 nothingmuch but I think that Test:: should be rather unified, so that people aren't shy of using good test assertions
17:38 nothingmuch and that File:: is simple enough to have the one (or two, but never more than three) true interface
17:38 Corion Hmmm. Does t/examples/examples.t work for anybody ? I get weird newlines in the list elements...
17:38 nothingmuch that can do everything easily
17:38 Juerd File:: should all be in IO:: anyway.
17:38 nothingmuch without doing stuff like system(qw/rm -f/) or whatever
17:38 Juerd Unless it's file*system* specific
17:38 nothingmuch it's not IO, it's file system, but sure
17:39 Juerd There is stuff that opens files in File::
17:39 castaway cos its convenient
17:40 Juerd Perhaps we should try to define what certain top level namespaces are for?
17:40 Juerd And maybe even create some sort of guide for module naming?
17:40 nothingmuch Juerd: convince ingy/mugwump?
17:40 * theorb thinks that anarchy hasn't gone that poorly.
17:41 castaway hmm, too many shotguns IMO
17:41 nothingmuch athough ingy is notorious for top level namespaces
17:41 Corion theorb: Well, we should try to learn from the errors made in P5 :)
17:41 nothingmuch Spiffy, Spoon, Kwiki, YAML
17:41 Juerd nothingmuch: No, I wonder if it's needed.
17:41 nothingmuch .... =)
17:41 Juerd nothingmuch: They're all good.
17:41 nothingmuch ah
17:41 Juerd nothingmuch: Because these are projects.
17:41 castaway they are?
17:41 Corion nothingmuch: I've learned many things from them. Mostly, to avoid! :)
17:41 * theorb tends to disagree.
17:41 Juerd Yes. A project with a project name should have its own TLN
17:41 castaway ouch
17:41 castaway Projects::blah ,)
17:41 theorb That's going to produce an awful flat namespace.
17:41 Juerd No, please.
17:41 Juerd theorb: So?
17:41 kungfuftr nothingmuch: http://paste.husk.org/3038 ?
17:42 Corion Juerd: Ugh. Spiffy is only the object framework for Spoon/Kwiki. No use outside of it.
17:42 theorb Descriptive names ++.
17:42 * nothingmuch thinks that the namespace isn't that much of an issue
17:42 Juerd Corion: Not true.
17:42 Corion Juerd: You use it?
17:42 castaway I think naming things after what they do makes navigation lots easier
17:42 nothingmuch i think names should be descriptive as possible
17:42 theorb If you want to have a short name, use use foo as bar.
17:42 Juerd Corion: I've heard about people using it, and even if nobody else uses it, it's still use*able*.
17:42 nothingmuch with good editors giving you completion
17:42 nothingmuch or aliasing
17:42 Corion I also prefer names that are descriptive.
17:42 theorb Names should be descriptive; when you see them in the source you should know more or less what they do.
17:42 theorb "Spoon" doesn't tell me anything.
17:42 Juerd Corion: Now, consider Kwiki. Where'd it belong?
17:42 castaway also maypole.. useless
17:42 theorb WWW::Kwiki.
17:43 Juerd theorb: Why WWW?
17:43 PerlJam theorb: of course not, he's dead.
17:43 Corion Juerd: Consider Wiki::Toolkit or WWW::Wiki or something like that.
17:43 castaway or CGI:: where it was before
17:43 theorb Because it's a framework for websites.
17:43 Juerd And then someone creates a Tk kwiki thing.
17:43 nothingmuch and proper search facilities making namespaces hierarchly inclined indentifiers instead of a the defiinition of hierarchy
17:43 theorb PerlJam: Huh?  Who is dead and why do I care?
17:43 Juerd That uses a samba mount for storage.
17:43 Juerd It's modular enough.
17:43 castaway WWW:: is mostly scraping stuff
17:43 PerlJam theorb: Spoon.  That's why he doesn't tell you anything.
17:43 theorb (I know, spoon is dead, but spoon the person and Spoon the module are different things.)
17:44 nothingmuch kungfuftr: persistence is very simple
17:44 * theorb sighs.
17:44 nothingmuch XML should be a bit thicker
17:44 nothingmuch but i think it's the only one that needs that
17:44 Juerd I think TLNs should be used only if something can purely be put in one category.
17:44 Juerd And for that purity, guidelines are needed.
17:44 nothingmuch and HTML... *sigh*... too many ways to format
17:44 Corion Anyway - can I please get confirmation/denial for the weird list quoting behaviour I'm seeing in r1992 with t/examples/examples.t - or does it run for everybody ?
17:44 kungfuftr nothingmuch: it's just an example
17:44 nothingmuch and i don't think we can read that
17:44 ingy gah
17:44 nothingmuch it's a sort of good idea
17:44 nothingmuch i'm thinking of splitting up HTMLMatrix
17:45 theorb I'd like to see a nice place to stick keywords.
17:45 nothingmuch into a more template friendly heap
17:45 * theorb sighs.
17:45 nothingmuch and Test::TAP::Visualize::HTMLMatrix::Petal
17:45 nothingmuch but the name is getting terribly long, and while we're on that discussion: how would you guys call it?
17:45 castaway ETOOMANYLEVELS
17:45 theorb nm: It's worth nothing that perl5 does /not/ have use as.
17:45 theorb Test::Visualize::Petal
17:45 ingy namespaces aren't really an important issue
17:45 cwest_ has joined #perl6
17:45 nothingmuch theorb: it's a kind of namespace you type once
17:45 nothingmuch it's not Test it's TAP
17:46 nothingmuch and you guys made me stick Test:: on that, so that's your fault ;-)
17:46 theorb TAP is redundant to Test.
17:46 Corion Oh. Perl6 should really have [tye]s recommended variation of require/use: my $foo = require Foo::Bar; my $bar = $foo->new;
17:46 ingy in Perl6 everyone can distribute a module called Spiffy
17:46 Juerd Corion: Ehhm.. hm.
17:46 theorb They could, but that doesn't mean that it doesn't matter.
17:47 theorb Everybody distributing a module named Spiffy would create lots of confusion.
17:47 nothingmuch as for Visualize: errm.
17:47 nothingmuch Test is redundant to TAP
17:47 nothingmuch it's not a testing module
17:47 theorb Turing tarpit.
17:47 kungfuftr nothingmuch: i wouldn't seperate out the name spaces... since it's Model-View-Store thing
17:47 nothingmuch it's got to do with results
17:47 Corion Juerd: Factories are really convenient, especially in this case of really::long::module::names :)
17:47 Juerd Corion: evalfile does that, if the file properly contains a single class { ... } ;)
17:47 castaway if everyone can, that makes it even more of a mess
17:47 Corion Juerd: Yes. But use doesn't yet. And require() (in P5) would need too much cooperation currently.
17:47 ingy I think we need to change tools and culture to keep people from embedding and looking for all the meaning of a module in a namespace. and that's what we are doing. because as we know, it doesn't scale
17:48 theorb This is true, ingy.
17:48 ingy but have fun trying if you wish
17:48 theorb But it's no excuse for encourging bad names.
17:48 Corion I don't think that handing out MD5 names for modules is better.
17:48 nothingmuch I'm thinking of Test::TAP::Model::Visual for the utility methods
17:48 Juerd theorb: Names are rather subjective.
17:48 theorb This is true.
17:48 nothingmuch and Test::TAP::HTMLMatrix::Petal
17:48 theorb There's a lot of factors to consider.
17:48 nothingmuch or perhaps s/^Test:://;
17:48 * Corion goes on fixing the weird quoting issue, even if he's the only one who sees it.
17:49 theorb But names like "Spiffy" and names like "Test::TAP::HTMLMatrix::Petal" both go too far in one extreme.
17:49 machack666 has joined #perl6
17:49 PerlJam theorb: Not if they create an easily recognizable and cognitively distinct jargon.
17:49 * integral likes Haskell's lexical import qualified Foo
17:49 castaway Net::TCPIP::Telnet::Remote..
17:49 PerlJam theorb: (Spiffy does, the other does not IMHO)
17:50 theorb integral: use ... as ....
17:50 integral *nod*
17:50 Corion Hah. Seems like the list quoter doesn't skip/ignore whitespace. Like \r, which happens to exist in my file.
17:50 nothingmuch so Test::TAP::HTMLMatrix?
17:50 Corion ... now, how to make that into a proper test... Ah - construct it within Pugs, and eval it ...
17:51 nothingmuch because I got a "what if i want Test::TAP::HTMLMatrix::TT"
17:51 * nothingmuch would gladly drop the Petal
17:51 Corion Where should tests for the Pugs parser go? t/syntax/ ?
17:51 Qiang-wek has quit IRC ("Leaving")
17:52 * theorb sighs, wonders how long nothingmuch will spend restructuring something that wasn't broken in order to not improve it.
17:52 nothingmuch theorb: i'm done
17:53 machack666 has quit IRC (Client Quit)
17:53 nothingmuch and i just want to release, but people keep changing my mind
17:53 nothingmuch and it was broken, with all due respect
17:53 nothingmuch it did not handle bailouts
17:53 nothingmuch it did not have counts, or whatever
17:53 nothingmuch and adding these features was not very easy
17:53 nothingmuch it was a script, and these are two modules
17:54 theorb How should it handle bailouts?
17:54 nothingmuch like it does now
17:54 Corion Is there any synopsis/apocalypse/whatever on how whitespace should be handled in qw-like constructs? I'm orienting myself at what P5 does, for now.
17:54 nothingmuch the file that bailed out noted
17:54 nothingmuch the tests that were never reached but planned noted
17:54 nothingmuch err, visualized
17:54 theorb Didn't handle them because I never saw any.
17:55 Corion Especially Unicode will be problematic, then, with my implementation. Feel free to improve, later on. What is the unicode whitespace char? \xA0 ?
17:55 nothingmuch theorb: they are defined as a part of TAP
17:55 nothingmuch that's why i generalized
17:55 theorb More then one, Corion.
17:55 nothingmuch because i needed something that was more broad for work
17:55 nothingmuch our framework now uses TAP (Well, sort of)
17:55 Corion theorb: Feel free to add, when I'm done with my test :)
17:55 theorb \xA0 is nonbreaking space.
17:56 theorb Just use \s?
17:57 castaway or IsSpace
17:58 Corion theorb: I'm going the other way around.
17:58 ninereasons /msg perlbot paste
17:58 Corion Aaah - I could just use "for (\x00 .. \xFFFFFFFF) -> $sep { ... }" ... Naah.
17:58 ninereasons oops
17:58 Corion I'll construct my preliminary list of five whitespace separators, and those with tuits can improve that list.
17:59 theorb \x10FFFF is the max unicode char number, BTW.
17:59 Corion theorb: Ah. So it would be much less stuff to grep through, then ;)
18:00 Corion Test committed, looking at lexer/parser now ;)
18:01 nothingmuch Corion: what about QuickCheck?
18:01 nothingmuch or porting Test::LectroTest to p6?
18:01 Corion nothingmuch: What about it?
18:01 nothingmuch tmoertel: ping
18:02 nothingmuch it sounds awefully close to iterating the whole unicode sigma
18:02 elmex nothingmuch: ponh
18:03 nothingmuch elmex eq tmoertel?
18:05 Corion Heh. The thing is much uglier. The parser splits on *exactly* one space :)
18:05 Sound has left
18:05 theorb Corion, what are you working on?
18:06 Corion theorb: t/syntax/list_quote_whitespace.t
18:06 cwest_ Tom Moertel is a good friend of mine.
18:06 cwest_ I can let him know about the LectroTest suggestion (or has he been here?)
18:06 Corion (see r1994)
18:07 nothingmuch cwest_: he was lurking here up to a while ago
18:07 * nothingmuch always hoped he'll help, given haskell background and very good posts on perlmonks
18:07 elmex nothingmuch: no
18:07 * nothingmuch is a tmoertel fan ;-)
18:07 cwest_ He got killed by a client recently, figuratively.
18:07 nothingmuch eek
18:07 cwest_ He's a freakishly smart person.
18:08 Corion So tests don't protect against killing clients?
18:11 Corion Hmmm. Is it a good sign if you think you find offending code, and there is the marker "-- XXX Wrong" already? ...
18:12 rindolf has left "Client Exiting"
18:12 cwest has quit IRC ("leaving")
18:12 cwest_ is now known as cwest
18:14 nothingmuch ooh, good post: http://www.sidhe.org/~dan/​blog/archives/000185.html
18:14 Qiang-wek has joined #perl6
18:14 castaway *g*
18:15 theorb Well, it means that you aren't the only one that thinks it's offensive.
18:18 Corion Hmm. Seems like the error is in/below angleBracketLiteral, but I wouldn't know how to fix it there (as there is no mention of whitespace there)
18:19 mdiep has joined #perl6
18:20 mdiep In file included from /tmp/ghc7730.hc:5:
18:20 mdiep make: *** [pugs] Error 1
18:21 theorb mdiep: Looks like you missed a line there, mdiep.
18:21 cwest huh.. mine is:
18:21 cwest Compiling Help             ( src/Help.hs, src/Help.o )
18:21 cwest /tmp/ghc13133.s:7073:Unknown pseudo-op: .subsections_via_symbols
18:21 cwest make: *** [pugs] Error 1
18:21 mdiep my client doesn't seem to sending the lines
18:21 cwest gcc 3.3, ghc 6.4, mac os x 10.3
18:21 mdiep \/usr/local/lib/ghc-6.4/include/HsReadline.h:5:31:  readline/readline.h: No such file or directory
18:23 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.2/20050317]")
18:23 mdiep this is while compiling Unicode
18:26 theorb Odd.
18:26 Qiang-wek has quit IRC ("bla")
18:26 theorb The former sounds like it's compiling for the wrong arch, the later sounds like it's not got a full readline install.
18:29 Corion Can anybody in Haskell-land tell me where the subroutine "words" comes from ? Is it some Parsec thing? It seems that that subroutine is not stripping the correct whitespace, but I can't find its definition
18:30 theorb I think it's in the Prelude.
18:31 theorb http://www.haskell.org/onli​nereport/prelude-index.html
18:31 erxz_paste "ninereasons" at 199.107.164.126 pasted "being expressive in perl6" (20 lines) at http://erxz.com/pb/659
18:31 cwest no full readline. I saw a warning about that during compile.
18:31 cwest I didn't think anything of it.
18:32 Corion theorb: Thanks. So words() is broken, as it splits on " "... How imaginative :)
18:32 theorb On Char.isSpace, actually.
18:32 theorb But yeah.
18:33 ninereasons I'm having trouble sorting %taunt on values in the example above.  Am I running into a bug, or my ignorance?
18:34 Corion theorb: Ewww. I was just hoping I could punt by using isSpace. But that won't work then. So I'll hardcode my list of five whitespace characters then ;)
18:34 Corion ninereasons: They %taunt you :)
18:34 ninereasons :) Corion , yes.
18:35 ninereasons The data structures are just different enough, that I'm having trouble finding my way through them.
18:35 roie_m Corion: angleBracketLiteral is my fault, it was meant as a hack to support %hash<something> while I figure out a way to make it interpolate.
18:36 Corion roie_m: :) Well, I'll try to hack some "smarter" whitespace handling into it :)
18:36 roie_m Since <> interpolates \q[], the whole thing has to be done in Perl and not in Haskell anyway with "split".
18:36 roie_m Which means the "words" issue is going away soon, I think.
18:37 * theorb doesn't see how the one follows from the other.
18:38 roie_m You might want to say %hash<\qq[$a]>, where $a contains more than one word.
18:38 Juerd roie_m: Does <> really interpolate anything?
18:38 roie_m It should interpolate \\, \> and \q[], according to S02, unless that changed.
18:38 Corion I don't think that <> interpolates. {} interpolates.
18:38 Juerd I thought that was <<>>
18:38 Juerd Corion: {} holds an expression... It can hardly be called interpolation.
18:39 Corion %hash{foo} is $hash{ foo() } in Perl5.
18:39 ninereasons i would like at least that %hash<'groups of words'> would work, roie_m
18:39 Juerd That's not interpolation, Corion
18:39 roie_m Juerd: I understood that <<>> interpolates everything, like qq
18:39 Corion %hash<foo> is $hash{foo} in Perl5
18:39 Corion Juerd: Err, true.
18:39 theorb <> interoperlates.
18:39 hlen i like the new syntax
18:39 theorb <<>> did not, until it got removed and changed to <>.
18:39 Juerd hlen: Now that we have <>, I like it.
18:39 roie_m ninereasons: I think that's %hash<<'two groups' 'of words'>>
18:39 ingy anyone free software to read a word doc on a mac?
18:39 Juerd hlen: I hated having to type %foo<<bar>> or %foo{'bar'}.
18:40 Juerd ingy: NeoOffice, an OOo-port.
18:40 hlen Juerd, indeed, i feel the same way
18:40 theorb <> interoperlates slightly differently then everything else, though.
18:40 mdiep ingy: TextEdit?
18:40 ingy thanks
18:40 Juerd theorb: than
18:40 theorb First you split, then you interoperlate, not the other way around.
18:40 ninereasons that would be alright with me, roie_m
18:40 Juerd theorb: Ah, much like shell arguments.
18:40 theorb $foo = 'foo bar baz'; @foo=<$foo>; +@foo == 1
18:40 Juerd theorb: foo "bar baz" bar
18:40 roie_m theorb: Larry Wall just said the opposite on perl6-compilers yesterday :-)
18:40 mdiep << >> interpolates first, then splits
18:40 theorb Right.
18:41 Juerd But, does this mean <foo "bar baz" bar> and <foo \q[bar baz] bar> work alike? It'd be consistent and useful.
18:41 theorb Hm, Rule 1.5 says that whatever Larry said more recently is right.
18:41 roie_m Did he say anythign since yesterday?
18:41 roie_m Juerd: No, I think <foo \q[bar baz] bar> = qw/foo bar baz bar/
18:41 * castaway grins
18:42 roie_m <foo "bar baz" bar> = ['foo', '"bar', 'baz"', 'bar']
18:42 roie_m <<foo "bar baz" bar>> = ['foo', 'bar baz', 'bar]
18:42 roie_m Don't know if the second element should be with or without the ""
18:42 theorb He must have changed his mind again, then.
18:43 ninereasons the first is the way that pugs works now - so it appears that autrijus agrees with your interpretation, roie_m
18:43 roie_m Yes, I do, it's without.
18:43 Juerd roie_m: That'd be utterly useless.
18:44 roie_m ninereasons: The first what? I lost you.
18:44 Juerd roie_m: It just means it ignores the \q[] part of it.
18:44 ninereasons <roie_m>   <foo "bar baz" bar> = ['foo', '"bar', 'baz"', 'bar']
18:45 roie_m Juerd: Of course. Interpolating \q[] into '' or into <> is useless. The magic is when you interpolate \qq and such.
18:45 roie_m ninereasons: Yeah, I wrote that, not autrijus.
18:45 roie_m r1988
18:45 ninereasons my %h = <a 1 b 2 c 3>
18:45 ninereasons %h<a "b c" c>
18:45 ninereasons ('1', undef, undef, '3')
18:46 ninereasons that's what I mean, roie_m ;  pugs wrote that
18:46 roie_m Yeah, but I wrote the code in pugs that does that, so it doesn't mean that autrijus agrees with me.
18:47 theorb When pugs and Larry disagree, Larry is right.
18:47 ninereasons ah - I see what you mean by "I wrote that" -- sorry
18:47 theorb (See rule 1 -- when anybody and Larry disagree, Larry is right.)
18:49 roie_m I think they agree in this case, though. <> is the same as perl5 qw//
18:49 roie_m perl -e 'print join ";", qw/a "b c" d/'
18:49 roie_m and <<>> interpolates stuff.
18:49 roie_m But I could be wrong
18:50 theorb Hm, he had a significantly different thinking when he did the great <<>>/<> swap.
18:50 Corion Hmmm. Aren't True and False the stuff that a function argument to filter() should return?
18:50 theorb But he may have backed down from that.
18:50 Corion Or is 0 and 1 the stuff to return?
18:50 theorb I think true and false are.
18:50 theorb IE undef, "", or 0, and anything else.
18:50 Corion theorb: true / false or True / False ?
18:50 Corion theorb: Ah.
18:50 theorb Last I heard, we didn't have a True and False.
18:51 mdiep << >> interpolates. < > does not.
18:51 roie_m theorb: Where/when did that happen?
18:51 mdiep true and false are bit enums, I believe.
18:51 * theorb sighs.
18:51 mdiep but they're not canonical true and false.
18:51 mdiep they just return true and false values.
18:52 theorb When I say things like "last I heard", it means that it's a vauge memory without a source.
18:52 autrijus greetings.
18:52 autrijus I just saw some commits.
18:52 autrijus where is it said that \xA0 splits <> ?
18:52 nothingmuch hola autrijus
18:52 mdiep so `say 'boo' if ($val != true) and $val;` will print "boo\n" if $val is a true value not equal to a bit value of 1
18:53 Corion autrijus: \xA0 is Unicode whitespace AFAIK
18:53 autrijus roie_m: thanks for the wonderful implementatoin
18:53 autrijus Corion: it's also specifically "non-breaking"
18:53 roie_m theorb: No, I meant the <<>>/<> swap.
18:53 autrijus so I think I need more context before doing something P5 does not.
18:53 Corion autrijus: Ah, so that special case is out. Cool :)
18:53 autrijus ok. I fixed your test and roie_m's code. that test now passed :)
18:53 autrijus roie_m++
18:53 autrijus Corion++
18:53 Corion autrijus: Bah - you're ruining my fun! :-)) I've also almost fixed it. :))
18:54 autrijus sorry... :)
18:54 Corion but I will try to finish my patch and then svn up to see where we differ :)
18:54 autrijus feel free to check in a better fix
18:54 autrijus I just called split()
18:54 autrijus yeah.
18:54 Corion autrijus: Bah - cheating through knowledge of Prelude :-) I faked it in a way uglier method (by post-filtering the output of words() :) )
18:55 roie_m autrijus: Thanks, that makes sense. I've been racking my brains about that.
18:55 autrijus Corion: actually, p5 I think at first just called split() also
18:55 autrijus then was rewritten to use the correct way
18:56 autrijus thus saving needless function calls
18:56 Corion autrijus: I forgot to look into the Prelude for stuff I'd use in Perl :)
18:56 autrijus so by all means override my change :)
18:56 autrijus "words" is correct
18:56 Corion autrijus: Ah, you're using Perl6.split() and not Haskell.Prelude.split() ?
18:56 autrijus yes, I'm using perl6 split.
18:57 Corion autrijus: Tricky! :)
18:57 autrijus and a regex that's called :P5/\s+/
18:57 autrijus ;)
18:57 autrijus yeah, so by all means override mine :)
18:57 theorb I think p5 still uses split, it just does it at compile-time.
18:58 autrijus ah. makes even more sense.
18:58 autrijus you can of course do the split at compile time also
18:58 autrijus by directly using RRegex.Syntax
18:58 autrijus it's even spelled as =~ :)
18:58 theorb Shouldn't that be ~=?
18:58 Corion theorb: Haskell is prefixing the /= , so it would be /~ too :)
18:59 * autrijus looks at theorb funny
18:59 Corion (and by inference, =~ :) )
18:59 Corion I prefer ~~
18:59 * theorb too, Corion.
18:59 autrijus theorb: it's =~ in p5... I think RRegex just used that
18:59 autrijus and the author even makes it context-sensitive also.
18:59 theorb Ah.  That'd explain the funny look.
18:59 autrijus actually, having more contexts than the p5 one.
18:59 Corion How do I cast a VStr to a String ?
18:59 theorb fromVal, I think.
19:00 autrijus you can't.
19:00 theorb Oh.
19:00 autrijus well, you can use the "id" function.
19:00 Corion autrijus: Mmmhmm
19:00 autrijus type VStr = String
19:00 autrijus a VStr is just a String.
19:00 theorb Oh, so you don't need to; haskell will just use it.
19:00 autrijus now, if you are asking how to cast a (VStr "foo") :: Val
19:01 autrijus into "foo" :: String
19:01 Corion autrijus: Ah. But GHC thinks that they differ ... So I have an error somewhere :)
19:01 autrijus then yes, fromVal when you're inside a monad, and vCast
19:01 autrijus they you're out.
19:01 autrijus I think in your case, vCast works better.
19:01 autrijus vCast (VStr "foo") :: String  # "foo"
19:01 autrijus but note vCast infers the casting depends on the context, so
19:01 autrijus vCast (VStr "foo") :: Int # 0
19:01 autrijus etc.
19:02 autrijus mm, I'm writing haskell, I should've written -- instead of #
19:03 Corion autrijus: Yeah, I've seen much vCast voodoo
19:03 autrijus and there's also castV :)
19:04 * theorb realizes a half-hour later that Corion may have been talking about a haskell function filter and not a p6 function filter.
19:04 Corion theorb: Yep - I was talking Haskell, sorry :) Perl "filter()" is called "grep()" :)
19:05 theorb Yeah.
19:05 * theorb is stupid sometimes.
19:06 cjn has joined #perl6
19:06 * nothingmuch bets he is usually stupider
19:07 autrijus poll:
19:07 autrijus I like rx:P5// a lot.
19:07 * nothingmuch raises hand
19:07 autrijus I'd like to propose that we unify the current
19:08 Corion I like rx:p5 better.
19:08 autrijus :Perl5, :p5, :perl5 usage to it.
19:08 Corion P5 is ugly for my eyes.
19:08 autrijus Corion: but first, it's not in the spec anyway
19:08 * obra sort of prefers p5
19:08 nothingmuch i prefer lc p5, actually
19:08 nothingmuch it's easier to type
19:08 autrijus and larry said that it confuses with rx:p  (parsed)
19:08 nothingmuch not that we'll be typing it in an ideal world =)
19:08 autrijus and finally, I sort of think
19:09 autrijus rx:P5<ms>/.../
19:09 obra actually, :perl5 will make :php5 and :pcre5 and :python5000 easier to look sane
19:09 autrijus reads better than rx:p5<ms>/.../
19:09 castaway hmm, me for :perl5
19:09 castaway and not capitalised, either way
19:09 theorb The thing is that all of them are a subset of perl5, AFAIK, obra.
19:09 autrijus okay. thanks for responding to this poll :)
19:09 obra though, rx:p5 looks like line noise
19:09 autrijus I think timtowtdi :D
19:09 obra theorb: not quite ;)
19:09 obra so. rx:p5 is most in the spirit of perl5
19:09 Corion autrijus: Ugleeeee ! rx:perl5 if you must, but I still prefer rx:p5. No matter what @larry.say()
19:09 autrijus I'll write :P5 for now, but :Perl5, :perl5 will still all be recognized.
19:09 obra er. rx:P5 maybe ;)
19:09 nothingmuch rx:perl5 is also nice
19:10 nothingmuch i agree on <ms> readability, it looks more like a unit
19:10 * theorb assumes autrijus meant to include :p5 ?
19:10 autrijus theorb: I'm not that sure about :p5. I won't drop it right away
19:10 nothingmuch theorb: no, @larray.say() eq "bad"
19:10 autrijus but its inclusion is a mistake
19:10 autrijus so maybe I should've dropped it
19:11 autrijus i.e. it was :perl5 only for a long time
19:11 autrijus and :p5 only added accidentally yesterday
19:11 obra what does rx// do?
19:11 autrijus obra: qr//
19:11 obra without the perl5 flavoring.
19:11 obra ah.
19:11 obra which syn should i read for p6re?
19:11 autrijus 05
19:11 obra k
19:12 autrijus so I think: drop :p5 since it's never meant to be there
19:12 autrijus preserve :perl5 because what's what t/ ext/ currently uses
19:12 autrijus (and it's still in the synopsis)
19:12 chady has joined #perl6
19:12 mdiep autrijus: Compiling Unicode          ( src/Unicode.hs, src/Unicode.o )
19:12 autrijus and allow :Perl5 and :P5 because of @larry.say
19:12 mdiep In file included from /tmp/ghc7730.hc:5:
19:12 mdiep /usr/local/lib/ghc-6.4/include/HsReadline.h:5:31: readline/readline.h: No such file or directory
19:12 Corion I think I've been using p5 for a long(er) time. But a s!:p5!:perl5! is quick to do
19:12 autrijus Corion: ok. sorry for that
19:12 autrijus mdiep: manually comment out readline support
19:13 autrijus in src/pugs_config.h
19:13 * theorb thinks p5 is the shortest to type, and I'm not clear on what the problem with it is -- anybody have a reference?
19:13 autrijus theorb: yes. http://www.nntp.perl.org/gr​oup/perl.perl6.compiler/576
19:14 mdiep src/pugs_config.h: #undef PUGS_HAVE_READLINE
19:14 autrijus argh!
19:14 autrijus someone added something that should not have been added.
19:15 autrijus nothingmuch: the existence of the readline packages implies nothing about its usability
19:15 autrijus and ghc --make can figure out the neccessary package anyway.
19:15 * mdiep waits calmly for autrijus' fix. (shouldn't be more than a couple minutes, right? ;-)
19:15 nothingmuch autrijus: rindolf said that -package readline was necessary
19:15 nothingmuch for it to work
19:15 autrijus for "make" to work?
19:15 nothingmuch i don't recall it not working earlier
19:16 nothingmuch for pugs to have readline support
19:16 nothingmuch this was really a naive fix with no bg checking, just logic
19:16 nothingmuch i'm sorry if i screwed things up
19:16 erxz_paste "ninereasons" at 199.107.164.126 pasted "being expressive in perl6" (35 lines) at http://erxz.com/pb/660
19:16 autrijus no need to be sorry :)
19:16 autrijus next time ask for a specific error lgo from rindolf :)
19:16 ninereasons is the above a reliable way to do what I want?
19:16 Corion Let's ban rindolf here as well :)))))
19:16 autrijus Corion: no :)
19:17 Corion autrijus: :)
19:17 autrijus mdiep: fixed, svn up and rerun makefile.pl
19:17 mdiep heh. thanks! :-)
19:17 nothingmuch Corion++
19:17 nothingmuch =)
19:19 autrijus hrm, what does "want" stringify to in p6?
19:19 autrijus the name of the context?
19:19 nothingmuch yup
19:19 autrijus cool... let me implement that...
19:19 autrijus ...done
19:20 nothingmuch i'd say look at http://search.cpan.org/perldoc?Want for inspiration
19:20 nothingmuch on it's naming scheme
19:20 nothingmuch it's based on a damian RFC
19:20 nothingmuch (/me should stop doing that stuff ;-)
19:20 nothingmuch (Btw, i am not authoritative, ever, all my "yes" etc are only opinions)
19:20 autrijus no-one is authoritative here :)
19:20 nothingmuch let it not imply that i've actually checked anything
19:20 autrijus (smart mobs)++
19:20 nothingmuch =)
19:21 autrijus ok, want() is in.
19:21 nothingmuch woot woot dance woot dance
19:21 nothingmuch damn Test::Distribution
19:21 Corion We have want ? Cool!
19:21 nothingmuch i don't know how to disable pod coverage, so i'm just documenting everything
19:21 * castaway makes a note to say "yes" to things she'll like, whether known or not ,)
19:21 autrijus Corion: just the string form of it :)
19:21 nothingmuch the problem is that If i learn i won't document it
19:21 Corion autrijus: Close enough!
19:22 autrijus heh, it's just 3 lines
19:22 autrijus op0 "want"  = const $ do
19:22 autrijus    cxt <- asks envContext
19:22 autrijus    return $ VStr cxt
19:22 Corion autrijus: Err - where did you put your whitespace fix? I tried to put my fix into angleBracketLiteral(), but it didn't work there.
19:22 * nothingmuch wonders if he should rent a bass in YAPC::NA
19:22 autrijus Corion: in qLiteral
19:22 nothingmuch for the duration of the hackathon at least
19:22 autrijus    case qfSplitWords flags of
19:22 autrijus        'y' -> return $ App "&prefix:\\" []
19:22 * castaway should actually register...
19:22 autrijus etc
19:22 Corion autrijus: Ah - so I've been barking up the wrong tree all the time :)
19:23 Corion autrijus: I already did a svn up, so I can see it now :)
19:23 Corion autrijus: Mind if I put my Haskell code in place of your call to Perl5.split() ? :)
19:24 autrijus sure I mind. I'd be delighted :)
19:24 Corion autrijus: Except, that you're using the GenParser monad, and I have a plain function. But I guess some [ App ...] magic will fix that.
19:25 chady has quit IRC ("leaving")
19:26 autrijus a plain function in p6 space?
19:26 autrijus oh no, in haskell space.
19:26 Corion autrijus: A plain function in Haskell space
19:27 autrijus in that case... hrm
19:27 autrijus are we interpolating before splitting?
19:27 nothingmuch Test::TAP::Model released
19:27 nothingmuch on a cpan near you eventually
19:27 Corion autrijus: No, IMO not (qw() doesn't interpolate in P5 either)
19:27 nothingmuch or darcs get http://nothingmuch.woobling.org/Test-TAP-Model
19:27 nothingmuch kungfuftr has plans for it, stay tuned
19:27 autrijus in that case you can just case analyze expr
19:28 autrijus and assume it's a (Val (Str x))
19:28 autrijus and then apply your function to x.
19:28 elmex has quit IRC ("leaving")
19:29 theorb Oh, that reminds me: were you planning on doing that renamming, or did you want me to?
19:29 nothingmuch renaming?
19:30 Qiang has joined #perl6
19:30 * nothingmuch has not quite really uploaded to pause yet, so please speak up if it's got to do with it
19:30 theorb No, renameing src/* to src/Pugs/*.
19:31 nothingmuch h
19:31 nothingmuch ah
19:31 * nothingmuch clicks button
19:31 autrijus theorb: I think it's the right thing in the long run
19:32 autrijus theorb: so if you can do that, I'd be very grateful
19:32 autrijus (as it's 3:32 am now and I'm about to sleep)
19:32 theorb Oh, right.
19:33 castaway silly timezones
19:33 theorb G'night, Autrijus.
19:33 nothingmuch good night
19:34 theorb Corion: \xA0 should /not/ split (it's a /non-breaking/ space).
19:34 Corion theorb: Yep
19:34 Odin- has quit IRC (Read error: 54 (Connection reset by peer))
19:35 Odin- has joined #perl6
19:37 Corion Eh... Weird - I think my test is somewhat broken :)
19:38 Corion (no, stupid programmer error, as always)
19:45 ninereasons will it always be necessary to predeclare subroutines?  
19:45 ninereasons or does that just indicate the present stage of development?
19:48 nothingmuch kungfuftr: ping
19:48 mdiep has left
19:51 Corion ninereasons: I guess it's just the current state, as we also need parentheses around many things
19:52 castaway ooh, Max, your namesake is on tv tomorrow ;)
19:53 Corion castaway: My namesake ? Max Headroom ? Mel Gibson ?
19:54 castaway Mad Max ;)
19:54 Corion castaway: Ah, Mel Gibson ;)
19:54 castaway which reminds me, how does one pronounce your surname?
19:54 castaway Mai-schein or Mais-chein?
19:54 Corion Maybe Shine
19:54 Corion (in Haskell, that is)
19:55 Corion Mai like the month, and shine like the sun :)
19:55 nothingmuch woo! rsvp for hackathon accepted!
19:55 * castaway nods
19:55 theorb Cool, nm!
19:55 * castaway pokes theorbt
19:55 * theorb needs to figure out how to pronounce Yuval now.
19:56 castaway Yoo-val ?
19:56 Corion Juh-Wahl
19:56 nothingmuch i can record it
19:56 nothingmuch i think i have a mic on this puter
19:56 * theorb chuckles.
19:56 castaway oh, that hard?
19:57 theorb "Hello, my name is Yuval Korgman, and I pronounce Pugs 'Pugs'."
19:57 nothingmuch no, but most most americans tend to make it sound hungarian
19:58 * nothingmuch thinks of imitating linus
19:59 nothingmuch heeiloo, my name is youvaal kougman, and i pronounce linux as 'linux'
19:59 castaway hmm, and how the linux?
20:00 nothingmuch http://www.paul.sladen.org/pronu​nciation/torvalds-says-linux.mp3
20:00 castaway ah, good
20:00 nothingmuch when I was in finland people mostly shut up
20:00 * nothingmuch couldn't get any accents at all
20:00 nothingmuch except for some american biologist who was also at that station
20:01 nothingmuch and people in norway
20:01 nothingmuch (2 of which were immigrants, one (a hitchhiker we picked up) was drunk)
20:01 nothingmuch the only scandinavian accent I really picked up is the swedish chef
20:01 stevan you mean we are not going to call each other by our IRC handles?
20:02 nothingmuch stevan: i don't mind that
20:02 Corion stevan: :))
20:02 theorb So long as Schwern doesn't call me "theo".
20:02 stevan theorb: :)
20:02 nothingmuch in fact, I have a name tag from y2hack which has only 'nothingmuch' on it =)
20:02 Corion theo: Why? Aren't you called Theo Ralph Brown ?
20:03 * theorb is not.
20:03 mj has quit IRC ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
20:03 * nothingmuch wonders if he has any cigarettes left
20:03 * castaway hopes not ,)
20:03 gaal we could have the AUTHORS file link to wavs where people say their names as pronounced in their native languages.
20:04 theorb That's not a bad idea.
20:04 gaal nm: why did you add my name? :)
20:04 Corion Hmmm. Pugs test now hangs on t/pugsrun/06-dash-version.t ... Weird ...
20:04 * nothingmuch hops off to the gas station
20:04 nothingmuch gaal: because i like unicode ;-)
20:04 nothingmuch btw, Test::TAP::Model released
20:04 * theorb wonders if that's really supposed to be an apostrophy in nm's name.
20:04 nothingmuch apostrophy? where?
20:05 nothingmuch oh, that
20:05 nothingmuch yes
20:05 nothingmuch we call it a chupchik
20:05 Qiang has quit IRC ("brb")
20:05 nothingmuch קו is ku
20:05 nothingmuch ג' makes ג, a G sound into a j sound
20:05 nothingmuch מן is man
20:06 nothingmuch americans had lots of trouble with kujman
20:06 nothingmuch so that was naturally softened up to kogman
20:06 * gaal netgreps for bo2
20:07 * theorb suspects there is a correct char for chupchik, but that's not it.
20:07 * theorb shrugs.
20:08 nothingmuch i only know of the one under w in a hebrew layout
20:08 Corion TorgoX's JavaScript sliderule might help
20:09 gaal nm, did you know hebrew has its own traditional quotes? hardly anyone uses them nowadays
20:09 gaal ,,like this''
20:09 nothingmuch yeah
20:09 gaal i *like* them
20:09 nothingmuch i remember old mac word processors (ravktav) would do that
20:10 gaal in the rare chances i get to write with a pen, i try to do that.
20:10 * nothingmuch never remembers
20:10 nothingmuch not that my hand writing is legiable either way
20:10 castaway German uses those ,)
20:10 nothingmuch which is very sad, considering how much i actually write in a pencil
20:10 * nothingmuch never reads what he writes
20:11 nothingmuch and once a month cleans up about 20 pages of scribbles from his desk
20:11 nothingmuch A3 ones
20:11 * theorb wonders if hebrew is as hard to read has it looks.
20:11 gaal hebrew proably got it form german then
20:11 theorb Er, s/read/write legibly/
20:11 nothingmuch there are two forms
20:11 theorb Wow, I have to fold an A4 sheet in half to find space to put it on my desk.
20:11 theorb I know, serif and sans.
20:11 nothingmuch we call them 'print' and 'writing'
20:12 nothingmuch the one you see on your screen are print like
20:12 gaal wow, i was just surprised by something. any chinese spekers on now?
20:12 nothingmuch they are very hard and annoying to write in a pretty way
20:12 gaal speakers, sorry
20:12 nothingmuch most of the handwritten letters are one or two strokes, though
20:12 nothingmuch and still quite legiable
20:13 theorb Oh, cool.
20:13 nothingmuch (unless i'm writing them ;-)
20:13 gaal arabic=beautiful
20:13 gaal harder to learn though
20:14 nothingmuch anyway, cigarettes
20:14 nothingmuch or rather singular
20:14 gaal the writing system, i mean
20:14 * nothingmuch never got along with arabic
20:14 nothingmuch maybe if you come to YAPC::NA we can do a semitic script workshop?
20:14 nothingmuch semite?
20:14 gaal yay :)
20:14 gaal get me a sponsor too :)
20:15 nothingmuch ask stevan to give you a job =)
20:15 * nothingmuch will work weekends and evenings to get that done
20:15 nothingmuch you, OTOH, will pretend-work from prison ;-)
20:15 gaal it
20:15 gaal 's in the end of june, right?
20:16 nothingmuch yup
20:16 gaal your bday, right
20:16 nothingmuch yup
20:16 nothingmuch 22nd the hackathon starts
20:16 nothingmuch 27th YAPC starts
20:16 nothingmuch 29 YAPC ends, and I celebrate bday
20:16 Corion bday == boozeday? :)
20:17 nothingmuch birthday
20:17 gaal exactly right, Corion
20:17 nothingmuch boozeday is every friday
20:17 Qiang_ has joined #perl6
20:17 gaal lol
20:17 Corion nothingmuch: Ah, just like in the office :)
20:17 * theorb wonders what the drinking ages are in .il and .ca.
20:17 nothingmuch well, almost every friday
20:17 gaal 18 here
20:17 nothingmuch Corion: ah, yes, there's drinking in the office too
20:17 theorb Somebody was looking for a chinese-speaker?
20:17 * nothingmuch sometimes has beer for lunc
20:17 nothingmuch but only one
20:17 gaal i was
20:17 nothingmuch beer makes me tired
20:18 Corion I sometimes work. Work makes me tired.
20:18 Qiang_ has quit IRC (Client Quit)
20:18 theorb Hm, anybody know what {-# SOURCE #-} is in a import {-# SOURCE #-} foo ?
20:18 theorb Missed your chance.
20:18 autrijus theorb: oh btw
20:18 * theorb lives.  Life makes me tired.
20:18 theorb Um, aren't you asleep, autrijus?
20:18 Corion autrijus: Awake already again?
20:19 autrijus theorb: please keep IMC and Unicode and UTF8 and RRegex and pcre in the same place
20:19 nothingmuch theorb: IIRC it's got to do with recursive usage between modules
20:19 nothingmuch autrijus: aren't you supposed to be sleeping?
20:19 autrijus since they are "external"
20:19 theorb Ah, OK.
20:19 autrijus the {-# SOURCE #-} refers to a mutual recursion import.
20:19 autrijus it says "import from .hs-boot"
20:19 nothingmuch autrijus: john replied with "ok"
20:19 Corion ... or maybe he just has a command line irc client and sets up at(1) or cron(1) jobs :)
20:19 theorb Oh, OK.
20:19 justatheory has quit IRC (Read error: 54 (Connection reset by peer))
20:19 autrijus nothingmuch: woot
20:19 nothingmuch =)
20:20 gaal how do you say "wave" in mandarin? i was under the impression it was bo2, but this says something else: http://cgibin.erols.com/mandarintools/cgi-bin/cha​rlook.pl?enctype=big5&amp;searchmode=standard&amp​;printtype=gif&amp;chartype=trad&amp;ordering=fre​quency&amp;display=char&amp;display=radstroke&amp​;display=strokes&amp;display=pinyin&amp;display=e​nglish&amp;display=cantonese&amp;display=variants​&amp;english=wave&amp;searchenglish=Search+by+Eng​lish&amp;pinyin=&amp;cantonese=&amp;whatchar=
20:20 gaal ew, sorry about the long url
20:20 gaal sea wave, that is.
20:20 autrijus it's "hui1 shou3".
20:20 gaal thanks, autrijus
20:20 autrijus 揮 is wave
20:20 ninereasons perlbot shorten it
20:20 autrijus 手 is hand.
20:20 gaal that's entirely not what i thought
20:20 autrijus (utf8)
20:20 perlbot Shortened URL: http://snipurl.com/e1kr
20:21 gaal oh, sea wave
20:23 justatheory has joined #perl6
20:24 Corion Hmm. Weird. FireFox did display the hebrew writing, but not autrijus' writing. Maybe I need to install more fonts ;)
20:25 theorb Install them all and God will know his own.
20:26 * autrijus wishes leo luck.
20:26 * theorb is on kterm, and nothing shows correctly except ASCII.
20:26 autrijus (he have just gone offline, with freshly downloaded GHC 6.4 and new makemaker)
20:27 * castaway just read "Adults", "Minions", "Seniors".. (on a travelagent site)
20:27 clkao hmm. i can imagine some nonsleep 48hours hacking over the weekend
20:27 nothingmuch sounds like you're going to have a very exciting flight
20:28 nothingmuch autrijus: your sleep is important to pugs
20:28 nothingmuch and your health
20:28 nothingmuch or actually, your health is important to pugs
20:28 clkao he is not healthy anyway
20:28 clkao more hotsprings needed
20:29 Corion Ugh. pugs -e "for (any< -v --version>.values) -> $v { say qq|*$v*|}" # is a bug, is it ?
20:29 autrijus and more mountains!
20:30 nothingmuch we need more of them in israel
20:30 Corion (and I think it stems from the behaviour of split() :)
20:30 nothingmuch mountains++
20:30 nothingmuch although having the deepest hole in the ground is also nice
20:30 autrijus no it is not.
20:30 autrijus pugs -e  'for (any(< -v --version>).values) -> $v { say qq|*$v*|}'
20:30 autrijus works fine.
20:30 autrijus thing is that any() is listop
20:30 autrijus so you can't fake <> as parens.
20:30 Corion autrijus: Aaah.
20:31 clkao autrijus: when can i write real classes with pugs?
20:31 autrijus clkao: you already can
20:31 castaway WIR
20:31 autrijus schwern just did
20:31 autrijus but you have to learn haskell
20:31 clkao good.
20:31 clkao no
20:31 clkao good
20:31 Limbic_Region has quit IRC ("weekend")
20:31 autrijus perlland classes lands perhaps next week.
20:31 clkao i guess i'll polish patch dependency crap or svk-lite for the weekend
20:31 autrijus if you just want polymorphic type-based invocation
20:32 autrijus then that's easy, we already have MMD, we just need bless()
20:32 autrijus or "my Class $foo"
20:32 autrijus if you need more than that, it's going to take a couple weeks.
20:32 pjcj t/pugsrun/06-dash-version.t seems to be hanging for me - known problem?
20:32 nothingmuch autrijus: give me a haskell task idea
20:32 nothingmuch i'm sick of p5
20:32 justatheory has quit IRC ()
20:33 Corion Endless loop for anyone else? pugs -e "say +(any(< -v --version>).values)" # doesn't finish for me
20:33 autrijus here too.
20:33 nothingmuch same
20:33 Corion And that's a bug: pugs -e "my @l = < -v --version>; say +@l" # should say 2, not 3
20:33 autrijus they are all bugs.
20:33 autrijus nothingmuch: a haskell task -- fix those bugs :D
20:34 autrijus but if you are looking for "fun" tasks, implement @*CWD maybe.
20:34 Corion nothingmuch: Easy - just fix the call to Perl.split() to strip whitespace at the front and back of the string before splitting
20:34 autrijus or help theorb in doing eval_haskell""
20:34 Corion Actually, I'll go and try to do that myself ...
20:35 nothingmuch eval_haskell sounds a bit too much for me
20:35 nothingmuch but i'll try for the split as soon as i have some nicotine in my blood
20:35 decay_ has joined #perl6
20:35 Corion autrijus: While it's nice to have you around here, you should sleep ;)
20:35 Corion autrijus: Should I make the infinite loop into a test?
20:35 Corion (or golf it down further?)
20:36 gaal Corion: add watchdog capabilities to the harness! :)
20:36 Corion gaal: Ha ha. :)
20:36 decay has quit IRC (Read error: 104 (Connection reset by peer))
20:36 theorb eval_haskell should be pretty easy once the rename goes through.
20:36 autrijus Corion: you want to implement alarm() as async{} + thread.kill ?
20:37 autrijus Corion: but sure, make it into a test and fix it :)
20:37 Corion autrijus: Ah, that would be a way, yes. No, I'll look at making your Perl.split() code perform more work ;)
20:37 nothingmuch Corion: shouldn't be hard, the harness is p5
20:37 gaal can you do that so it works on windows too, autrijus?
20:37 gaal wow
20:37 * Corion adds the test.
20:37 autrijus gaal: sure, haskell concurrency is da bomb.
20:37 autrijus it's actually faster on win32 as well.
20:37 autrijus (lightweight threads)
20:37 autrijus unlike a certain ithreads. )
20:37 gaal heh
20:37 nothingmuch ithreads--
20:37 nothingmuch not usable at all
20:37 nothingmuch for anything threads are good for
20:38 nothingmuch (except emulating fork)
20:38 gaal how do you kill the kill (that is, do alarm(0)?
20:38 castaway ithreads++
20:39 autrijus gaal: just by modifying some shared variable
20:39 nothingmuch castaway: why?
20:39 autrijus i.e. the async{} decs the var every 1 sec
20:39 autrijus and kill the kill sets it to -1
20:39 autrijus thus never triggering 0
20:40 autrijus there are other ways possible.
20:40 gaal and joins when it sees "please die" signalled
20:40 gaal ok
20:40 castaway im2threads++
20:41 gaal now, what shoufdl the alarm do, send a sigalarm to $$, er, $?PID ?
20:41 nothingmuch Test::XML::Simple++
20:41 gaal or can we do better than that and avoid unix signals?
20:41 Corion I'll add the infinite loop test and then look how to fix the harness, maybe. I think the harness has a (built-in) capability for timing out tests.
20:41 Corion CPAN.pm seems to use that functionality from what I remember.
20:42 nothingmuch *poof*
20:43 gaal Corion, i don't think so. Straps.pm:285
20:43 Corion Hmmz
20:46 * gaal is trying for alarm() in pure perl - but still doesn't know what to do when the alarm actually soudns
20:46 theorb SIGALARM, or at least $SIG{__ALARM__}
20:47 dada has quit IRC ("This is quite possibly the most inherently wrong thing in the world today.")
20:47 gaal kill $$, 14?
20:47 * Corion adds another (broken) test
20:47 gaal except the other way around? :)
20:48 gaal we don't have kill though, do we
20:48 gaal ok, i'll try to add it if it isn't there yet
20:48 theorb Probably shouldn't hardcode that 14.
20:48 theorb Adding in kill would be nice in any case.
20:49 gaal if your system doesn't have ALRM at 14, well, it deserves a random signal :)
20:49 gaal j/k
20:49 Corion Hmmm. Is there any nice'n'easy way to see the Haskell AST for Perl6 code? Like -MO=Deparse / -MO=Terse
20:49 Corion ... I want to do some nasty/dirty AST embedding to fix the leading whitespace in qLiteral()
20:50 gaal Corion: . in interactive pugs
20:50 Corion Ah. pugs -CHaskell
20:50 Corion gaal: Oh. I should try that, one day :)
20:50 pjcj Corion: I don't think you can see it all, but see Pretty.hs
20:51 Corion gaal: No, . doesn't display anything for me. SHould it go onto the same line as the Perl code?
20:52 autrijus Corion: just pugs -C
20:52 Corion Ah. Not after the code, but before it :)
20:52 ingy theorb: is SHA1 all working as originally written?
20:52 autrijus ingy: yes!
20:52 autrijus SHA1 all works as originally written.
20:52 Corion autrijus: No, doesn't work...
20:52 theorb It was for a bit, but is not now.
20:52 theorb Or will not shortly.
20:52 ingy ?
20:52 autrijus ingy: it works in 6.2.0.
20:52 theorb We should move it into core and write tests against it.
20:52 autrijus theorbtwo is assing eval_haskell() as well.
20:52 Corion But -CHaskell works, it seems.
20:53 theorb I'm in the middle of renaming everything.
20:53 autrijus but anyway.
20:53 autrijus Corion: you really want -CPugs
20:53 autrijus Corion: you really don't want -CHaskell :)
20:53 Corion So I will embed the AST, just like autrijus did. I'm hacking like the pros already :)
20:53 Corion autrijus: Will try that then ;)
20:53 autrijus Corion: also "make ghci" and then type
20:53 castaway mm, roundtrip, 2100 euro *per person*, no thanks, opodo
20:53 autrijus parse "arbitary code"
20:53 Corion Hmmm. Empty output with -CPugs.
20:53 Corion autrijus: Ah - will make ghci then ;)
20:54 autrijus Corion: eh, look at dump.ast
20:54 autrijus ah, you are using the "error message" in -CHaskell
20:54 autrijus as the AST
20:54 autrijus clever
20:54 Corion autrijus: I'm stupid :)
20:54 Corion autrijus: Yes - I realized that I've looked at dump.ast in other situations already :)
20:55 jiing__ has joined #perl6
20:55 metaperl_ has joined #perl6
20:55 autrijus ok. as fun as it is, it's 5am now :)
20:56 metaperl_ has quit IRC (Client Quit)
20:56 autrijus journal up, and I should sleep.
20:56 * autrijus waves &
20:56 autrijus rock on lambdacamels! :)
20:56 theorb G'night (again).
20:56 obra night autrijus
21:01 Corion (Is he asleep now? I don't dare mention his name, lest he wakes up again) - we don't have @list = ($foo ~~ rx:perl5:g/(x)/) # have we ?
21:01 Maddingue_ has quit IRC (Read error: 110 (Connection timed out))
21:01 Corion D'oh - we have - I was just too stupid :)
21:01 clkao you can use a u t r i j u s
21:02 Corion clkao: :))
21:02 clkao win36
21:02 Limbic_Region has joined #perl6
21:02 nothingmuch castaway: what is 2100 euros?
21:02 gaal sujiraut sounds nice too.
21:02 castaway lotsa money ,)
21:02 nothingmuch i meant who wants you to pay that much?
21:02 Corion 2k Eur is quite a lot indeed. YAPC::E is 300 EUR (for the flight)
21:03 castaway opodo.de, a travelagent
21:03 Corion nothingmuch: Opodo for the flight to YAPC::NA / Pugsathon I guess
21:03 nothingmuch ah
21:03 nothingmuch i didn't know who/what opodo was
21:03 castaway sorry.. MUC->PHL->XXY->MUC
21:04 nothingmuch anybody know a cute XPath cheat sheet?
21:04 castaway the XPath spec? ;)
21:04 gaal yes: zvon have a great resource
21:04 gaal http://www.zvon.org/xxl/XPathT​utorial/General/examples.html
21:04 elmex has joined #perl6
21:04 nothingmuch has quit IRC ()
21:05 nothingmuch has joined #perl6
21:05 nothingmuch beh, q and w are too close together
21:05 gaal that's so you can say :wq quickly
21:05 nothingmuch gaal++
21:06 * theorb thinks w and q are exactly where they belong.
21:06 theorb (May God save us from azerty.)
21:06 nothingmuch :wq is useful
21:06 nothingmuch but cmd+q instead of cmd+w (which doesn't happen very often, but happens) is annoying
21:07 * theorb sighs.
21:07 theorb (I want my keyboard and mouse to arrive, so I can actually use my mac.)
21:07 nothingmuch theorb: any usb keyboard/mouse should do
21:08 gaal if i say $x-- err say "moose", and $x was undef: (a) does moose get said? (b) does a warning get emitted? [i hope: yes, and no.]
21:08 theorb It's an ADB mac, nm.
21:09 nothingmuch oh my
21:09 nothingmuch and you expect to run OSX on that?
21:09 theorb gaal, I'd expect $x-- to set $x to -1, and return undef.
21:09 theorb Yes, nm.
21:09 nothingmuch good luck
21:09 nothingmuch which kind?
21:09 nothingmuch beige g3?
21:09 theorb I checked the requirements first.
21:09 theorb G3/266.
21:09 theorb Yup.
21:09 * nothingmuch doubts they will be supported for long
21:09 castaway t doesnt have to run fast, just run ,)
21:09 theorb It may not run it /fast/, but it should run it.
21:10 theorb OTOH, I have plenty of RAM that should work in there.
21:10 nothingmuch many times i see "requires a mac with builtin USB"
21:10 nothingmuch that's where my pessimism is from
21:10 nothingmuch ram is very useful
21:10 theorb Hm.
21:10 * nothingmuch gets along very well with 1gb of ram in a mac with 400mhz
21:10 gaal and no warning, right? like p5
21:11 Corion Yay! My first AST transplantation seems to work! I am the king of AST! :-)))
21:11 wilx has quit IRC (Read error: 104 (Connection reset by peer))
21:11 nothingmuch gaal: i would say that no warning
21:11 nothingmuch otherwise you can't just $i++ from anywhere
21:11 nothingmuch either way, it's useful behavior, i rely on it a lot
21:11 nothingmuch you have to predecalre
21:11 nothingmuch when you 'use sloppy'
21:11 nothingmuch or wait, you don't get warnings that way
21:11 Corion (compiling Perl code to AST, just to paste it back into Haskell is a bit backwards. But I kept the Perl code as a comment :) )
21:12 gaal i know how it is in p5 :) just checking with p6
21:12 * nothingmuch is giving an opinion on what p6 should be like =)
21:13 theorb Well, Tiger says it requires a G[345] with builtin firewire.
21:13 theorb But I wasn't planning on using Tiger with it.
21:13 nothingmuch tiger should be funky
21:13 nothingmuch but panther is good too
21:13 theorb ...and I'm fairly certian I checked fairly well before I started this escipade.
21:13 theorb I've got a copy of Panther.
21:14 nothingmuch btw, in theory if you have enough ram you should be able to do tiger too
21:15 nothingmuch there's a project to allow running of OSX on older hw
21:15 nothingmuch i don't remember what it's called though
21:15 * crysflame is waiting for Tiger.
21:16 Corion Now, < a b c > is implemented as @list = rx:perl5:g/(\S+)/ # I wonder what border cases I've missed. Like \xA0.
21:16 Juerd crysflame: What about it convinces you to want it?
21:16 nothingmuch Corion: i think it's good
21:16 nothingmuch because it's well defined
21:16 Juerd Corion: It *shouldn't* split on \xA0, because \xA0 is *non breaking* space...
21:17 nothingmuch but <<>> isn't so simple
21:17 Corion Juerd: Yes. I don't know if \xA0 counts as \s or not.
21:17 Juerd It doesn't in Perl 5, and I think that's a good idea.
21:17 Juerd It's not whitespace in practical sense, it only renders as such.
21:17 Corion Juerd: And, as \S is the complement of \s, that will affect it as well (see my implementation, above)
21:17 nothingmuch due to shell quoting behavior
21:18 crysflame Juerd: the price.
21:18 Juerd Corion: But this is a good one for p6l, I think.
21:18 Juerd "the price"?
21:18 crysflame yes. it's the hardest answer to argue with i could think of. :)
21:18 Juerd crysflame: Do you have Panther now?
21:18 Corion Juerd: Feel free to bring it up - I'm not subscribed. There is a test for it, but I can't find it, even though I've written it some hours ago.
21:18 Juerd Tiger doesn't really add much, does it?
21:18 crysflame Juerd: yes.
21:18 crysflame i don't know. i haven't seen it yet.
21:19 nothingmuch Tiger's cool features are supposed to be the searching caps and apis
21:19 nothingmuch i think that's the only thing i'm anticipating
21:20 Corion Juerd: t/syntax/list_quote_whitespace.t - feel free to add a correct link into the relevant Apocalypses/Synopses
21:20 crysflame oh, right
21:20 crysflame i'm totally thrilled about Mail.app
21:20 crysflame as it may be stabler and faster
21:20 nothingmuch Corion: there's quoting.t that tests for some stuff like that
21:20 crysflame if the trend is holding true
21:20 nothingmuch i doubt faster
21:20 nothingmuch (with my mail loads at least)
21:21 Corion nothingmuch: Yep... I should merge the other test with it maybe (I've also added a third type of tests to quoting.t already)
21:21 crysflame spotlight will make it wildly faster
21:21 crysflame note that i'm not defining faster
21:21 Corion nothingmuch: But myself, I prefer short test files ...
21:21 Juerd crysflame: Ah, I don't use client side mail :)
21:21 nothingmuch Corion: i don't mind short of long, as long as checks for the same things are together
21:22 Corion nothingmuch: Hmmm - you're right - I should maybe move my test from t/syntax to t/operators
21:22 * Corion moves
21:22 nothingmuch Corion: that's not really what I meant... arguably it's both syntax and an operator
21:22 nothingmuch crysflame: if it handles my 16000 msg inbox like mutt does (which is bordering on OK) then I might use it
21:22 Corion nothingmuch: So what was your idea then ?
21:23 nothingmuch i just don't want checks for the same thing in two files
21:23 nothingmuch either old stuff from quoting.t moves out if it's bloated
21:23 nothingmuch or new stuff merged in
21:23 Corion nothingmuch: Ah, no. The checks check different stuff.
21:23 nothingmuch nothing fancy
21:23 Corion The quoting.t change now checks that < a b c > gets three elements too.
21:23 nothingmuch what about texas quotes + shell quoting?
21:23 justatheory has joined #perl6
21:24 nothingmuch that is very related to the handling of whitespace in < >
21:24 Corion the syntax/list_quote_whitespace.t checks that \r \n \t and " " get treated equally.
21:24 Corion texas quotes ?
21:24 nothingmuch texas quote: <<
21:24 nothingmuch french quote: «
21:24 nothingmuch ascii equiv of french quote
21:24 Corion nothingmuch: Ah, I think that code waits for unification with the rest of the quote...
21:24 Corion Ah.
21:25 crysflame nothing: yep, i'm on that page as well
21:27 Corion Is gaal adding timeout support ?
21:27 * Corion scrolls upü
21:29 * gaal is
21:29 Corion gaal++
21:29 * Limbic_Region wonders who was working on sleep()
21:29 Corion (so I don't have to worry about the infinite loop I committed :) )
21:29 gaal though i got a weird parse error on something basic
21:29 gaal oh, we don't have sleep? :)
21:30 Corion Limbic_Region: I was, for some time, until I realized I lack the knowledge to make sleep() return the count of seconds slept.
21:30 gaal i took a detour to add kill
21:30 Corion But sleep() works, otherwise
21:30 nothingmuch gaal: can you try to backport to Test::TAP::Model?
21:30 gaal backport what
21:30 Limbic_Region speaking of which - /me needs to find a thread
21:30 nothingmuch i have a revision of yaml_harness, but i'm not checking it in till Test::TAP::Model is mirrorred by CPAN
21:30 nothingmuch backport the harness fix
21:30 gaal what fix?
21:31 Corion Gah. I think my "fix" broke junction parsing. Or something other... Great ...
21:31 Corion ... because all OS specific tests now fail on Win32, which tells me that the if $?OS ~~ any(<foo bar baz>) # is not working anymore.
21:32 * theorb hmmms.
21:32 Limbic_Region Corion - see this node by Larry WRT p6 and sleep http://www.perlmonks.org/index.pl?node_id=435595
21:32 Corion Hah. Because the tests are using the old (and much more likable) version: any<foo bar baz> instead of any(<foo bar baz>)
21:32 Corion Limbic_Region: no
21:32 * nothingmuch hopes we have floating point granuality sleep
21:32 Limbic_Region :fractional sleep should do what you expect"
21:32 Limbic_Region Corion, wasn't a question
21:33 Limbic_Region it was a demand
21:33 Limbic_Region :P
21:33 Corion Limbic_Region: Demand for what? Sleep already takes microseconds as a parameter.
21:33 Corion Limbic_Region: Read the source.
21:33 Corion nothingmuch: Haskell has, so we do.
21:33 theorb So I moved and edited a bunch of files on my end... how do I get this to reflect properly in the repo?
21:34 nothingmuch why does larry hide his true identity on perlmonks?
21:34 nothingmuch to prevent widespread hysteria?
21:34 gaal brb
21:35 castaway he hides?
21:35 nothingmuch well, not really hides
21:35 nothingmuch but sort of conceals
21:35 castaway no more than anyone else IMO
21:35 Limbic_Region Corion - oh, well it was a mistake on my part "return the count of seconds slept" lead me to believe they were atomic units
21:35 nothingmuch =P
21:35 nothingmuch maybe i don't read enough perlmonks
21:35 theorb I think it's to avoid hero-worship.
21:36 Corion Hmmm. My "fix" fixed some stuff, but broke any<foo bar baz>. Is that acceptable ?
21:36 castaway (which s the opposite reason everyone knws who merlyn is ;)
21:37 nothingmuch =)
21:38 iblechbot has quit IRC (No route to host)
21:38 Limbic_Region Corion - out of curiosity, if I wanted to read the source for the work you did on sleep, where would I look?
21:38 Corion Limbic_Region: In Prim.hs, and most of the work was done by shapr I think :)
21:40 gaal nothingmuch: why do you hide your identity on pm? :p
21:40 nothingmuch gaal: there is a sort of cloud of mystery about TimToadyy
21:40 nothingmuch it took me a long while to be sure it was him
21:41 Limbic_Region nothingmuch - really?  There are enough nodes where he makes it painfully obvious
21:41 theorb not for me, nm, but I was around on the CB when he was first there.
21:41 theorb He and Dan, in purticular.
21:41 nothingmuch oh well
21:41 castaway you could have just asked (in CB )
21:41 nothingmuch nevermind, bygons
21:41 nothingmuch i know now, and have for a while
21:41 nothingmuch and it wasn't objection
21:41 Limbic_Region theorb - Larry, Dan, and Damian IIRC
21:41 nothingmuch i was just curious
21:42 * Limbic_Region was impressed
21:42 theorb So was I.
21:42 theorb (I forgot Damian.)
21:42 * ninereasons still doesn't know who I0 is
21:42 theorb A Monad?
21:42 ninereasons someone clever :)
21:45 Limbic_Region *shrug* - to be honest, I have been as impressed if not more impressed by completely unknowns then I have the big names
21:46 * hlen 's been waiting for so long for the pipe operators.. =|
21:47 * Limbic_Region knocks the crack out of hlen's hands and says that is not what the pipes are for
21:48 * nothingmuch would like to have a private pipe operator
21:48 nothingmuch and err
21:48 * nothingmuch had a wonderful pipe named isabelle
21:48 nothingmuch nothing else
21:48 nothingmuch and another pipe i didn't name
21:48 * nothingmuch used to smoke Captain Black
21:48 nothingmuch honest
21:52 nothingmuch perlbot nopaste
21:52 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
21:53 * Juerd finished his latest p6l flood
21:53 pasteling "nothingmuch" at 212.143.91.217 pasted "castaway - find in inc - looks ok?" (24 lines, 492B) at http://sial.org/pbot/9371
21:53 Juerd I should care less
21:53 nothingmuch My::Module -> My/Module/file.foo
21:53 chip has quit IRC ("leaving")
21:55 Corion Bah. My fix is cool, but breaks any() ...
21:56 Juerd How can it be cool if it breaks any?
21:56 Juerd Vandalism? :)
21:56 nothingmuch Juerd: it doesn't break all(), so it could be worse ;-)
21:56 theorb Breaks any(), or brakes any<>?
21:56 castaway looks ok to me, nm
21:57 Limbic_Region or brakes any any?
21:57 nothingmuch now there's one final problem: how do you get the user to output two files?
21:57 nothingmuch looks like my example is going to need getopt ;-)
21:57 Juerd nothingmuch: Do users ever output files?
21:57 Corion pugs -e "say('foo' ~~ any(<foo>))" # prints nothing with my patch applied
21:58 theorb Hm, that's sad.
21:58 nothingmuch Juerd: =/
21:58 Juerd Corion: Shouldn't that be any(<foo>).pick, anyway?
21:58 nothingmuch theorb: what is?
21:58 Juerd Or do disjunctions stringify to any of their values?
21:58 Corion Juerd: Before, that worked. Before, even 'foo' ~~ any<foo> # worked
21:58 Corion Juerd: I think they stringify to any of their values
21:58 Juerd Oh, sorry, I read ~, not ~~
21:59 theorb Sad that it breaks things.
21:59 nothingmuch things can be fixed
21:59 * nothingmuch doesn't think it's very sad
21:59 Corion theorb: Even sadder that it's already committed :)
21:59 Juerd OMG - 11 posts to p6l in one day
22:01 Corion Ah - how do I enforce list context ? Is there any operator to do that?
22:02 Corion (while still keeping my list)
22:02 Corion I could do (my @tmp = EXPR) ... I guess that's it.
22:02 theorb list, Corion.
22:02 Corion theorb: Ah - cool!!
22:03 cognominal has quit IRC (Read error: 54 (Connection reset by peer))
22:04 cognominal has joined #perl6
22:07 Limbic_Region is now known as LR|Food
22:10 Corion What would you expect to be the result of pugs -e "say +(<a b c>)" # should it be 3 ?
22:11 Corion Compare against pugs -e "say(<a b c>)"
22:12 Juerd Corion: list context is forced with list, scalar context is forced with scalar, hash list context is forced with hash, void context is not forced with void... hmmm...
22:12 Juerd Corion: Yes.
22:12 Corion juerd: :)
22:12 Juerd Corion: (3)
22:12 Corion Juerd: So I've introduced a hellish bug with my "patch" :(
22:13 Juerd +LIST puts LIST in scalar context, making it an arrayref, of which the numeric form is the number of elements.
22:13 Corion Because either I'm applying list() wrongly, or it doesn't work to provide list context to EXPR ~~ rx:perl5:g/(\S+)/
22:13 theorb Can you find a use of the void context specifier that is not obfuscatory?
22:14 Juerd theorb: sub unpure_function ($foo) { void wouldbe_expensive_in_other_context($foo) }
22:14 Juerd Rather than
22:14 Juerd theorb: sub unpure_function ($foo) { wouldbe_expensive_in_other_context($foo); 0 }
22:15 Corion D'oh. A [Syn "cxt" [Val "str" ... node hints at scalar context, doesn't it ?
22:15 theorb Stick a "returns void" on the sub.
22:15 Juerd theorb: Okay, then I have no idea :)
22:17 LR|Food is now known as Limbic_Region
22:21 decay_ has quit IRC (Read error: 145 (Connection timed out))
22:29 * theorb curses svn.
22:29 Corion Bah. I don't find where my stuff broke, or where junction parsing does not work out... I hope you all can live with junctions currently broken in the way they are.
22:29 Corion Good night !
22:30 theorb G'night, Corion.
22:30 Corion has left
22:31 Juerd That bastard is leaving us with broken junctions! ;)
22:36 jhorwitz has joined #perl6
22:37 decay has joined #perl6
22:48 larsen has quit IRC ("later")
22:51 gaal any lambdafolk up?
22:51 * nothingmuch is up but doesn't count
22:51 nothingmuch i can try to help though
22:52 gaal okay, here's the deal. i'm doing kill, which in haskell is called signalProcess.
22:52 gaal it has to go through Compat
22:52 gaal signalProcess :: Signal -> ProcessID -> IO ()
22:53 gaal Signal and ProcessID are both Ints, defined in System.Posix.Signals. so far ok?
22:54 theorb Yep.
22:54 theorb BTW: That's Pugs.Compat, as of a few seconds ago.
22:54 theorb Welcome to 2009.
22:54 gaal k, now in Compat i declare, well, compat types for these two
22:55 gaal how do i "export" these two types? it dosen't go like functions in the module ( xxxx) where clause
22:55 theorb Are you sure it doesn't?
22:55 gaal because what i get now (wehn i do HAVE_POSIX), is
22:56 gaal No instance for (Value System.Posix.Signals.Signal
22:56 theorb Ah.
22:56 gaal that's in Prim, not in Compat
22:56 gaal because Prim doesn't import Posix stuff directly
22:57 gaal so i'm missing the syntax for exporting types, i guess
23:00 gaal rather:
23:00 gaal that is how you export a type
23:00 gaal but not how you, er, reexport it
23:00 gaal ie if you don't declare it yourself but want your caller to import it.
23:01 theorb OK, the tree should build again.
23:01 * theorb goes to bed, one Great Renaming later.
23:01 gaal night.
23:06 * gaal wanders off to bed, killless but slightly less scared of haskell
23:11 pasteling "gaal" at 192.115.25.249 pasted "pp alarm, broken" (29 lines, 706B) at http://sial.org/pbot/9373
23:12 * gaal zzz&
23:14 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.1/20050223]")
23:19 gcom has quit IRC ("That's it for today")
23:20 elmex has quit IRC ("leaving")
23:21 bradb has joined #perl6
23:27 nothingmuch Test::TAP::Model 0.02 released, Test::TAP::HTMLMatrix released
23:31 nothingmuch oh crap, i forgot kungfuftr's improvements
23:33 kenalex has joined #perl6
23:33 kenalex what is the difference between perl and perl6
23:38 kenalex has quit IRC ()
23:41 avar has joined #perl6
23:48 stevan nothingmuch: you should announce on perl-qa
23:48 drbean has left
23:48 nothingmuch i have a postponed message already written
23:49 stevan cool
23:49 nothingmuch damnit, why can i never get a 0.01 release right
23:50 stevan :)
23:50 stevan because its 0.01
23:50 stevan maybe try releaseing 1.0 first :)
23:51 avar has quit IRC (Read error: 104 (Connection reset by peer))
23:53 ninereasons r2010:  Warning: Module `Pugs.Internals' is imported, but nothing from it is used  (except perhaps instances visible in `Pugs.Internals')
23:55 ninereasons r2010: both 'make' and  'make optimized' are broken with the above error.
23:55 nothingmuch ninereasons: which repo is that?
23:56 ninereasons I'm sorry nothingmuch, it's the end of my day;  what's meant by "repo" ?
23:56 * ninereasons cringes
23:56 nothingmuch svn.openfoundry.org? or svn.perl.org?
23:57 ninereasons repository! svn.openfoundry.org (i think)
23:57 ninereasons that's the one without trunk, right?
23:58 jiing__ has left
23:58 ninereasons svn co http://svn.openfoundry.org/pugs/
23:58 jiing__ has joined #perl6
23:58 Juerd ninereasons: repository.
23:59 ninereasons Juerd, repo
23:59 ninereasons :) now I'm cool too.

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

Perl 6 | Reference Documentation | Rakudo