Camelia, the Perl 6 bug

IRC log for #perl6, 2005-03-02

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:01 justatheory has quit IRC (Client Quit)
00:03 oylenshpeegul has left
00:11 _metaperl has joined #perl6
00:28 buu Juerd I spent it all on perl6 books
00:29 metaperl has quit IRC (Read error: 110 (Connection timed out))
00:29 _metaperl is now known as metaperl
00:59 biz has joined #perl6
01:10 Juerd buu: How many copies did you buy then?
01:10 Juerd There only being two books about Perl 6...
01:10 pbuetow Perl6 is still not complete in specs. Am i right?
01:11 Steve_p Correct.
01:12 pbuetow And the stuff about perl6 (syntax etc) which is public wont be changed any more?
01:16 biz has left "Leaving"
01:20 Cale pbuetow: it might be changed
01:21 Steve_p They can still be changed.  Welcome to a still evolving language :)
01:28 * ingy screams
01:29 mugwump and that will never change, because the one thing that is constant is change
01:31 ingy MakeMaker is a whore
01:32 pbuetow Hehe. Perl6 might be very interesting :)
01:33 buu ingy: True, why are you using it?
01:33 buu pbuetow: Might? It already is
01:49 pbuetow Hehe.
01:55 jiing has quit IRC (Read error: 110 (Connection timed out))
02:08 ingy yay. I got the make system to build ext libs
02:11 ingy well not quite
02:11 ingy make test is confused
02:12 * ingy screams some more
02:13 buu *psst* stop using make files..
02:20 theorbtwo has quit IRC (Read error: 60 (Operation timed out))
02:25 metaperl has quit IRC (Read error: 110 (Connection timed out))
02:26 ingy buu: *psst* be constructive
02:26 buu =[
02:26 buu I'm still trying to parse kwid
02:26 metaperl has joined #perl6
02:27 ingy that's constructive
02:28 buu That's not sarcasm?
02:33 pbuetow has quit IRC ("Leaving")
02:48 ingy I'm not sarcastic
02:49 ingy I'm constructive
02:50 buu Awesome.
02:50 buu I need a statemachine like thingy.
02:53 gugod has joined #perl6
02:53 gugod has quit IRC (Client Quit)
02:56 lukhnos has joined #perl6
03:06 ingy does anyone know where the code  is that looks up a module for `require`?
03:10 viirya_ ingy: Prim.hs?
03:15 ingy viirya_: does it look like it works like Perl5?
03:16 ingy or does it do anything funny?
03:19 viirya_ hmm, a sec
03:21 viirya_ ingy: now it searchs all path in INC for specified filename
03:21 ingy yeah, that's what it looks like
03:21 viirya_ if found, eval it's content, if no, show error msg.
03:21 buu Does it append .pm?
03:21 ingy I am having issues
03:21 ingy I wonder if paths with .. are ok
03:22 viirya_ buu: no, I don't see that.
03:22 ingy I am wondering why Perl5 paths  are searched
03:22 ingy I might try taking them out
03:23 ingy because there are 5 million paths
03:23 viirya_ hmmm
03:23 ingy I'll just comment  out if tests pass
03:25 ingy viirya_: look at fixLib in Main
03:36 viirya_ ingy: huh?
03:44 ingy can folks on Linux svn up and test
03:44 ingy I just checked in major build system changes
03:45 ingy and now I have to go out to dinner for an hour or so.
03:46 viirya_ buu: that's wrong I said it doesn't append .pm. It does do.
03:47 ingy It has to!
03:47 viirya_ buu: Not in Prim.hs, but in Parser.hs
03:47 ingy I hacked up Main to make things pass
03:48 ingy need to converse with autrijus when she awakes
03:48 ingy yay!
03:49 ingy works on linux too
03:49 ingy now i can go eat in peace
03:54 viirya_ ingy: hmm, you comment the p5lib line
03:55 viirya_ indeed the p5lib is empty.
04:03 crysflame hello.
04:04 crysflame is autrijus awake yet?
04:06 buu No
04:06 buu Went to sleep like 6 hours ago
04:08 metaperl has quit IRC (" HydraIRC -> http://www.hydrairc.com <- s0 d4Mn l33t |t'z 5c4rY!")
04:09 crysflame oh, ok
04:11 nnunley Hrm.  How do I pull an int from a Vint?
04:12 crysflame wild, stupid guess: .pick
04:12 crysflame not expected to work
04:15 nnunley Nah.  I mean on the Haskell side.
04:16 nnunley VInt is the AST representation of a p6 Int.
04:17 crysflame oh!
04:17 crysflame i've been wondering what V meant. thanks :)
04:18 nnunley No problem.
04:18 viirya_ doCast
04:19 nnunley so, given a method int:: Int -> Doc,   int $ doCast x    (where x is VInt) should work?
04:23 nnunley viirya_: No dice.  doCast returns type Val.
04:29 * nnunley figures it out.
04:29 nnunley VInt is actually Integer, not Int.
04:31 viirya_ q
04:33 viirya_ doCast retures Val?
04:35 nnunley viirya_: Hrm.  Sorry... Expects a Val, not returns.
04:54 scw unpackVInt (VInt a) = a
04:54 scw then, let n = unpackVInt a       makes n a VInt
04:55 scw let n = fromInteger $ unpackVInt a    makes n a Integer
04:55 scw let n = fromEnum $ unpackVInt a    makes n a Int  :p
04:57 ingy back
04:57 buu ING!
05:01 ingy so I have a question to get things rolling...
05:01 ingy 1) where should perl6 modules be installed
05:01 ingy 2) where should perl6/pugs look for modules
05:04 ingy for #1 I'm thinking that pugs could be compiled with the perl5 @INC that was used in the make process
05:04 ingy but with s/perl5/perl6/ for each path
05:05 ingy and s/5.8.6/???/
05:06 ingy for #2...
05:06 ingy I guess in the long term it needs to look in perl5 paths as well as perl6 ones
05:07 ingy but that seems crufty for now...
05:08 ingy also, can I get an "amen" for putting '.' at the start of the path?
05:09 cls_bsd pugs++
05:09 mugwump s{/5\.\d+.*$}{}, I reckon, ingy
05:10 ingy mugwump: I think I concur
05:10 mugwump in my stock perl5; it has 5 paths, that are all derived from the setting of $PREFIX/lib/perl5 and $PREFIX/lib/perl5/site_perl
05:10 justatheory has joined #perl6
05:10 justatheory has quit IRC (Client Quit)
05:11 mugwump the duplication you get for version-specific and build-specific installation locations, under the locations specified in, eg, PERL5LIB
05:12 ingy hmmm. I'm looking at a perl that has no @INC paths with 'perl5' in them
05:12 mugwump eg, try this:
05:12 mugwump mkdir /tmp/foo
05:12 mugwump PERL5LIB=/tmp/foo perl -le 'print foreach @INC'
05:12 mugwump mkdir /tmp/foo/5.8.4
05:12 mugwump mkdir /tmp/foo/5.8.4/i686-linux-thread-multi-64int-ld
05:12 mugwump PERL5LIB=/tmp/foo perl -le 'print foreach @INC'
05:12 mugwump (substituting appropriate values, of course)
05:13 mugwump you'll notice that the extra directories have automatically been found and added
05:14 ingy right
05:15 autrijus greetings lambddacamels.
05:15 mugwump interestingly, $PREFIX/lib/perl5 is not in my @INC, only $PREFIX/lib/perl5/5.8.4/
05:15 ingy autrijus has things jiggered up so that the Test.pm is being found in ./lib/Perl6/lib during make test
05:15 autrijus ingy: we search for @INC under Perl6::lib namespace by default.
05:15 ingy oops... Hi autrijus !!
05:15 buu Hallo autrijus
05:15 autrijus r380 is there, which only checks for such paths that exists.
05:16 autrijus so should be cleaner.
05:16 autrijus i.e. @*INC only contains the sitelibs that actually has Perl6/lib/* installed under them.
05:16 autrijus ingy: btw, great work on M::I
05:16 ingy thanks
05:16 autrijus pugs can find Test.pm because I set PERL6LIB in makefile.
05:16 ingy we should get more b&d on the @INC quagmire
05:17 autrijus or, rather, that was the idea.
05:17 autrijus let me add absolute path to perl6lib.
05:17 ingy hold on
05:17 autrijus mm?
05:18 autrijus nnunley: having luck with Galadriel?
05:18 ingy make test should be finding Test.pm in blib
05:18 autrijus I mean, Pretty
05:18 autrijus oh right.
05:18 autrijus that's why the ixLib p5lib
05:18 autrijus fixLib even
05:18 autrijus because then it can find things in blib/lib/Perl6/lib
05:18 autrijus since harness adds it
05:18 ingy autrijus: that is backwards though
05:18 autrijus how so? I thought it was pretty neat
05:19 autrijus at least, until pugs has its own libpath and cpan and stuff
05:19 ingy Test.pm should go into blib/lib/Test.pm on make
05:19 autrijus I'm of the opinion that it should go into blib/lib/Perl6/lib/Test.pm
05:19 autrijus because we ultimately install there.
05:19 ingy and blib/lib/Test.pm should go into a perl6 place on install
05:20 autrijus ah.
05:20 autrijus and where is that place?
05:20 mugwump either do it simply, or do it right :)
05:20 autrijus we don't have a Configure
05:20 ingy that's what we were just talking about
05:20 ingy we *do* have a Configure
05:20 autrijus uh.
05:20 ingy perl5's Config is just fine
05:20 * autrijus listens to ingy
05:21 ingy with substitutions
05:21 autrijus ok... so on win32 activeperl says its sitelib is C:\Perl\site\lib
05:21 autrijus what substitutions?
05:21 autrijus C:\Pugs?
05:21 autrijus c:\Perl6?
05:21 ingy Perl6
05:21 ingy I would think
05:21 ingy but it matters little
05:21 buu pugs =/
05:22 autrijus it matters a lot :-/
05:22 ingy as long as it doesn't clash
05:22 ingy with perl5
05:22 autrijus hmm. my original plan is so that we can reuse CPAN during bootstrapping
05:23 autrijus so one can upload arbitary perl6 module as Perl6-lib-Foo
05:23 ingy you don't need that though
05:23 autrijus of course, we can do a Module::Install::Pugs that works arounds all those, and install into pugs dir
05:23 ingy exactly
05:23 autrijus just not sure of the gain
05:23 mugwump wait... pugs shouldn't have seperate paths to perl6
05:23 autrijus but it is still on CPAN as Perl6-lib-* ?
05:24 mugwump only at the build ID level...
05:24 autrijus mugwump: that was what I was afraid.
05:24 autrijus perl6 allows only.pm-like functionality
05:24 autrijus except it's not very well specified
05:24 autrijus it also allows .net-assembly-like functionality
05:24 autrijus except it's not very well specified either.
05:25 autrijus so the existing sitelib scheme under /usr/local/lib/perl6 or C:\Perl6
05:25 autrijus probably won't work satisfactorily.
05:25 ingy is .pm decided on?
05:25 autrijus .pm and .pl are reused.
05:25 autrijus it's not been decided on whether .pm6 or something else can be used too.
05:25 ingy positively?
05:26 autrijus well, synopses says that a perl6 .pm must begin with
05:26 autrijus module ...;
05:26 autrijus or
05:26 autrijus class ...;
05:26 autrijus to "avoid ambiguitiy with perl5 modules"
05:26 autrijus which suggests pretty strongly that .pm is the decided extension
05:26 autrijus but if you think .pm is a bad idea, bug p6l :)
05:26 ingy my current use case is to move lib/Perl6/lib/Test.pm into ext/Test
05:27 autrijus ok...
05:27 chromatic has joined #perl6
05:27 ingy hi chromatic
05:27 chromatic Hi all.
05:28 autrijus greetings colorful one
05:28 chromatic As your fearless leader said yesterday, I'm conducting an interview for Perl.com on Thursday.
05:28 ingy I think .pm is fine
05:28 chromatic Anyone awake in here is welcome to participate.
05:28 ingy I think lib/Perl6/lib sucks
05:29 autrijus ingy: PA01 I think makes it clear that it 1)sucks 2)is stopgap 3)will be replaced as soon as we have a coherent plan
05:29 buu Hurray!
05:29 ingy autrijus: let's make a coherent plan
05:29 autrijus chromatic: oh, we don't do the interview now? :)
05:29 ingy :)
05:29 chromatic Yeah, but I'm afraid of ingy.
05:30 ingy :p
05:30 chromatic He has scary tattoos.
05:30 autrijus ingy: can you do a braindump and let us SEE later today (or tomorrow) ?
05:30 autrijus ingy: this is a complex issue :)
05:30 ingy chromatic is skinny like a praying mantis
05:30 ingy autrijus: I am a complex guy
05:30 ingy er, girl
05:30 chromatic That's why I'm eating extra ice cream.
05:31 buu Why is everybody a girl in this channel?
05:31 autrijus ingy: sure, and both your real part and imaginary part is wonderful
05:31 autrijus buu: it's an ingy thing, not a perl6 thing
05:31 autrijus chromatic: I think we can begin at any time.
05:31 ingy autrijus: since there are no Perl6 modules to speak of... how about I just refactor around a bit
05:31 chromatic Alright.
05:31 buu autrijus: That explains it.
05:32 chromatic autrijus, I know you're a busy guy.  How'd you decide to start Pugs?
05:32 ingy autrijus: I'll even wear the build system admin hat
05:32 autrijus_ has joined #perl6
05:32 buu ingy: How many hats do you get?
05:32 autrijus_ (using a faster connection)
05:32 ingy buu: 13
05:33 autrijus_ chromatic: ok. the story is that I hack SVK for many months with clkao.
05:33 buu ingy: Will you marry me?
05:33 viirya_ has quit IRC (Remote closed the connection)
05:33 autrijus_ SVK works, except it is not very flexible. there is a VCS named "darcs", which is much more flexible, but is specced using quantum physics language and wirtten in a scary language called Haskell.
05:33 viirya_ has joined #perl6
05:33 ingy buu: I don't love you
05:33 buu ingy: We should stop disrupting their interview.
05:34 chromatic It's not disruption, you'll just mortify our readers.
05:34 buu (and or teach autrijus to spell)
05:34 buu chromatic: Marriage is a happy thing!
05:34 obra what's that quote from, autrijus?
05:34 autrijus_ quote?
05:35 autrijus_ so I spent one month doing nothing but learn Haskell, so I can understand Darcs. which worked well; I convinced a $crazy_client (who paid me to develop Parse::AFP) that perl5 is doomed because it has no COW (which, surprisingly, it now has), and fund me to develop an alternate library using Haskell.
05:35 autrijus_ (I mean "perl5 is doomed for that task", not "perl5 is doomed in general")
05:35 chromatic Copy-on-Write?
05:35 buu =[
05:35 autrijus_ yeah.
05:35 buu Er, perl didn't have COW two months ago?
05:35 chromatic So that's a "sort of has".
05:36 autrijus_ yeah, as in, sky suddenly worked on it and claims it mostly works
05:36 buu heh
05:36 autrijus_ haven't checked the code, though.
05:36 chromatic It's been in the works for years.
05:36 chromatic Or "doesn't works" perhaps.
05:36 autrijus_ (I know. but not usable in production.)
05:36 autrijus_ ha.
05:37 autrijus_ but I digress. using Haskell to develop OpenAFP.hs led to programs that eats constant 2mb memory, scales linearly, and is generally 2OOM faster than my perl library.
05:37 autrijus_ oh and the code size is 1/10.
05:37 chromatic Okay, so you picked up Haskell to look at Darcs to borrow ideas from for svk, then you convincied a client to pay you to write in Haskell and you started to like it.
05:37 chromatic ~convinced~
05:37 chromatic What type of program was this?  It sounds like it had a bit of parsing.
05:38 autrijus_ AFP is IBM's PDF-like format, born 7 years before PDF.
05:38 autrijus_ it's unlike PDF in that it's all binary, very bitpacked, and is generally intolerant of errors.
05:38 autrijus_ there was no free library that parses or munges AFP.
05:38 chromatic ~phone~
05:39 chromatic Darcs and Haskell really impressed you then.
05:39 autrijus_ the algorithm did. the day-to-day slowness and fragility for anything beyond mid-sized projects did not.
05:39 autrijus_ (but darcs is improving.)
05:40 chromatic Is that the implementation of Darcs you consider slow or the use of Haskell?
05:40 autrijus_ but yeah, I was impressed by the conciseness.
05:40 autrijus_ the implementation.
05:40 autrijus_ it basically caches no info and recalculates all unneccessary information
05:40 autrijus_ can't be fast that way.
05:40 chromatic Hm, it seems like memoization is something you can add to a functional program for free, almost.
05:40 autrijus_ yeah, and there are people working on that.
05:41 chromatic BUT NOT YOU
05:41 chromatic Which is good for us Perl people.
05:41 autrijus_ not me. sorry.
05:41 autrijus_ anyway. so, I ordered a bunch of books online
05:41 autrijus_ including TaPL and ATTaPL
05:41 autrijus_ so I can learn more about mysterious things like Category Theory and Type Inference
05:42 chromatic How far did you get?
05:42 autrijus_ and Curry-Howard Correspondence
05:42 autrijus_ I think I have a pretty solid idea of the basics now.
05:42 chromatic Me, I'm happy just to recognize Haskell Curry's name.
05:42 autrijus_ thanks to my math-minded brother bestian
05:42 autrijus_ :)
05:43 autrijus_ but TaPL is a very information-rich book
05:43 chromatic Alright, the pieces are in place.
05:43 autrijus_ I read the first two chapters in a relaxed pace
05:43 autrijus_ by the end of second chapter it starts to implement languages for real
05:44 autrijus_ and usually by that time, the profs using TaPL as textbook will tell the students to pick a toy language to implement
05:44 chromatic I haven't seen you pop up much in Perl 6 land though.  You seemed amazingly productive in the Perl 5 world.  Where'd Perl 6 come in?
05:44 autrijus_ as an exercise.
05:44 autrijus_ so I started using Perl6 as the exercise. I think that answers the first question.
05:44 autrijus_ oh. p6 land.
05:44 autrijus_ yeah, I was not in p6l, p6i or p6c.
05:44 chromatic More of a playground than a full land, but we have a big pit full of colorful plastic balls.
05:44 buu "As a young boy, autrijus_ tried to approach the land of the p6.. but they would not listen and cast him out"
05:45 autrijus_ however the weekly summary really helped
05:45 autrijus_ well, because I keep hitting the limit of p5.
05:46 chromatic It seems like an odd fit, putting a language with a good static type system to use with a language with a loose, mostly-optional type system though.
05:46 autrijus_ most of more useful modules under my name, (including the ones ingy and I inherited from Damian)
05:46 autrijus_ were forced to be done in klugy ways because the p5runtime is a mess.
05:46 chromatic (You should see Attributes::Scary)
05:47 chromatic (Total sympathy here)
05:47 autrijus_ Template::Extract uses (?{}) as a nondet engine; PAR comes with its own perlmain.c; let me not mention source filtering.
05:47 autrijus_ all these techniques are unmaintainable unless with large dosage of caffeine.
05:47 chromatic Oh yeah, I fixed some of the startup warnings in B::Generate a couple of weeks ago...
05:48 autrijus_ cool. yeah, B::Generate is abstracted klugery
05:48 chromatic Parrot has the chance to make some of these things a lot nicer.  I'm looking forward to that.
05:48 autrijus_ and may pave a way for Pugs to produce perl5 code
05:48 chromatic Yet you took off down another road....
05:48 autrijus_ actually I think Pugs and Parrot will meet in the middle.
05:48 autrijus_ where pugs AST meets parrot AST
05:48 buu I thought pugs would get rewritten in C for parrot?
05:49 autrijus_ and the compiler is written in perl6 that can then be written on parrot
05:49 autrijus_ buu: no, in perl6.
05:49 autrijus_ s/written on parrot/run on parrot/
05:49 chromatic Can ghc retarget a different AST then?
05:49 autrijus_ it can, but that's not the easier plan
05:49 chromatic It's easy for me.  I don't plan to do it.
05:49 autrijus_ the easier plan is simply for Pugs to have a Compile.hs that emits parrot AST.
05:50 autrijus_ which, I'm happy to discover yesterday, is painless to write.
05:50 autrijus_ (ingy and I did a KwidAST->HtmlAST compiler in an hour, together with parser and AST)
05:50 chromatic Okay, but ingy will like this: retargeting GHC makes the full power of 6PAN available to the entire Haskell world!
05:50 chromatic So I vote for him to do it :)
05:51 chromatic Kwid and Html are markup languages?
05:51 chromatic In this context, I mean.
05:51 buu Kwid is the spawn of satan!
05:51 autrijus_ yeah.
05:51 buu Don't let him convince you other wise =[
05:51 autrijus_ ok. so back to p6. p5's limit is apparent and not easily fixable
05:52 chromatic It sounds like you wanted something more, and soon.
05:52 autrijus_ parrot is fine except everytime I build it it failed.
05:52 chromatic Try running Linux PPC sometime.
05:52 chromatic bleh
05:52 autrijus_ freebsd may not be a good platform for parrot, I gathered.
05:52 chromatic 4.x or 5.x?
05:52 autrijus_ 5.x
05:52 autrijus_ (or my CVS luck is really bad.)
05:52 autrijus_ (but I'm talking about several months ago.)
05:52 chromatic Could be.  I would have said that 4.x has some weird threading things that have always driven me nuts.
05:53 autrijus_ true and true.
05:53 chromatic Ahh, perhaps it was ICU.
05:53 autrijus_ two out of 3 times is.
05:53 autrijus_ I think.
05:53 ingy averytime I install ghc it works!
05:53 autrijus_ yeah, ghc is very battle-scarred in real world.
05:53 chromatic I guess it's too late to interest you in a Ponie then.
05:53 autrijus_ I was very interested in Ponie.
05:54 ingy autrijus_: is http://svn.openfoundry.org down
05:54 autrijus_ I volunteered to sky about doing svn and src org and stuff.
05:54 autrijus_ but svn was not kind for ponie
05:54 obra well, that was before svn 1.0
05:54 buu ingy: Yes =[
05:54 autrijus_ ingy: it is. let me check
05:54 chromatic Was this a recent test?  I remember the initial pre-1.0 svn tests for Ponie were exceptionally cruel.
05:54 autrijus_ right. now it all works just fine.
05:54 ingy hi obra
05:55 autrijus_ except libsvn_wc, but we have svk now, and I learned that sky has been addicted to svk.
05:55 chromatic I keep reading the tutorial, but it never sinks in.
05:55 autrijus_ so 'tis all good.
05:55 chromatic Now SVN::Client, I really really like.
05:55 obra hi, ingy. I just spent the evening with a friend on $PROJECT teaching him searchbuilder, test::more and svk
05:55 autrijus_ I think http://wagner.elixus.org/~​autrijus/svk-overview.png may help :)
05:56 obra started off the evening uncovering a bug in svk :/
05:56 chromatic It appeals to me aesthetically, anyway.
05:56 autrijus_ but anyway. and the beginning stage of Ponie is XS hackery
05:56 autrijus_ which is by far not my forte
05:56 chromatic That's a special kind of pain.
05:56 autrijus_ I've read lathos's book, so I can do XS hackery when forced to
05:56 autrijus_ but not by a volunteer basis. oh no.
05:57 chromatic It's like doing magic tricks, blindfolded, when you have to say "Watch me push and pop a rabbit out of this stack.  By the way, don't take a reference to him yet...."
05:57 autrijus_ lol.
05:57 autrijus_ so, at Feb 1st
05:57 autrijus_ when I was having too much caffeine and can't sleep
05:57 autrijus_ I didn't imagine that Pugs will be anything near a complete implementation of perl6.
05:58 autrijus_ I was just interested in modeling junctions
05:58 autrijus_ and some other nifty things like subroutine signatures.
05:58 ingy autrijus_: I'm going to put YAML into core Perl6 :P
05:58 chromatic There's a fuzzy connection to the back of my head about Haskell's inferencing and pattern matching being somewhat similar.
05:58 autrijus_ but thing quickly went out of control.
05:58 buu ingy: You freak.
05:59 autrijus_ chromatic: sure. haskell has very robust inferencing, pattern matching, and sexy types.
05:59 buu ingy: Stop polluting perl with your bastardized mark up languages.
05:59 autrijus_ which I'm trying to inflict on luqui to improve perl6's design.
05:59 chromatic As long as they do the right thing with regard to roles, go ahead.
05:59 autrijus_ they do. :)
05:59 autrijus_ although I may need to question you about junctive roles. :)
06:00 autrijus_ and role parameters. but that can wait.
06:00 chromatic I just have strong opinions about how things should work.  Don't ask me how they do work!
06:00 chromatic Yeah, parametrized roles are really cool!
06:00 chromatic This was an academic exercise though?
06:00 autrijus_ yes. which leads to interesting kinding algorithms and rank-n polymorphism
06:00 autrijus_ yeah. it stayed as academic exercise I think for two days.
06:00 chromatic "Hey, this Perl 6 idea is interesting.  I wonder how it works in practice?  I bet I could do it in Haskell!"
06:00 autrijus_ yup.
06:01 chromatic You young kids and your idea of fun.
06:01 autrijus_ using it as nothing more than a toy language to experiment with.
06:01 autrijus_ initially targeting a reduced set of perl6 that is purely functional.
06:01 chromatic Did you say "highly reduced"?
06:01 autrijus_ yeah.
06:01 autrijus_ but by day 3, I found that doing this is much easier than I thought.
06:01 chromatic Can I get a "skeletal"?
06:01 autrijus_ the term is "Featherweight".
06:02 chromatic What makes it easier?
06:02 autrijus_ Parsec.
06:02 autrijus_ and ContT.
06:02 ingy mmmmm Parsec
06:02 autrijus_ parsec is like perl 6 rules.
06:02 chromatic Parsec's the most popular Haskell parsing library, right?
06:02 autrijus_ well, Parsec and Happy
06:02 autrijus_ happy is more traditional
06:03 autrijus_ you write in a yacc-like grammar thing
06:03 autrijus_ and it generates a parser in haskell for you
06:03 autrijus_ parsec is pure haskell.
06:03 autrijus_ you just write haskell code that defines a parser.
06:03 chromatic For everyone who *loves* C....
06:03 autrijus_ the term is "parser combinator".
06:03 chromatic Haskell is its own mini-language there.
06:03 autrijus_ it's a popular approach, yes.
06:04 chromatic I looked at the parser.  It's surprisingly short.
06:04 autrijus_ when you see "blah combinator library", think "blah minilanguage".
06:04 autrijus_ and yet quite complete.
06:04 chromatic Now I've also read the Perl 5 parser, in the sense that I picked out language constructs that I recognized by name.
06:04 autrijus_ very maintainable, too.
06:04 chromatic Is it a combination parser/lexer, or how does that work?
06:04 chromatic That's the tricky bit of Perl 5, in that lexing depends on the tokens seen and lots of context.
06:04 autrijus_ yup. it does lexing and parsing in one pass.
06:05 autrijus_ with infinite lookahead and backtracking.
06:05 chromatic Does that limit what it can do?  Is that why it's purely functional Perl 6 so far?
06:05 autrijus_ each lexeme can define a new parser that works on the next lexeme.
06:05 autrijus_ the purely functional perl 6 plan stops at day 3.
06:05 autrijus_ we are now fully IO.
06:05 autrijus_ started with say().
06:06 ingy monadic?
06:06 autrijus_ and mutable variables, and return()
06:06 autrijus_ and &?CALLER_CONTINUATION.
06:06 autrijus_ so there's nothing functional about the perl6 that pugs targets now :)
06:06 chromatic Does Haskell support continuations and all of those funky things?
06:06 obra can perl6 symbolnames contain / ?
06:07 autrijus_ chromatic: yes. and you can pick and match the funky things you want for a scope of your code.
06:07 autrijus_ "in this lexical scope I want continuations"
06:07 autrijus_ dynamic scope, really.
06:07 autrijus_ "in that scope I want a logger"
06:07 chromatic Performance penalty?
06:07 autrijus_ "in that scope I want a pad"
06:07 autrijus_ each comes with its own penalty, but is generally small.
06:07 chromatic Can you instrument scopes at runtime too?
06:07 autrijus_ GHC, again, compiles to very fast C code.
06:07 autrijus_ sure.
06:08 autrijus_ &?CALLER::SUB works.
06:08 autrijus_ and $OUTER::var.
06:08 chromatic Are you compiling it to native code now?  I remember that being a suggestion a few days ago.
06:09 ingy someone fix svn!
06:09 autrijus_ pugs itself is compiled to native code; it is still evaluating perl6 AST, though
06:09 ingy pugs is suffering!
06:09 autrijus_ ingy: switch to svk! (or something)
06:09 chromatic Ahh, I see.
06:09 chromatic It's like Perl 5 in that sense then.
06:09 autrijus_ ingy: foundry is upgrading their server room
06:09 autrijus_ ingy: may take up two 2 days.
06:09 autrijus_ s/two/to/
06:09 ingy oh no
06:10 autrijus_ ingy: we can set up a temp repo
06:10 ingy sure
06:10 autrijus_ ingy: but let me do this interview first :)
06:10 ingy np
06:10 autrijus_ chromatic: yes, it's exactly like Perl5. have you read PA01?
06:10 chromatic I have.
06:10 autrijus_ cool.
06:10 autrijus_ so yeah. it's like perl5 now.
06:10 chromatic Except maintainable.
06:10 autrijus_ the difference is B::* is trivial to write in pugs
06:11 autrijus_ and yeah, there's the maintainable bit. pugs is <4k lines of code.
06:11 chromatic Very nice.
06:11 autrijus_ I think porting pugs to perl6 will take about the same number of lines, too.
06:11 chromatic You already have one module, too.
06:12 autrijus_ yup.
06:12 obra will you be able to port pugs to perl6 sub by sub?
06:12 autrijus_ and it's your favourite module.
06:12 autrijus_ obra: yes.
06:12 chromatic Acme::Pr0n?
06:12 autrijus_ obra: as soon as the ext/ infrastructure is there.
06:12 autrijus_ obra: which was what ingy was working on.
06:12 autrijus_ it's basically XS for pugs.
06:12 chromatic I've started a few attempts to write Test::Builder in Parrot, but I'm missing a few pieces.
06:13 chromatic How far along are classes and objects in Pugs?
06:13 autrijus_ they don't exist.
06:13 chromatic No T::B yet then!
06:13 autrijus_ 6.2.x will do that, though.
06:13 autrijus_ but the short term task is to get all the todo_() cleaned.
06:13 chromatic I see in the dailies that you are producing boatloads of runnable Perl 6 tests.
06:13 autrijus_ which will give us an interpreter that really agrees with all synopses.
06:14 autrijus_ at least in the places we have implementation of, that is.
06:14 autrijus_ chromatic: yup. thanks to #perl6.
06:14 autrijus_ I seldom write tests now :)
06:14 chromatic tsk tsk
06:14 autrijus_ the helpful committers do that for me.
06:14 chromatic How do you know your code works then?
06:14 autrijus_ I just look at newest todo_ and starts working on it.
06:15 chromatic Oh, they write tests for those before you implement them?
06:15 autrijus_ yup.
06:15 autrijus_ it's all test-first.
06:15 chromatic Okay, I'll let you continue then.
06:15 autrijus_ ha.
06:15 autrijus_ so yeah, the cooperation has been wonderful
06:15 autrijus_ camelfolks write tests and libraries
06:15 chromatic It's really grown fast.
06:15 autrijus_ lambdafolks makes those tests pass.
06:16 autrijus_ if a camelfolk wants a particular test to pass sooner
06:16 autrijus_ then that person can learn from lambdafolk :)
06:16 autrijus_ things are easy to fix, and because of the coverage
06:16 autrijus_ there's little chance of breaking things.
06:17 chromatic Have you started giving Haskell tutorials?  I know Larry and Patrick have started to pick up some of it.  I'm pretty sure Luke and Damian have already explored it (or something from the same family tree).
06:17 autrijus_ and if lambdafolks wants to implement new things that may or may not agree with synopses or p5 norm
06:17 autrijus_ then they learn from camelfolks.
06:17 autrijus_ I think I've read a paper from Damian that says he taught Haskell in monash.
06:17 autrijus_ it's before the Monadic Revolution though.
06:17 chromatic If not Haskell, certainly something from the ML family.
06:17 autrijus_ right.
06:18 autrijus_ so, I've been pointing people to YAHT
06:18 autrijus_ and #haskell
06:18 chromatic It sounds like you're attracting people from both sides of the fence then.
06:18 autrijus_ it indeed is. I get svn/svk patches and darcs patches.
06:18 chromatic Is there a lot of overlapping interest?  Where does it come from?
06:18 buu ingy: You around?
06:18 ingy buu: ?
06:19 autrijus_ well, every since the monadic revolution of '98
06:19 buu ingy: In kwid, if you have a = foo; header, should plain text and such that comes after it be considered part of that block?
06:19 autrijus_ s/every/ever/
06:19 autrijus_ haskell people have started to do Real World apps
06:19 chromatic Now that they can do IO, for example.
06:19 autrijus_ yeah. it's been only 7 years ago.
06:20 chromatic There's still a lot of attraction there for real world applications, of which Pugs is one?
06:20 autrijus_ and recently haskell world has its native version control system; a perl-review like magazine; cpan/makemaker-like infrastructure, etc.
06:20 ingy buu: headers are currently a single line
06:20 buu ingy: Right, so they just generate a single block?
06:20 autrijus_ so it's growing fast.
06:20 ingy buu: yes
06:20 ingy a header is a block
06:21 autrijus_ and Pugs is a practical project :)
06:21 chromatic You're devoting a lot of time to it.  obra mentioned that you've cleared most of your paying projects out of the way for the time being.
06:21 buu ingy: And where the heck did you put that kwid bytecode thing?
06:21 ingy very practical
06:21 autrijus_ in that working on it has chance of solving real problems, and is very fun to boot.
06:22 autrijus_ and although p5 Got No Respect in general
06:22 ingy buu: ext/Kwid/t
06:22 buu How logical
06:22 autrijus_ p6 is very slick.
06:22 buu ingy: Oh wait, I don't have ext/Kwid/t because svn is down =[
06:22 autrijus_ so the mental barrier is lower for lambdafolks to join. I think.
06:22 chromatic The lambdafolks like what they see in Perl 6?
06:22 autrijus_ yup.
06:23 buu ingy: Is it online anywhere up?
06:23 ingy I'll paste it
06:23 buu l33t.
06:23 autrijus_ I quoted abigail on #haskell a while ago
06:23 chromatic I saw something earlier about access to libraries and such.  Do you have a plan for the XS-alternative?
06:23 autrijus_ chromatic: yeah, ingy is working on it
06:23 autrijus_ ext/Kwid/
06:23 autrijus_ eventually inline haskell code.
06:24 autrijus_ and with luck, inline other kinds of code as well through haskelldirect (the haskell equiv of Inline)
06:24 chromatic Is this within Pugs or Perl 6 atop Pugs?
06:24 obra will you need to replace haskelldirect when pugs is is translated into perl6?
06:24 autrijus_ it's within pugs. the parrot side had not been well-discussed.
06:25 chromatic Yeah, the Parrot AST needs more documentation.
06:25 autrijus_ obra: sure can, as long as it's running on GHC
06:25 ingy buu: http://nopaste.snit.ch:8001/1976
06:25 buu ingy: k
06:25 autrijus_ obra: now if s/GHC/Parrot/, I really have no answer, because of the lack of information.
06:25 chromatic So, what's the eventual end?
06:26 autrijus_ And whither then? I cannot say :)
06:26 autrijus_ as you mentioned, I've diverted most of my paying projects away
06:26 chromatic How about in the next month?
06:26 autrijus_ so I should have at least 6 months for pugs.
06:27 autrijus_ this month?
06:27 chromatic Yes.
06:27 autrijus_ this month should see robust semantics for basic operations
06:27 autrijus_ the beginning of classes and objects
06:27 autrijus_ many real modules
06:27 chromatic I'll do T::B then.
06:27 autrijus_ hooks to haskell-side libraries
06:27 autrijus_ chromatic++
06:27 autrijus_ chromatic++
06:27 autrijus_ oh and pugs hands out committer bit liberally
06:27 autrijus_ so if you want to do T::B, I'll make you a committer :)
06:28 chromatic I'd like to play with it, but I'm writing a book right now.
06:28 autrijus_ you can start now actually.
06:28 buu heh
06:28 autrijus_ just write imaginary perl6 code.
06:28 chromatic Well, two, but one for pay.
06:28 autrijus_ and we'll figure out how to make it run.
06:28 cls_bsd autrijus_: do we have "shift @array" in pugs?
06:28 buu chromatic: Really? Which books?
06:28 autrijus_ most of the examples/* started that way.
06:28 autrijus_ cls_bsd: we have.
06:28 chromatic Ah, I'll take a look/
06:28 chromatic I don't want to announce the book yet.  I don't think we have an ISBN, though we're halfway through.
06:28 buu =[
06:28 buu Come on. You can tell us.
06:29 chromatic Yeah, I read the archives here.  I know everyone'll find out.
06:29 autrijus_ I have this feeling that I have dropped some questions.
06:29 chromatic I'll clean it up and send off a link to a preview tomorrow.
06:30 cls_bsd autrijus_: but I have 'unimplemented unaryOp: shift' when I call my $h = shift @xs;
06:30 autrijus_ it worksforme.
06:30 autrijus_ pugs> my @xs = (1,2,3); my $h = shift @xs; $h
06:30 autrijus_ 1
06:31 buu Is the other svn server up or was that just a mirror of the first svn?
06:31 autrijus_ cls_bsd: try 6.0.9?
06:31 autrijus_ or the latest svn.perl.org
06:31 autrijus_ buu: the other svn server is up.
06:31 chromatic Alright, that wraps it up for me.
06:31 cls_bsd oh ok
06:31 autrijus_ pugs> my @xs = (1,2,3); my $h = shift @xs; $h
06:31 autrijus_ err
06:31 autrijus_ http://svn.perl.org/perl6/pugs/trunk/
06:31 autrijus_ chromatic: cool, thanks!
06:31 autrijus_ oh. right. I was quoting abigail.
06:31 autrijus_ "Programming in Perl5 is like exploring a large medieval castle, surrounded by a dark, mysterious forest, with something new and unexpected around each corner. There are dragons to be conquered, maidens to be rescued, and holy grails to be quested for. Lots of fun.
06:32 chromatic Autrijus, if you want to thank lots of people, send me an e-mail.
06:32 autrijus_ "Perl6 looks like a Louis-XVI castle and garden to me. Straight, symmetric, and bright. There are wigs to be powdered, minuets to be danced, all quite boring.".
06:32 autrijus_ I, for one, am happy for perl to move from the dark age to the age of enlightenment.
06:32 autrijus_ I think many camelfolks and lambdafolks share the same sentiment :)
06:33 cls_bsd autrijus_: oh, My pugs is 6.0.8 :p
06:33 autrijus_ has quit IRC ("Lost terminal")
06:34 autrijus cls_bsd: that's ancient, stone age code :)
06:34 cls_bsd :p
06:34 autrijus ingy:
06:34 autrijus 14:01 <rafan> can you find ingy and tell him that YAML fails test on 5.6?
06:34 autrijus 14:01 <rafan> YAML 0.36
06:34 autrijus 14:02 <rafan> p5-YAML maintainer does not like to update unless it is fixed..
06:34 autrijus 14:02 <rafan> in that case, I can not update svk neither :(
06:34 autrijus 14:02 <rafan> thanks
06:34 autrijus 14:01 <rafan> can you find ingy and tell him that YAML fails test on 5.6?
06:35 scw strange,  pugs> 1 == 2 ?? 'a' :: 'b' works fine  (returns "b")
06:35 scw but pugs> (1 == 2 ?? 'a' :: 'b') leads parse error
06:36 chromatic has quit IRC ("Leaving")
06:36 autrijus scw: write an eval test?
06:36 buu Gah, ingy, you are satan.
06:36 autrijus ??:: is currently badly hacked together.
06:36 autrijus mostly because no-one is sure about how to do it inside the Rules engine.
06:37 autrijus as the svn is down, please please send patches to p6c.
06:37 autrijus openfoundry-- # downtime
06:37 ingy buu: why do you keep saying that
06:37 buu ingy: Because I'm trying to write a parser for kwid and failing =[
06:38 scw autrijus: err, what is `eval test'? Like things under t/ ?
06:38 autrijus scw: yes, and wrapped inside an eval
06:38 autrijus like this:
06:38 buu ingy: And it's more fun to blame you.
06:38 ingy autrijus: host pugs on http://svn.kwiki.org/autrijus/pugs/
06:38 autrijus is(eval('(1 == 2 ?? 3 :: 4)'), 4, "??:: in parens")
06:38 autrijus ingy: will do when I'm on codefest place
06:38 autrijus need food now
06:39 autrijus had not have food since morning
06:39 autrijus and it's near 3pm.
06:39 ingy ok, sleeping now...
06:39 scw autrijus: I got nothing  #  my $a = eval "(1 == 2 ?? 'a' :: 'b')"; say $a
06:39 autrijus so, bbiab.
06:39 ingy zzzz &
06:39 autrijus scw: that is correct. that's what the evaal test will do.
06:39 scw autrijus: Oh! to avoid pugs stop parsing?
06:40 autrijus scw: exactly.
06:40 autrijus there's no coincidence that eval() is among the first primitives :)
06:40 scw hmm... And use todo_is, too :/
06:40 autrijus exactly.
06:44 cls_bsd autrijus: sorry, another question
06:44 cls_bsd is it leagal when there is a subroutine abc();
06:45 cls_bsd "abc().say;" will execute abc() twice?
06:45 saorge has left "ERC Version 5.0.1 $Revision: 1.726.2.3 $ (IRC client for Emacs)"
06:46 autrijus no, it's not legal, it is certainly a butg.
06:47 cls_bsd autrijus: ok, now just tell you that :p
06:47 cls_bsd autrijus: http://nopaste.snit.ch:8001/1977
06:48 cls_bsd example (error) code
06:48 autrijus okay :)
06:48 autrijus ok. food, bbiab &
06:50 Coke has quit IRC (Nick collision from services.)
06:50 Coke_ has joined #perl6
07:07 cls_bsd How do I write "if ($text =~ m/\d/) .." in pugs style?
07:08 cls_bsd Synopsis 5 seems not mention about it
07:09 cls_bsd $text ~~ m/\d/ seems failed
07:09 rgs is \d legal ?
07:09 rgs in pugs, that is
07:10 cls_bsd even $text ~~ m/abc/ failed
07:25 crysflame do any of the tests indicate how?
07:25 crysflame it might be ~~ //, not ~~ m// (but that's just a wild guess)
07:26 cls_bsd of course I tried it:p
07:26 cls_bsd my $text = "abcdefg";
07:26 cls_bsd if ($text ~~ /a/) { say "hihi"; }
07:26 crysflame heh, k
07:27 crysflame which test covers that kind of thing?
07:27 iblechbot has joined #perl6
07:47 malaire has joined #perl6
07:52 sorje has joined #perl6
07:57 theorbtwo has joined #perl6
08:00 pjcj has quit IRC (Read error: 60 (Operation timed out))
08:03 pjcj has joined #perl6
08:04 cls_bsd there's no regex.t I guess
08:09 crysflame oof
08:32 theorbtwo has quit IRC (Remote closed the connection)
08:50 iblechbot has quit IRC (Connection timed out)
08:51 autrijus greetings.
08:51 autrijus rules.t would be welcome.
08:51 autrijus there's no Rules in pugs. yet.
08:52 integral is there input from filehandles?
08:53 autrijus I can code up unary = for you now
08:53 autrijus if you'd like
08:53 cls_bsd oh, rules.t is good...
08:53 Juerd I think rules/*.t is more appropriate
08:53 autrijus cls_bsd: there is some existing tests for PGE and/or regex in the parrot tree I think
08:53 integral unary =?
08:53 autrijus yeah, I agree, rules/*.t
08:53 Juerd If we don't want CGI.pm-sized test scripts
08:53 autrijus integral: unary prefixing = is readline()
08:54 integral oooh, I couldn't find that.   Neat
08:54 malaire btw, are there backticks in pugs yet (or system, or something to get system calls) ?
08:54 integral Do you have a ref in the synopses to that, autrijus ?
08:54 Juerd Here goes every last hope of keeping it side effect free :)
08:54 autrijus side effect? ;)
08:54 * autrijus embraces side effects.
08:54 Juerd :)
08:54 clkao how's codefest?
08:54 autrijus integral: no, it's p6l stuff. please yell at p6team
08:55 integral autrijus: :-)
08:55 autrijus I really want it documented. better, send patches
08:55 Juerd The synopses used to be the most up to date, but Pugs put everything in much faster gear
08:55 Juerd So even the synopses are hopelessly out of date now :)
08:55 integral I'm not sure where it'd go though.   Syn02 has one brief bit showing unary *, but A2 just says that filehandles are iterators; so presumably = needs doc'ed next to them
08:55 cls_bsd autrijus: so where to get those tests?_? and can put them into pugs?
08:56 Juerd One month. I see the evidence, but I can't imagine this much has been done.
08:56 autrijus cls_bsd: just download aprrot
08:56 autrijus parrot, even
08:56 integral the shortest month too 8-)
08:56 autrijus and look at compilers/pge and languages/regex I think
08:56 autrijus integral: true
08:57 cls_bsd hmm
08:59 autrijus openfoundry is back!
08:59 malaire cls_bsd: sometime ago I posted file with 700 tests for pugs to p6c, topic was "700 tests for PGE" (converted from perl5's re_tests)
08:59 autrijus ingy: commit in your sleep! (or something)
08:59 malaire err... for PGE not pugs
09:00 autrijus oh! wow.
09:00 autrijus malaire++
09:00 Juerd mailaire++ indeed
09:00 Juerd malaire: Is that portable to pugs?
09:00 Juerd malaire: Or parrot specific?
09:00 autrijus "Markus Laire"-san?
09:01 malaire easily portable, as it uses perl-code
09:01 whiteg has joined #perl6
09:01 autrijus greetings whiteg
09:02 malaire yes, I'm Markus Laire
09:02 autrijus clkao: not much happening in #codefest-asia-2005 it seems
09:02 clkao :/
09:03 autrijus 30 or so people in a small room
09:03 autrijus not much coordination happening it seems
09:03 scw 0
09:03 scw o_O
09:03 Juerd Speaking of people in a small room...
09:04 autrijus malaire: so has yoru tests been committed as part of parrot/pge/devperlorg?
09:04 Juerd This channel has 58 nicks now
09:04 Juerd That's bigger than my favourite channel, which has existed for over five years now
09:04 autrijus your favourite channel being... ?
09:04 Juerd ircnet #lol.nl, a Dutch channel
09:05 Juerd (NOT related to the lol.nl website)
09:05 autrijus ok.
09:05 malaire autrijus: don't think so - I just posted the file to p6c. And I'm not 100% sure all tests are OK, When I posted it, 24% of them passed with parrot.
09:05 clkao it's bigger than #svk too :p
09:05 autrijus that sounds good enough.
09:05 Juerd Our lol is dutch for "fun", possibly "laughing out loud", the site is "limburg online" (limburg is a province)
09:05 autrijus and what's this svn://software.wordzoo.com/p6ge-test-harness/trunk thing?
09:06 scw Is repository at openfoundry up to date? Different from the one at svn.perl.org.
09:07 autrijus openfoundry is the main repo.
09:07 autrijus I sync to svn.perl.org from time to time.
09:08 malaire autrijus: IIRC, that is abandoned, might contain some usefull tests - (I can't find the message where that was mentioned)
09:08 cls_bsd great
09:08 cls_bsd http://www.mail-archive.com/perl6​-compiler@perl.org/msg00127.html
09:08 cls_bsd malaire++
09:09 cls_bsd let me try it :p
09:09 autrijus pugs currently does none of those :)
09:09 autrijus so we need a skip_all
09:09 autrijus but I'd very very much welcome we commit them to t/rules/*
09:09 theorbtwo has joined #perl6
09:10 autrijus malaire: you willing to take care of t/rules/* once pugs grows rules engine?
09:10 autrijus (i.e. may I make you a committer?)
09:10 * scw made his first commit :p
09:10 autrijus scw++
09:11 malaire autrijus: perhaps, I just need to learn how use use svn (I currently only know the 'svn co ...' command) to get the stuff
09:11 scw autrijus: only three lines changes :p
09:11 Juerd malaire: It's not much different from cvs for the basics
09:12 autrijus malaire: sure. you only need to learn another command, which is "svn ci"
09:12 autrijus and that's all :)
09:12 malaire I don't know cvs either ;)
09:12 Juerd autrijus: ci?
09:12 cls_bsd svn co; blahblah svn ci
09:12 autrijus ci == commit
09:12 Juerd Ah, I used commit :)
09:12 autrijus if you modified something you don't like, use "svn revert"
09:12 Juerd Because that's what I was used to from cvs
09:12 autrijus that's all, folks
09:14 * cls_bsd downloaded parrot-0.1.1
09:15 malaire cls_bsd: If the format of re_tests is too weird, I can easily generate those tests in any other format. I still have the perl5-scripts to generate it from original re_tests - and it can easily generate other formats also.
09:15 autrijus malaire: you familiar with pugs's test formar?
09:15 autrijus format, even
09:15 autrijus the "require Test;" one
09:20 malaire An example of this format:
09:20 malaire # 1: abcabcy$&abc
09:20 malaire # 2: abcabcy$-[0]0
09:20 malaire # 3: abcabcy$+[0]3 # SKIP
09:20 malaire p6rule_like('abc', 'abc', qr/0: <\Qabc\E @ 0>/, 're_tests 1/$0 (#1)');
09:20 malaire # 4: abcxbcn--
09:20 malaire p6rule_isnt('xbc', 'abc', 're_tests 2 (#2)');
09:20 malaire # 5: abcaxcn--
09:20 malaire p6rule_isnt('axc', 'abc', 're_tests 3 (#3)');
09:20 malaire # 6: abcabxn--
09:20 malaire p6rule_isnt('abx', 'abc', 're_tests 4 (#4)');
09:20 malaire # 150: (a)b(c)abcy$&-$1-$2abc-a-c
09:20 malaire p6rule_like('abc', '(a)b(c)', qr/0: <\Qabc\E @/, 're_tests 105/$0 (#109)');
09:20 malaire p6rule_like('abc', '(a)b(c)', qr/1: <\Qa\E @/, 're_tests 105/$1 (#110)');
09:20 malaire p6rule_like('abc', '(a)b(c)', qr/2: <\Qc\E @/, 're_tests 105/$2 (#111)');
09:20 malaire # 174: (a|b|c|d|e)fefy$&-$1ef-e
09:20 malaire p6rule_like('ef', '(a|b|c|d|e)f', qr/0: <\Qef\E @/, 're_tests 123/$0 (#137)');
09:20 malaire p6rule_like('ef', '(a|b|c|d|e)f', qr/1: <\Qe\E @/, 're_tests 123/$1 (#138)');
09:20 autrijus whew.
09:20 malaire commented lines are original lines from perl5 re_tests
09:21 autrijus what is the qr//?
09:21 malaire And the qr// part is a bit strange, as I just generated the tests in the format parrot-testing supported at the time.
09:21 autrijus it's matching the captures?
09:23 malaire yes, p6rule_like(...) is used to match captures.
09:23 malaire Test-script uses:
09:23 malaire use Parrot::Test 'no_plan';
09:23 malaire use Parrot::Test::PGE;
09:24 cls_bsd oh
09:25 autrijus ok. I'm sure we can do a Test::Rules that provides stubs
09:25 autrijus is qr// still perl6?
09:26 malaire that uses perl5 syntax, as parrot-tests where written in perl5
09:26 cls_bsd autrijus: so do you have a simple paragraph code of regex in pugs?
09:27 cls_bsd such as ' if ($a ~~ m/abc/) { say "hi"; }
09:28 autrijus there is no ~~ yet.
09:28 autrijus but feel free to write tests for them :)
09:28 cls_bsd ya, but I have no clues about regex in pugs
09:29 autrijus there isn't regex in pugs :)
09:29 cls_bsd oops
09:29 autrijus please write tests targetting http://dev.perl.org/perl6/synopsis/S05.html
09:29 cls_bsd so 'ok ($k ~~ m/$p/, "Matched");' will failed
09:29 autrijus see roadmap
09:29 cls_bsd sorry :p
09:29 autrijus classes is before rules
09:29 cls_bsd didn't check it
09:30 autrijus but I'm willing to be pursuaded.
09:30 autrijus ok, I need to run for dinner.
09:30 autrijus I'll go back with unary = :)
09:30 autrijus bbiab. &
09:41 lightstep has joined #perl6
09:49 cls_bsd todo_is ( eval '"abcbc" ~~ m/abc/', 1, 'string "abcbc" should match pattern "abc"');
09:49 theorbtwo has quit IRC (Remote closed the connection)
09:49 cls_bsd is it valid?
09:49 autrijus you want todo_ok
09:49 autrijus or, even better, abstract it away in Test.pm into todo_eval_ok
09:50 cls_bsd hmm
09:50 autrijus todo_ok(eval('"abcbc" ~~ m/abc/'), '...');
09:50 autrijus todo_eval_ok('"abcbc" ~~ m/abc/', '...');
09:50 cls_bsd ok, but maybe I should practice junction now, since I can't even make sure the regex is valid in pugs :p
09:51 autrijus heh. :p
09:52 cls_bsd feel good to be pursuing, huh? :p
09:56 autrijus indeed :)
10:01 cls_bsd autrijus: http://nopaste.snit.ch:8001/1979 # how about this new test (also modify above test to show the description)
10:02 autrijus look correct.
10:02 cls_bsd ok, so this is my first test to pugs XD
10:04 autrijus cls_bsd: commit it yourself bah :)
10:05 cls_bsd autrijus: oops, I didn't grant a commit bit
10:05 autrijus cls_bsd: you are a committer now.
10:06 autrijus welcome aboard, etc :)
10:06 cls_bsd ha
10:06 cls_bsd let me try try ci
10:08 cls_bsd Committed revision 1343 from revision 382. # so this is my first commit log to pugs
10:08 cls_bsd also it's the first check-in log via svk XD
10:09 autrijus =)
10:09 autrijus cls_bsd++
10:25 cls_bsd oh, ask anothor question, I found pugs.small.png on the web site, can I make it to my category icon?_?
10:26 autrijus category icon?
10:26 autrijus sure
10:26 cls_bsd :D
10:26 cls_bsd thx
10:28 decay has quit IRC ("Lost terminal")
10:29 decay has joined #perl6
10:39 perldude has quit IRC (Read error: 54 (Connection reset by peer))
10:55 autrijus basic file I/O done.
10:55 autrijus as part of 02atoms.
10:55 autrijus running regression now.
10:57 perldude has joined #perl6
10:57 autrijus rehi.
11:00 malaire has left
11:04 malaire has joined #perl6
11:05 autrijus r384:
11:05 autrijus * Unary &prefix:<=> landed along with readline().
11:05 autrijus * Unary open() can now take mode sigils as part of the file name.
11:07 justatheory has joined #perl6
11:07 autrijus my @lines = =</etc/passwd>
11:07 autrijus works.
11:08 autrijus 'out.txt'.open.print(=<in.txt>)
11:08 autrijus works too.
11:08 Odin- Oooooooo.
11:08 malaire Does pugs yet have system() or backticks or qx// or any way to use system commands?
11:08 Odin- Cool. :)
11:08 autrijus malaire: no, but I can do one for you now. a sec
11:09 malaire ok, I'm still reading YAHT, so I won't try to patch pugs just yet...
11:09 autrijus you want unary system or list system?
11:09 autrijus system("ls -l") vs system("ls", "-l")
11:10 malaire perhaps list, but either is ok
11:11 autrijus \\n   Bool      pre     system  (Str)\
11:11 autrijus \\n   Bool      pre     system  (Str: List)\
11:11 autrijus I'll do both :)
11:11 autrijus done. testing.
11:14 autrijus test passed. r386. enjoy
11:14 malaire that's quite fast development :)
11:14 autrijus :)
11:14 lightstep what was r385? or did you skip it?
11:15 autrijus r385 fixed a simple parsing glitch.
11:15 autrijus =<$fh>; # was parsed as illegal pod
11:15 lightstep is 3 releases/10 minutes the usual rate?
11:15 autrijus =$fh, even.
11:15 autrijus lightstep: not unusual when there's people requesting things.
11:15 autrijus and r is revision :)
11:15 autrijus not release
11:16 autrijus 775 tests now. mmm
11:16 lightstep yeah, i meant revision, of course
11:16 autrijus yeah. not unusual :)
11:17 autrijus ooh. we have native dlopen().
11:17 * autrijus discovers the System.Posix.DynamicLinker module
11:17 lightstep when was the switch from fp6 to p6?
11:17 autrijus within the first week
11:17 autrijus I think day 3
11:17 autrijus not very sure
11:17 * autrijus checks journal
11:18 lightstep oh. so te wiki page was misleading even when i first found it
11:18 malaire Can you give any estimate how much is still to be done before v6.2 ? (just curious..)
11:19 autrijus ah. the decision is done on day 3
11:19 autrijus but not checked in until day 13
11:19 autrijus day 13 sees the Eval monad.
11:19 autrijus lightstep: feel free to update the haskell wiki for me.
11:19 autrijus malaire: it's all bugfix :)
11:19 autrijus I'm aiming for 6.2 at end of this month
11:20 autrijus but no promises.
11:20 autrijus I'd like 6.2 to be Correct
11:20 autrijus in the sense that while there's unimplemented features, all implemented features have correct semantics
11:21 autrijus in other words, all todo tests are really todo tests, not fixme tests
11:21 cls_bsd nightly build XD
11:21 autrijus :)
11:22 autrijus lightstep: I'd welcome if you can just put a large notice on the FP6 page
11:23 autrijus saying "it's all obsolete now, pugs is targetting the full perl6; while there may be a functional sublangauge in perl6 as a dialect, the current goal is to get the main perl6 done"
11:23 autrijus or some such.
11:24 autrijus nnunley: any news on the Galadriel front?
11:37 justatheory has quit IRC ()
12:15 integral hmm, possible bug: ./pugs -e'say =$*IN' gives hGetLine: illegal operation (handle is closed), but ./pugs -e'$OUT.say =$*IN' works
12:15 metaperl has joined #perl6
12:30 LTjake has joined #perl6
12:31 iblechbot has joined #perl6
12:33 hllu has joined #perl6
12:56 Steve_p Galadriel?
12:59 ycheng autrijus: I write a chmod, and use a "read" which make me unconfortable.
13:00 Steve_p is that for a chmod function for Posix.hs?
13:01 ycheng yes
13:01 ycheng maybe I commit it first..
13:04 integral Galadriel maybe is Pretty.hs?
13:05 Steve_p integral, thanks
13:05 integral nnunley was doing the Text.PrettyPrint hacking on that
13:06 Steve_p ycheng, go for it :)
13:06 * integral now wants to port ideas from that into a nice formatter for perl5 :-)
13:06 Steve_p chmod is likely to be slightly different depending on the libc
13:07 ycheng Steve_p: my problem is on type. AFAIK, read is to transform string to something else.
13:07 Limbic_Region has joined #perl6
13:08 ycheng when chmod get an Integer, "read" seems to be unnecessary.
13:08 integral hmm, maybe you want a perlish cast into a VInt, which you then convert to a haskell Integer?
13:09 integral see int() for example maybe?
13:10 ycheng integral: before this, a vCast seems automatically choose the type for me.
13:10 ycheng I think it's a mechanism of haskell that will automaticall choose the right one for me.
13:11 integral hmm, then you'd just need an explicit haskell type signature then?
13:11 ycheng but this time, I have to use: read $ vCast v
13:15 ycheng integral: I thought that in the beginning, but when I change to read to toInteger, I got a compile error "Couldn't match `System.Posix.Types.FileMode' against `Integer'"...
13:16 lightstep vCast automatically selects an instance of Value (by type inference)
13:17 ycheng lightstep: agre
13:17 ycheng agree
13:18 ycheng but it I remove read, the error message is:     No instance for (Value System.Posix.Types.FileMode)
13:18 ycheng      arising from use of `vCast' at src/Prim.hs:139
13:18 jiing has joined #perl6
13:19 integral can you construct a FileMode from an Integer?
13:19 lightstep i'm not completely sure
13:19 integral perhaps you need to do some work to convert the octal mode to a haskell FileMode, ycheng?
13:19 lightstep nor am i sure how to convert Val which is a VInt to Int
13:20 lightstep oh, intCast is it
13:22 ycheng waa, intCast compiled !
13:23 ycheng oh it works !
13:24 lightstep ycheng, does it give the correct result when you pass a string to chmod?
13:25 ycheng lightstep: chmod "1", "filename" still work.
13:25 * lightstep never learned perl, so he doesn't know how perl's chmod should work
13:26 ycheng lightstep: from `man perlfunc`, it shouldn't work.
13:27 ycheng lightstep: maybe the spec of perl6 will be different.
13:28 Steve_p The big difference is how octals are represented
13:29 ycheng hmm, if I replace the "intCast" with "fromInteger $ vCast", the it compiles, too.
13:33 lightstep ycheng, the definition of intCast is (almost) intCast = fromInteger . vCase
13:33 lightstep s/vCase/vCast/
13:33 ycheng lightstep: oh, yes.
13:36 ycheng As far as I observer, toInteger transform anything it could to integer and fromInteger transform from Integer to whatever it could.
13:36 ycheng I use to Integer for I think the FileMode must be something as Integer..
13:37 ycheng s/to Integer/toInteger/
13:40 ycheng I'll commit the "intCast" version latter if no better solution appears.
13:41 lightstep most of the time any Num is good enough, and you don't need Integer
13:51 nnunley autrijus:  I've got Pretty working the same way it did.  It just has to capture more of the AST in order to work correctly.
13:52 nnunley autrijus:  It punts down to Show in too many places, otherwise.
14:16 autrijus woot.
14:16 clkao autrijus: see #svk, win32 binary is foobard
14:18 nnunley Hrm.    Trying to figure out how to capture App String [Exp] [Exp] as a Pretty instance.
14:19 autrijus nnunley: commit it first? :)
14:19 autrijus so I can look at it
14:19 nnunley autrijus: Ok...  Let me do a little cleanup, and then I'll commit it.
14:20 autrijus nnunley++
14:21 lightstep is it a karma system?
14:22 autrijus virtually, yeah, because there's no bot to count them (yet)
14:26 Steve_p I guess virtual is better than no karma at all
14:27 * Steve_p really begins his journey into Haskell this evening
14:29 autrijus Steve_p++ :)
14:34 cognominal has joined #perl6
14:34 autrijus greetings, cogmno.
14:35 autrijus err, cognominal, even. :)
14:38 marcusT has joined #perl6
14:41 autrijus hi marcusT. nice to see you here :)
14:42 * autrijus ponders a URM compiler extension for pugs
14:42 marcusT autrijus: hi... I haven't had a look on pugs in ages (I guess it was days,  but your speed is so high) ... what's the state... when can I start porting Curses::UI ;-)?
14:42 cognominal hi, autrijus. I curse you. I was on in the process on learning ocaml when you are now obliging me to learn haskell.  :)
14:43 autrijus well, the knowledge between haskell and ocaml are largely interchangeable :)
14:43 lightstep does svn.perl.org provide cross-linked source view? or some other server?
14:43 cognominal hopefully
14:44 rgs hi cognominal.
14:44 cognominal hi, rgs. how cooker is coming?
14:44 autrijus lightstep: not as far as I know. I'm not even sure there exist a crosslink source view for haskell code. or perl6, for that matter
14:45 autrijus marcusT: you can start porting now :)
14:45 rgs cognominal: currently hacking some python.
14:46 cognominal rgs: I said you, you should not listen that Eve girl
14:46 Steve_p heh
14:46 cognominal next thing we will hear of you, you will bite the Apple.
14:47 Steve_p I would bite my Apple, but I think it would hurt my teeth ;)
14:51 lightstep has quit IRC ("leaving")
14:55 nnunley autrijus: Well... It's in.  It's not pretty, but it's in.
14:55 nnunley Which is a bit of an oxymoron, but anyway.
14:55 malaire I'm currently reading YAHT on chapter 7.6.2, and I've started to wonder if Haskell really is better than perl6 ... :|
14:56 autrijus malaire: hmm?
14:56 malaire (Of course when we get Inline::Haskell that doesn't relly matter)
14:56 nnunley malaire:  Well, for one, it's fully specified, and secondly, it works right now. :)
14:56 autrijus wawhat is 7.6.2?
14:57 autrijus oh, the Show class.
14:57 autrijus yeah, type classes are neat.
14:58 autrijus sexy types doubly  so; they let you think "higher thoughts" without going (completely) insane
14:58 malaire If we ever get Haskell into Parrot, that would be be quite powerfull with perl6 etc..
14:59 nnunley Hmm... Spineless, Tagless G-Machine to Parrot...
15:02 autrijus sounds like a good project :)
15:02 rgs has quit IRC (Read error: 104 (Connection reset by peer))
15:02 * autrijus looking at Pretty.hs
15:02 rgs has joined #perl6
15:02 nnunley autrijus: *nods*
15:03 nnunley autrijus:  It's mostly just a transliteration right now.
15:05 autrijus hmm, ycheng broke win32 again.
15:05 autrijus fixing
15:10 ingy hola
15:10 ingy what is new in pugs?
15:10 clkao ingy: yaml bug!
15:10 * ingy wakes up with big ideas
15:11 ingy clkao: rt number?
15:11 autrijus ingy: ext/kwid building broke on win32 5.8
15:12 autrijus I fixed it; r3894
15:12 ingy is foundry up?
15:13 ingy autrijus++
15:13 autrijus sure, it's only been down for a few hours
15:13 ycheng @_@ broke again...
15:13 autrijus ycheng: small typo mostly
15:14 autrijus B[B[Bit's fixed
15:14 ycheng ^_^
15:15 clkao ingy: 11296
15:15 ingy autrijus: I have a decent comprehensive plan for module install/resolution fu
15:15 ingy I will write up in the wiki
15:15 autrijus ingy: whoa. write it down, write it down
15:15 ingy and start hacking!
15:17 nnunley Hrm.
15:17 ingy hi norman
15:17 nnunley What's necessary to get kwid to compile?
15:18 autrijus nnunley: latest source?
15:18 ingy nnunley: I need to add a Main
15:18 nnunley ingy: Hey. How's it going Brian?
15:18 ingy and some fu
15:18 nnunley nnunley: Latest source.
15:18 nnunley make[1]: *** No rule to make target `/home/dragon/play/pugssvn/kwid', needed by `../../blib/script/kwid'.  Stop.
15:19 autrijus ok, I broke it.
15:19 autrijus fixing
15:19 ingy hmmm. maybe autrijus broke
15:19 ingy ah
15:19 ingy haha
15:19 nnunley :)
15:19 nnunley Need more coffee.
15:20 autrijus should be fixed
15:21 ingy autrijus: let me fix it :P
15:21 autrijus nnunley++ # cool, Pretty looks pretty now
15:21 metaperl has quit IRC (Read error: 60 (Operation timed out))
15:22 ingy nnunley: should be  fixed :P
15:23 nnunley Now, to start working on the extreme makeover bit...
15:23 nnunley :)
15:23 * ingy likes extreme
15:27 nnunley autrijus: It was a bit like pinball.  I kept bouncing off of type errors, spinning off to understand the type error, repeating, until it was re-written.
15:27 autrijus :)
15:27 autrijus it's unlike pinball in that your score is not zeroed.
15:27 autrijus what worke
15:27 autrijus whatever worked, stays working
15:28 ingy I like how ghc suggests how to fix your program sometimes
15:28 * nnunley nods.
15:28 nnunley All part of the joy of a good type system.
15:28 ingy "You were close, now try this..."
15:30 ingy http://www.burningchrome.co​m/wiki/index.cgi?YahooImage
15:31 ingy cdent++
15:36 nnunley Hrm.  I wonder how hard it would be to repurpose the shell in pugs to allow debugging.
15:37 nnunley Kinda wish I grokked one of the tricks that the O'Caml folks did with their debugger, which allows backstepping.
15:37 autrijus backstepping would not be hard in pugs.
15:37 autrijus that will play nicely with serializable continuation.
15:38 autrijus basically we freeze our CC at each step of evaluation and
15:38 autrijus reload prior CC means backstepping
15:38 * nnunley nods.
15:38 integral after each evaluation you just call the debugger via callCC, and it saves?
15:38 autrijus it will be doubly nice if we can have Exp derive Read.
15:38 autrijus integral: that's roughly the idea.
15:39 autrijus or rather, have "Eval Val" derive Show and Read.
15:39 autrijus (which is the definition of serializable continuation)
15:40 autrijus that will require some thought. will think about it tomorrow :)
15:40 integral presumably they'd only be thawable within the same execution environment, eg open files etc?
15:40 autrijus (it's getting late and I need to fill in today's journal)
15:40 autrijus integral: well, one way to do this is to log all side efefects
15:40 autrijus and reopen handles as neccessary
15:40 autrijus see WASH for preior artprior art
15:41 integral hmm, complicated
15:42 autrijus yeah, all side effects are
15:50 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
15:52 cognominal rgs, I have bought "Concepts, Tevhniques and Models of Computer Programming"
15:54 cognominal they say: "monads are used to encode state by threading it thru the program. This makes the program more intricate but does not achieve the modularity properties of true explicit state".
15:55 cognominal This seem to confirm my intuition that monad is bullshit.
15:58 autrijus right.
15:58 autrijus using monad to model state is not interesting.
15:58 autrijus the state monad is the most trivial of monads
15:58 ingy autrijus: yo
15:58 autrijus and you can almost always find better ways to do the same thing.
15:59 autrijus however, for other things like CPS, lexical fix points in side effects etc, monads are invaluable.
15:59 ingy I generate Config.hs in the make system now
15:59 autrijus r0x0rs
15:59 autrijus I'll sleep in a bit
15:59 ingy Trying to figure out how to format it
16:00 ingy I'm thinking of introducing %*CONFIG
16:00 ingy since it is all lazy, I think it could be sold to p6l
16:00 autrijus uh I think the perl6 idea is lots of readonly $?
16:00 autrijus $?OS
16:00 autrijus blah blaetc.
16:01 autrijus instead of stuffing everything into a hash.
16:01 autrijus so just add $?FOO symbols to env.
16:01 autrijus with Val VStr
16:01 ingy ok
16:01 autrijus zzz &
16:01 ingy darn
16:02 ingy how to I expose Config to the haskell side?
16:02 cognominal autrijus: is that a good book or do I have blown my money on a turkey?
16:03 ingy Oh well, I make  something up
16:03 cognominal it sounds used often in university setting
16:06 lightstep has joined #perl6
16:06 autrijus I've not read it.
16:06 autrijus I recommend TaPL :)
16:06 clkao that was a quick sleep
16:06 autrijus but you can ask on #haskell for more book recommendations.
16:07 Odin- has joined #perl6
16:07 cognominal I have yet to go thru the ~900 pages of that one :)
16:07 * autrijus sleeps, for real &
16:19 |hugues| has joined #perl6
16:34 cls_bsd ok, refresh source code again
16:39 metaperl has joined #perl6
16:42 tmoertel has joined #perl6
16:46 malaire has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0/20041107]")
16:49 stevan has quit IRC ("Leaving")
16:51 stevan has joined #perl6
16:55 stevan autrijus: I have found a really odd issue in PUGS
16:55 stevan well not that odd really
16:56 nnunley steven:  Autrijus is sleeping.  What's up?
16:56 stevan ah
16:56 stevan pugs -e 'my @l = (1, 2, 3); my $a = shift(@l); say $a'
16:56 stevan produces 1
16:56 stevan as expected
16:56 stevan as does this
16:56 stevan pugs -e 'my @l = (1, 2, 3); say shift(@l);'
16:57 stevan but this
16:57 stevan pugs -e 'my @l = (1, 2, 3); say shift(@l); say shift(@l);'
16:57 stevan prints and 1, 3
16:57 stevan it seems that shift(@l) is getting evaluated twice when it is an argument to a function
16:57 stevan I am documenting this in t/op/shift.t
16:58 stevan but I have actually encountered this before, I just didnt realize what it was (I thought it was my perl6 code :)
16:58 nnunley stevan:  Yeap.  There's definitely some todos there.
16:59 stevan nnunley: I will update shift.t soon,.. it will better illustrate the issue
16:59 crysflame hi
16:59 stevan howdy
17:05 ingy has quit IRC (Remote closed the connection)
17:05 nnunley stevan:  I guess including a todo_is on +@s to assert sizes would better demonstrate what's going on.  But it does already demonstrate the double pull if you run the test explicitly.
17:05 cls_bsd stevan: I've raised similar issue several hours ago :p
17:06 stevan cls_bsd: yes, it was your issue which got me thinking
17:06 cls_bsd oh :p
17:06 stevan nnunley: good idea with the +@
17:07 stevan cls_bsd: i knew it had seen a similar issue before,.. but I couldnt figure it out at the time
17:11 stevan nnunley, cls_bsd: r397 has the new t/op/shift.t if you want to check it out
17:11 lightstep has quit IRC (Read error: 54 (Connection reset by peer))
17:12 cls_bsd ok
17:13 cls_bsd but we can bug autrijus :p
17:14 nnunley stevan:  Cool.  Better bracketing of the problem.
17:16 stevan nnunley: looks like this is the source of the todo's in pop.t as well, i will update those tests as well
17:22 * nnunley nods.
17:44 theorbtwo has joined #perl6
17:53 ingy has joined #perl6
18:18 saorge has joined #perl6
18:31 pbuetow has joined #perl6
18:37 coaster has quit IRC (Read error: 104 (Connection reset by peer))
18:40 coaster has joined #perl6
18:43 hlen has quit IRC (Read error: 110 (Connection timed out))
18:45 hlen has joined #perl6
18:47 Aankhen`` has joined #perl6
19:07 xerox has quit IRC (Read error: 104 (Connection reset by peer))
19:09 Aankhen`` has quit IRC ("Induhvidual quote: "We don't want this project to snowball into a can of worms." [Time wasted online: 9hrs 12mins 52secs]")
19:20 marcusT has quit IRC ("Konversation terminated!")
19:25 |hugues| has left "So Long, and Thanks for All the Fish!"
20:01 theorbtwo has quit IRC (Remote closed the connection)
20:02 coaster has quit IRC ()
20:13 coaster has joined #perl6
20:18 coaster has quit IRC ()
20:19 stevan any lambdafolks around who are currently hacking away at PUGS?
20:20 nnunley stevan:  is only semi-lambda.   Not currently hacking on PUGS.  Hoping to get movement on the evaluation problem?
20:20 Limbic_Region the only for sure lambdafolk I see here is tmoertel (who is also a camelite)
20:20 Limbic_Region not sure if he is hacking Pugs though
20:21 * tmoertel is too busy with "work", unfortunately
20:21 stevan ok,.. well I just commited some issues with r400
20:21 stevan and documented them in p6c
20:24 stevan nnunley: yeah I found the eval issue and one with push and unshift
20:24 stevan oh well, autrijus will likely be up in a few hours anyway :)
20:26 chromatic has joined #perl6
20:26 ingy hola nnunley stevan Limbic_Region
20:26 ingy hi chromatic
20:26 chromatic Hi there.
20:26 ingy you return
20:26 chromatic Interview preview:
20:26 ingy autrijus is sleeping fyi
20:26 chromatic http://www.perl.com/cs/user/print/a/908
20:26 Juerd My p6 talk slides are online
20:27 ingy until about 6pm our time I would guess
20:27 Juerd http://juerd.nl/files/slides/2005dpw/perl6op.html
20:27 Juerd http://juerd.nl/files/slid​es/2005dpw/perl6myths.html
20:27 chromatic S'okay, I'll send him e-mail.
20:27 stevan howdy chromatic
20:27 ingy chromatic: update the kwiki
20:27 ingy Juerd: you too :P
20:27 Limbic_Region salutations ingy
20:28 Juerd ingy: This was FYI
20:28 chromatic ingy: any particular page?
20:28 ingy Juerd: F*M*I?
20:28 Juerd ingy: For anyone's I.
20:28 ingy chromatic: see topic
20:28 * Juerd doesn't like adding his own links to wikis
20:28 chromatic Any particular page on the kwiki?
20:29 Limbic_Region chromatic - intentionally left in the mispeelings?
20:29 chromatic Limbic_Region, yes.
20:29 ingy ah, go ahead and make a new page
20:29 chromatic <- lazy
20:29 * Limbic_Region is the epitome of laziness, but I will let you be second in command
20:30 ingy heh
20:31 Limbic_Region Juerd - haven't gotten through p6 operators presentation, but have you considered a link to the periodic table of p6 operators?
20:32 chromatic All yours now, ingy.
20:32 Juerd Limbic_Region: Certainly have, but with the horrible internet link we had the day before DPW, I couldn't find it fast enough
20:33 Juerd Limbic_Region: I gave up quickly and went to the bar
20:33 crysflame hi, chromatic
20:33 Juerd Limbic_Region: It was supposed to be the first slide
20:33 Limbic_Region oh - will see what I can do
20:33 crysflame oh, neat, hello autrijus
20:33 crysflame (in writing)
20:33 rgs salutations chromatic
20:33 Juerd But I don't like changing slides afterwards
20:33 ingy chromatic++
20:33 crysflame "no COW"?
20:33 Juerd I only changed some typos
20:33 chromatic Hi all.
20:34 Limbic_Region http://www.ozonehouse.com/mark​/blog/code/PeriodicTable.html
20:34 crysflame ah, ok
20:34 rgs ooh COW :)
20:34 rgs a hop topic in perl 5 currently.
20:34 rgs hot, even.
20:34 ingy I should add a kwiki notification bot to #perl6
20:35 chromatic purl, COW is CopyOnWrite Oughtta Work!
20:35 Limbic_Region oh - is purl and/or any other bots not here intentionally?
20:35 crysflame it'd be nice if there was a list of the books that he ordered
20:35 crysflame so that eveyrone who wants to buy more knowledge can do so :)
20:35 crysflame Limbic: purl is too stupid to do multinetworks.
20:36 crysflame if you know of any bots that can bridge irc channels, that'd be neat
20:36 Juerd There's an irssi script that does that
20:36 Juerd Irssi in a screen is as good as a bot
20:36 Limbic_Region well, I know some neat bots on the freenode network
20:36 Juerd In fact, I base IRC bots on irssi, because that works better than P::C::I :)
20:36 crysflame Juerd: okay, since i see your name any time i google for irssi, it's your task to get purl in here.
20:37 Juerd crysflame: I don't have a host to run such a script on
20:37 Juerd And I can't get purl to join the empty channel that is needed for this
20:37 crysflame Juerd: i do. plan for irc nickname "rhizopurl" on freenode.
20:37 crysflame i can.
20:37 Juerd Then you do it :)
20:37 crysflame no.
20:37 crysflame i can't make irssi happen.
20:37 Juerd Huh?
20:37 crysflame hand me a .irssi/ tarball
20:37 Juerd apt-get install irssi
20:37 Juerd Then in irssi, /script load somescript.pl
20:37 crysflame okay, provide the script then
20:38 Juerd scripts.irssi.org
20:38 * rgs remembers the Abigail quote.
20:38 crysflame that's your bag. i mindwarp purl, you mindwarp irssi. which script?
20:38 * crysflame has a fixed attention limit thanks to work atm
20:38 Juerd crysflame: I'm not warping any minds today
20:38 Limbic_Region Juerd - in p6 operators - forcing context - your   for numeric context - did you also mention it is no longer a no-op?
20:38 crysflame aww
20:38 Juerd crysflame: This isn't something we need right now
20:38 Juerd Limbic_Region: That is implied
20:39 Juerd It's a no op for numbers, as ~ is a noop for strings :)
20:39 chromatic has quit IRC ("back to work")
20:39 Juerd A scalar context forcing noop, though
20:39 Juerd crysflame: http://scripts.irssi.org/html/linkchan.pl.html
20:42 Limbic_Region good presentation Juerd - when/where did you give it?
20:44 Juerd Limbic_Region: Dutch Perl Workshop, last Friday
20:47 buu crysflame / Juerd: What were you trying to accomplish?
20:47 Juerd When, where, with what?
20:47 Juerd And why?
20:47 crysflame buu: getting purl on this network.
20:47 Juerd Oh, that
20:47 buu oh
20:47 buu What's so difficult?
20:47 crysflame irssi, and that's not at all
20:48 Juerd purl's singular
20:49 buu crysflame: Er, what?
20:52 buu ...
20:53 * Limbic_Region thinks the yadda yadda yadda operator (...) should be renamed to the wacka wacka wacka operator ;-)
20:55 buu Sounds about as reasonable
20:55 Juerd Limbic_Region: I prefer "todo operator"
20:55 ingy google++ http://www.kwiki.org/?action=edit;page_name=%D0%A​D%D1%82%D0%BE%D0%A1%D1%81%D1%8B%D0%BB%D0%BA%D0%B0
20:56 Steve_p heh heh
20:56 Steve_p I love the public service ad
20:58 Juerd It has something to do with pyramids :)
20:58 Juerd And the history of them, probably
20:59 crysflame was this an irc interview?
21:00 nnunley crysflame:  Apparently.  It included buu's comments. :)
21:00 Steve_p Limbic_Region: most programmers prefer seinfeld over fozzie
21:01 Steve_p :)
21:01 Limbic_Region hmmm - I don't consider myself a programmer so I guess I am ok with that statement
21:01 Steve_p heh
21:02 buu Limbic_Region: What do you consider yourself?
21:02 Limbic_Region a problem solver
21:02 buu ...
21:03 crysflame problem solvers rock
21:03 crysflame nice to meet you
21:04 Limbic_Region salutations crysflame - don't expect me to be solving too many p6/Pugs problems
21:04 Chris62vw has joined #perl6
21:05 perlbot has joined #perl6
21:05 crysflame i was around for the first pugs.exe from autrijus, when it had nasty bugs with joints
21:05 Limbic_Region Speaking of bots on freenode - Chris62vw has one
21:05 Chris62vw perl6 sucks :-(
21:05 Chris62vw has left
21:05 buu ^
21:05 Limbic_Region and there it is perlbot
21:05 crysflame he left perlbot though
21:05 buu It was my idea for perlbot, so yell at me.
21:06 crysflame perlbot: status
21:06 Limbic_Region heh - thanks buu
21:06 crysflame perlbot: hi, chris62vw :)
21:06 Limbic_Region perlbot karma for Limbic_Region
21:06 perlbot Karma for Limbic_Region: 1
21:06 buu perlbot help
21:06 perlbot Syntax: (fact) :: tell (who) about (what) :: (who) > (what) :: learn (what) as (info) :: relearn (fact) as (info) :: facts (search term) :: shorten (url) :: shorten it :: search (module) :: docs (module) :: perldoc -f (function) :: math :: fortune :: flip :: host (type) (record) :: rot13 :: roll (die) :: tempconv (temp) :: scramble (text) :: 8ball :: slap :: diss :: what time is it :: highest karma  :: lowest karma
21:06 crysflame eeeee
21:06 crysflame as soon as i'm not at work i infobot us
21:06 buu What does infobot do?
21:07 crysflame familiar bot interface
21:07 buu ...
21:07 buu That's it?
21:07 rgs perlbot, pugs
21:07 buu perlbot pugs is jesus.
21:07 perlbot added pugs to the database
21:08 LTjake has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0/20041107]")
21:08 rgs perlbot, pugs
21:08 perlbot jesus.
21:08 rgs perlbot, jerk it
21:08 rgs well, maybe doesn't it support rss feeds;
21:09 buu Er, of the channel?
21:09 rgs buu: purl can register rss feeds as factoids.
21:09 buu rgs: And do what with them?
21:10 rgs display the latest "headlines"
21:10 buu ah
21:10 buu Feel free to suggest it to chris
21:12 crysflame purl is a legacy application
21:12 crysflame so much legacy that it's nearly human
21:12 crysflame complete with a db of 460,000 factoids built up over time
21:12 rgs how old is purl's factoid db ?
21:12 crysflame pre-2001
21:13 crysflame very, very old
21:13 crysflame she was cloned from efnet database at some point
21:13 crysflame around the Split, 97-98ish
21:13 cognominal I suppose that makes me a legacy programmer because I am really human (with a flawed logic thoug h:)
21:13 crysflame which means even older than that
21:13 * crysflame nods to cognominal
21:13 coaster has joined #perl6
21:17 buu Someone should open source the facts.
21:19 pjcj I don't think facts is quite the right word.
21:19 Steve_p heh
21:20 Steve_p suppositions?
21:20 rgs theories.
21:21 Limbic_Region supposition theories - it isn't just quantum mechanics anymore
21:22 buu The pretensions at fact.
21:22 lightstep has joined #perl6
21:23 Steve_p But "jerk it" isn't much of a fact is it?
21:23 buu It exists!
21:23 buu There for, it is a fact. Some place.
21:24 sorje Nice, revision 400 :-)
21:24 buu Yay pugs!
21:25 sorje The speed of that project really is amazing.
21:26 * Steve_p was about to write "I jerk it; therefore, I am."  but realized what he was about to write
21:26 rgs it would have implied that purl is.
21:27 nnunley r401:  Improved the pretty printing a little bit.
21:30 Limbic_Region has quit IRC ("tiuq\")
21:31 stevan Juerd: the operator presentation is great fodder for writing tests, thanks for posting it
21:35 nothingmuch has joined #perl6
21:39 nothingmuch is the darcs pugs repo up to date?
21:41 nnunley nothingmuch: Good question.  High likelyhood that it's lagging.
21:41 nothingmuch =/
21:41 * nothingmuch will bug autrijus about it
21:42 buu Darcs just isn't as cool as svn!
21:43 nnunley buu:  It's plenty cool.  It's just earlier in its development cycle.
21:43 nothingmuch buu - given choice i'd rather choose =)
21:43 nothingmuch live and let control versions
21:43 nnunley I'd be using it, except that it bogs down on my system even with simple changes.
21:44 nothingmuch supposedly droundy is working hard on fixing that, nnunley
21:45 nnunley nothingmuch:  Good to hear.
21:46 buu Is there any advantage to using Darcs over svn? And while I'm asking, what the heck is svk?
21:46 nothingmuch svk is a meta vcs, afaik
21:46 rgs this means nothing :)
21:46 nothingmuch it knows how to wrap many vcs systems under one interface
21:46 buu oh
21:47 decay nothingmuch: it doesn't
21:47 nnunley buu: svk is a meta-revision control system.  It lets you work in a distributed way -- checkout, unplug from the network, commit some stuff, and then merge with the central VCS.
21:47 nothingmuch afaik <-- grain of salt
21:47 nothingmuch one that is heavy enough to hurt
21:47 buu nnunley: Sounds like svn =/
21:48 nothingmuch as for darcs vs. svn - darcs is distributed, in a very pure way
21:48 nothingmuch svn is central, and sort cvs done right
21:48 nnunley buu:  It's implemented on top of svn.
21:48 nnunley buu:  It also borrows some concepts from TLA (arch)
21:48 buu I .. see.
21:49 nothingmuch darcs.net if you want more info on darcs
21:49 nnunley buu: That is, it can remember your merge points, so you don't have to when you merge back in.
21:50 nothingmuch the manual is easy to skim through quickly
21:50 buu I just learned svn damn it
21:50 nothingmuch once you know one vcs you know them all except arch
21:51 nothingmuch ;-)
21:51 nnunley buu:  It wouldn't take you long to learn svk (it has the same command set, more or less).  Nor should it take you long to add darcs to your knowledge base.
21:51 nnunley nothingmuch:  too--many--dashes-in--commands for me.
21:52 nothingmuch i learned a bit of arch once, but i got tired very very quickly
21:52 lightstep but tom lord is so cool
21:52 lightstep oops
21:52 lightstep (that wasn't supposed to be in irc)
21:52 * nnunley grins.
21:53 rgs we have logs.
21:53 nothingmuch buu - come to think of it, i would argue that darcs is simpler than cvs for example, which I know, since it breaks things down to more generalized bits
21:53 nothingmuch and there's fewer of them
21:54 nothingmuch you write files
21:54 nothingmuch then you make a patch by saying what changes go into it
21:54 nothingmuch and then you move it around
21:54 buu nothingmuch: I'm still at the stage of check out, modify, commit, cry if theres any conflcits.
21:55 nothingmuch darcs (and arch, and anything distributed) breaks committing down into several steps
21:55 nothingmuch you commit a patch to your local repo
21:55 nothingmuch and then you decide what repo to move it into
21:55 nothingmuch example scenario:
21:55 nothingmuch stable branch, unstable branch
21:56 nothingmuch developer's each have their own repo too, for their working dirs
21:56 nothingmuch s/'//;
21:56 nothingmuch commits naturally go into the unstable branch
21:56 nothingmuch and occasionally feature freeze or critical fixes propagate down to the stable branch
21:56 nothingmuch the process is just saying 'put this change there'
21:56 buu Head.. exploding
21:57 nothingmuch chromatic is silly
21:57 crysflame darcs is fun
21:59 buu "Adolf .... elizabeth? Yah, that was his middle name!"
22:00 nothingmuch does anybody care enough to have a look at a patch to Test::MockObject before I go to sleep?
22:00 stevan nothingmuch: I will
22:00 nothingmuch http://nothingmuch.woobling.org/Test-MockObject/
22:01 nothingmuch i'm not too sure about the naming convention i chose, for the most part
22:01 nothingmuch and the documentation is also, eh, so so
22:01 nothingmuch unified diff is at top level, modified file inside lib, and it's also a darcs repo
22:02 stevan nothingmuch: interesting feature
22:02 nothingmuch grazie
22:03 stevan nothingmuch: looks cool to me,.. send it over to chromatic
22:04 nothingmuch i did, he said he didn't receive, my logs say his MX accepted, blah blah. Anyway, he's logging on perlmonks once every few hours and sending a message or two, so i am not up to date on that
22:05 nothingmuch i just wanted some review of the change before i go
22:05 nothingmuch so thanks, stevan
22:05 stevan nothingmuch: no problem :)
22:08 nothingmuch oh buu, another nice thing about darcs is it's tolerance to PEBCAK
22:09 nothingmuch most operations are easily reversable
22:09 nothingmuch (unrecord, unpull, revert, unrevert, amend-record... =)
22:11 stevan nnunley: you still around?
22:11 nnunley stevan:  About to head out for a few hours.  What's up?
22:12 stevan just looking the Pretty printing stuff
22:12 stevan what's the best way to test that, or have you already tested it?
22:13 nnunley stevan:  No formal tests, yet.  I think autrijus did, on the other hand, show what the desired output was on PerlMonks...
22:14 nnunley stevan:  So... two choices... write a test in Haskell (Check out QuickCheck), or write a simple script to diff the output against what's expected.
22:14 nnunley Sorry.  Gotta run...  Good luck.
22:14 stevan nnunley: thanks, later
22:20 lightstep has quit IRC ("wow, 3/3 already")
22:27 sorje has quit IRC (Remote closed the connection)
22:28 nothingmuch in regards to helping pugs out, i guess i'll start with tests
22:28 nothingmuch should I port perl 5 tests?
22:28 nothingmuch write new ones based on synopses etc?
22:29 nothingmuch what is the norm?
22:35 kwikibot has joined #perl6
22:36 rafl has quit IRC (Remote closed the connection)
22:36 ingy hope the kwikibot still works :\
22:36 rafl has joined #perl6
22:37 ingy hmmm. kwikibot test failed
22:38 kwikibot has quit IRC (Remote closed the connection)
22:39 stevan nothingmuch: I have been writing tests based on the synopsis mostly
22:39 stevan nothingmuch: and anything else i find
22:40 stevan nothingmuch: a number of the tests can be expanded as well
22:40 nothingmuch stevan: anything specific in mind? that sounds like a good start
22:41 stevan nothingmuch: you could try the new readline and open features
22:41 stevan nothingmuch: I think they did them yesterday (taiwan time that is, last night for me)
22:41 kwikibot has joined #perl6
22:42 stevan nothingmuch: autrijus will probably be up soon too, you can always ask him
22:42 nothingmuch . o O ( I wonder why colloquy is not scrolling down properly )
22:42 nothingmuch i will probably be asleep shortly
22:42 nothingmuch i would like to it
22:42 nothingmuch and fit in 20 minutes of bass time before bed
22:43 stevan nothingmuch: I am going to get some food myself ...
22:43 rafl has quit IRC (Remote closed the connection)
22:43 rafl has joined #perl6
22:45 iblechbot has quit IRC (Connection timed out)
22:48 rafl has quit IRC (Remote closed the connection)
22:49 pbuetow has left "Leaving"
22:50 rafl has joined #perl6
22:50 nothingmuch has quit IRC ()
22:55 rafl has quit IRC (Remote closed the connection)
22:55 rafl has joined #perl6
23:00 nothingmuch has joined #perl6
23:01 nothingmuch i can't find the documentation for open
23:01 kwikibot has quit IRC (Remote closed the connection)
23:01 nothingmuch no synopses mention IO
23:02 buu Larry posted some stuff saying basically
23:02 stevan nothingmuch: the general assumption is that if its not mentioned, its the same as perl5
23:02 buu $foo = open ("bar"); $foo->print();
23:02 buu stevan: Not true in this case =]
23:02 stevan buu: I stand corrected :)
23:02 nothingmuch i tried tradition, it failed me ;-)
23:03 buu Is open implemented yet?
23:03 * stevan goes to get some pizza &
23:03 stevan buu: per autrijus's last use.perl journal it is
23:03 buu Hrm
23:03 buu Ya know, I'm strongly considering using the dreaded xml for documentation
23:04 kwikibot has joined #perl6
23:06 * mugwump garotts buu
23:06 nothingmuch can i get a list of known function sigs?
23:08 mugwump presumably from $($?PACKAGE):: or something like that?
23:08 buu nothingmuch: Read the source!
23:08 kwikibot has quit IRC (Remote closed the connection)
23:08 nothingmuch gently!
23:08 ingy ok, I'll get this bot working elsewhere
23:09 ingy :(
23:09 buu ingy: What does it do?
23:10 ingy notifies of pug's wiki updates
23:13 buu Great!
23:14 nothingmuch eval '$bad = open "__inexistent_file__"';
23:14 nothingmuch this doesn't seem to suppress the error
23:14 nothingmuch am I missing something?
23:15 buu try ?
23:15 buu eval { }?
23:15 nothingmuch not there yet
23:16 buu No idea.
23:16 buu Oh, how are you checking for the error?
23:16 buu Are you perhaps printing the output of eval?
23:16 nothingmuch eval { } is ok
23:16 nothingmuch i saw eval '' all over the place
23:16 buu as in, my $x = eval "open 'foo'"; print "done"
23:16 nothingmuch so i sort of assumed
23:17 buu nothingmuch: Did you understand what I just said?
23:17 nothingmuch oops, sorry, missed that
23:18 nothingmuch err, no
23:18 nothingmuch i was not printing
23:18 nothingmuch eval was in void context
23:18 nothingmuch my $bad;
23:18 nothingmuch eval { $bad = open "__inexistent_file__" };
23:18 nothingmuch ok(!$bad, "bad is not");
23:18 nothingmuch this is ok
23:18 buu oh
23:18 nothingmuch but tr/{}/'/s will not be happy
23:19 buu So submit a bug about eval ''
23:20 nothingmuch maybe it's notabug
23:21 nothingmuch i have to be more familiar to make such decisions
23:21 nothingmuch these have been my first 10 minutes pugsing
23:21 nothingmuch buu: can you point me to the thread about open?
23:22 buu nothingmuch: It was the 'perl 5 annoyances' on perlmonks. Meditations.
23:22 nothingmuch gratz
23:25 Limbic_Region has joined #perl6
23:26 nothingmuch hola L~R
23:26 Limbic_Region salutations
23:26 buu Limbic region!
23:27 Limbic_Region . o O ( <sing>where everyone knows your online handle</sing> )
23:27 buu Yeah
23:35 * nothingmuch is trying to hack in a prefix unary wopen
23:35 nothingmuch since open is currently (appearantly prefix unary, and gets no mode data
23:35 nothingmuch and is always readonly
23:35 nothingmuch i managed to get wopen to work
23:35 nothingmuch but open doesn't
23:36 nothingmuch i just duplicated open's 3 lines... what could it be?
23:41 nothingmuch oi
23:41 nothingmuch i think eval is a no op
23:41 nothingmuch good night everyone
23:43 Limbic_Region TTFN nothingmuch
23:43 nothingmuch has quit IRC ()

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs