Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-09-02

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:04 diakopter there is Devel::Size.  I wonder if it discounts self-nested references, like Data::Dumper
00:15 justatheory joined perl6
00:17 TreyHarris can somebody with a working pugs svn checkout help me out with something?  should only take a minute or two....
00:17 markstos feather needs a little help from audrey or an admin. Running pugs there returns: "user error (Incompatible version number for compilation unit
00:17 markstos Consider removing /usr/local/lib/perl6/Prelude.pm.yml and make it again"
00:17 plisk__ joined perl6
00:17 markstos TreyHarris: I'll try {}.
00:17 TreyHarris markstos: yes, gaal was looking for sudo to fix it himself, but he didn't find it
00:17 TreyHarris markstos: what OS are you building under?
00:18 markstos I'm on feather, (Linux), but also have an older pugs on FreeBSD, which doesn't have Parrot or Perl5 support.
00:18 TreyHarris oh
00:18 TreyHarris well, if feather's pugs doesn't work, and that's what you're using, i think we're not going to get anywhere :-)
00:19 markstos "looking for sudo" ? I assume you mean looking for some kind of access rights, not  looking for the binary, which is /usr/bin/sudo
00:19 TreyHarris looking for sudoers access
00:20 markstos pugs works on feather, it's just a warning that slows things down a wee bit and is annoying.
00:20 TreyHarris yeah, without parrot or perl 5, your BSD won't help me either, as there's a couple regexps in the script i wanted you to try
00:21 TreyHarris ah, ok, in that case, try running util/test_loh_segfault.pl
00:21 TreyHarris (i committed it in r12932)
00:21 markstos It just printed out some instructions...
00:22 TreyHarris follow them :-)
00:22 markstos segfault.
00:23 TreyHarris email me the yaml please when you're done?
00:26 markstos TreyHarris: sent, from my feather account.
00:26 markstos It said "success: y", where I guess success is defined as segfaulting...
00:28 markstos ?eval my @a = ( { a => 1}, { b => 2 } ); say @a.perl;
00:28 evalbot_12929 is now known as evalbot_12934
00:28 evalbot_12934 user error (Incompatible version number for compilation unit Consider removing blib6/lib/Prelude.pm.yml and make it again ) OUTPUT[[{("a" => 1),}, {("b" => 2),}] ] Bool::True
00:29 markstos TreyHarris: I think it's something about the interactive pugs, since it is segfault-free, otherwise.
00:29 azr|elious is now known as azr|el
00:30 TreyHarris markstos: thank you :-)
00:30 TreyHarris yes, "success in duplicating the segfaulting issue" :-)
00:31 TreyHarris interesting, in your yaml, were the last three ? items (pugs_revision, success, uname) all indented farther to the right than the other items?
00:31 aufrank joined perl6
00:32 aufrank hi hi
00:32 markstos TreyHarris: probably not. It was probably pasting into vim that did that.
00:32 TreyHarris ah, ok
00:32 TreyHarris thanks
00:32 markstos TreyHarris: This fails too: pugs -e 'say ({a => 1}, {b => 2}).perl'
00:32 markstos By failure, I mean "fails to reproduce the segfault issue"
00:33 markstos success: f
00:33 TreyHarris yeah, i spent some hours looking for some way to reproduce it non-interactively, since obviously that is a very non-optimal way to test
00:33 TreyHarris hmm.  i suppose i could probe for Expect, and use that....
00:33 * TreyHarris hrms
00:35 markstos TreyHarris: But if it's reproducible on feather, it will be easy for audrey and and a number of others to work with it.
00:40 TreyHarris guess so.  since gaal couldn't reproduce it, i thought maybe gathering info on OS, GHC, etc. might be helpful
00:53 markstos In Perl 5, I could say "$meth->$name". Even after re-reviewing S12, I'm having trouble finding something that works like $meth.$name in Perl6. hints ?
00:55 TreyHarris um... i'm confused.  $meth is a reference to a method, and $name is... what?
00:56 markstos A method name.
00:56 markstos But it's determined at run time, so it I can't just be $meth.something_concrete.
00:57 TreyHarris huh, i've never seen that before.  so you'd have "sub foo... my $f = \&foo; my $foo = "foo" ... $f->$foo"?  and what would that do?
00:57 wolverian markstos, do you mean $obj->$meth?
00:57 markstos Yes!
00:57 markstos Sorry.
00:58 wolverian hm. I don't know. any tests for it?
00:58 TreyHarris oh.  IIRC, that was one of the first questions you asked when you arrived on #perl6. :-)  maybe you didn't understand the answer then?
00:59 markstos Or I have a short memory
00:59 markstos Trey who?
00:59 markstos ;)
00:59 markstos Please freshen my buffer.
01:03 TreyHarris ?eval class Point { has $.x is rw; has $.y is rw; method dist { sqrt($.x**2 + $.y**2) } }; my $meth = &Point::dist; my Point $p .= new(x => 2, y => 3); say $meth($p:);
01:03 evalbot_12934 user error (Incompatible version number for compilation unit Consider removing blib6/lib/Prelude.pm.yml and make it again ) OUTPUT[3.605551275463989 ] Bool::True
01:03 TreyHarris make sense?
01:03 wolverian I'm not sure why $p.$meth wouldn't work
01:03 wolverian (but it doesn't)
01:04 TreyHarris $meth($p:)
01:04 wolverian yes, I am not blind, thanks. :-)
01:04 wolverian I am just wondering about the other syntax.
01:05 TreyHarris wolverian: sorry, i was giving that as markstos's answer, not correcting you.
01:05 wolverian oh, sorry, then.
01:05 aufrank does $p: $meth; work?
01:05 markstos TreyHarris: Thanks. testing now.
01:06 TreyHarris $p.$meth doesn't work because $meth could potentially be anything, maybe a reference to a sub or a method even outside of $p's class
01:06 wolverian aufrank, that makes no sense, I think.
01:06 TreyHarris so we have to call it as a subroutine, not as a method
01:06 TreyHarris using the colon to force $p to be taken as invocant
01:07 markstos TreyHarris: Yes, I recognize the use of the colon for that purpose now.
01:07 markstos My own test isn't working, though. I'm reviewing what I might be doing differently now.
01:08 markstos I figured it out. "$p" has to be a coderef, not just a scalar as can be the case in Perl5.
01:08 aufrank wolverian: no sense why?
01:09 TreyHarris markstos: $p a codref?  no, $p must be an object, and $meth must be a routineref
01:09 TreyHarris or rather, $meth must be Routine, and $p must be consistent with $meth's invocant's type
01:09 markstos TreyHarris: Sorry, I was using Perl5 spec. That's what I meant.
01:10 markstos s/spec/speak/
01:10 TreyHarris and you swapped your varnames again ;-)
01:10 TreyHarris back in a few &
01:11 markstos We all have our strengthnesses and weaks.
01:13 wolverian weaknesses
01:13 wolverian er
01:14 wolverian yeah, mine is being blind to irony.
01:14 markstos :)
01:19 markstos Here's what I was looking for. By using a symbolic reference, the $meth can be a scalar, rather than a Routine.
01:19 markstos ?eval class Foo; method foo () { say "found!"; } my $obj = Foo.new; my $rm = 'foo'; &::($rm)($obj:);
01:19 evalbot_12934 user error (Incompatible version number for compilation unit Consider removing blib6/lib/Prelude.pm.yml and make it again ) OUTPUT[found! ] Bool::True
01:23 kanru joined perl6
01:26 aufrank markstos: why's it so important that you use $meth = 'foo' and not $meth = { say "found!" }  ?
01:26 aufrank (curious, not dubious)
01:27 markstos This is the dispatch system of CGI::Application. Ther defines the strings that correspond to the possible methods that can be dispatched.
01:28 markstos s/Ther/The user/
01:28 aufrank I see
01:28 markstos To turn the strings into code references beforehand would be more work.
01:29 aufrank I know you've been looking at the given/when construct... could users define possible method names there, along with blocks?
01:29 markstos But this is a prefect use of symbolic references in Perl6, so I'm happy.
01:29 markstos I haven't tried,
01:29 markstos and I'm not familiar enough the spec to say for certain.
01:29 aufrank given $input { when <foo> { say "found!" }; when bar { say "want a pint?" } }
01:30 aufrank s/bar/<bar>/
01:31 markstos so you are suggesting using given/when as a dispatch system for this case ?
01:32 aufrank just wondering if it would work
01:32 markstos It might. I'm happy with the symbolic ref solution for now. I don't see any drawbacks to it.
01:33 aufrank yeah, I think the way that the given/when dispatch would fit in would be complementary to your approach, not replace it
01:33 markstos Ah.
01:34 aufrank if you had certain method names that you wanted to provide defaults for, you could dispatch to those specifically, and then your fallthrough could be the symbolic ref approach
01:34 markstos But there is one default, called AUTOLOAD, and I've already handled that case.
01:35 markstos I used the !! ?? construct to handle that part.
01:35 aufrank makes sense
01:37 aufrank just for completeness sake, this is what I'm thinking of (I think).  given $input { when <known_argument> { say "this one is built in" }; default { &::($_)($input:);} ; }
01:38 markstos I see.
01:38 aufrank just wanted to work through it for my own sake ;)
01:50 markstos If I call routine(self:), it should still find "routine" even if it's in a parent class, since 'self' is the invocant, right ?
01:53 markstos I think it should, so I'll write a test. :)
02:03 markstos Ok. I committed  a new failing test. From a grep, it seemed there weren't other tests for the interaction between symbolic refs and OO.
02:03 svnbot6 r12935 | markstos++ | Commit test: &::($meth)(self:) should find method in parent class
02:03 svnbot6 r12935 | markstos++ | This test could use a peer review for spec-compliance.
02:08 Limbic_Region joined perl6
02:09 etzel joined perl6
02:09 Limbic_Region !seen audreyt
02:09 Limbic_Region seen audreyt
02:09 markstos ?seen audreyt
02:09 lambdabot audreyt is in #perl6 and #haskell. I last heard audreyt speak 11 hours, 37 minutes and 11 seconds ago.
02:10 Limbic_Region hrmm, I was hoping she would be online by now
02:10 * Limbic_Region is inches away from getting Pugs to compile with ghc 6.6 rc
02:22 weinig is now known as weinig|zZz
02:39 ludan left perl6
02:44 kanru joined perl6
02:51 audreyt lisppaste3: pong
02:51 audreyt er
02:51 audreyt Limbic_Region: pong
02:57 obra 'morning ms tang
02:59 obra I have to ask: did you actually have jifty stuff _localizing_ to false values?
03:04 audreyt lunch, bbiab :)
03:04 audreyt yes, 0 localizes to 0, and one thing I localize to ''
03:04 audreyt to hide it from display
03:08 obra hah
03:08 obra but 0->0 should have worked with the existing setup
03:08 obra I appreciate the patch though
03:08 obra (schwern and I had debated it before I implemented, so Iwas amused)
03:09 obra Localizing __Foo Bar__ was exploding Lcoale::Maketext
03:25 svnbot6 r12936 | autrijus++ | * Fix building on GHC 6.4.1 + PowerPC OSX by forcing a separate ranlib phase after installation.  This is suboptimal but will work.
03:32 justatheory joined perl6
03:41 SubStack joined perl6
03:43 peacock joined perl6
04:56 Teratogen myspace, schmyspace
05:00 audreyt peacock: I just fixed the OSX ppc
05:00 audreyt it now builds again on pristine GHC 6.4.1 here
05:00 audreyt can you try r12936?
05:01 peacock i'm way ahead of you  - i saw the svnbot  note and i'm building now
05:01 peacock :)
05:01 audreyt nice :)
05:02 peacock my machine's not too fast and its 1:00 AM in  EST so I won't  see the results until  to tomorrow
05:02 audreyt "make fast"
05:02 audreyt but that may be detrimental to your sleeptime
05:02 audreyt so go sleep already :)
05:03 peacock hehe - yeah i better
05:03 peacock thanks for your help btw
05:03 audreyt no prob -- thanks for your report
05:04 peacock i'll  drop  by tomorrow night and let you know how it came out
05:04 audreyt okie. I did duplicate the failure mode and have a working pugs here
05:04 audreyt so unless our setup differ in subtle ways, it should work for you also
05:04 peacock sweet
05:05 peacock *goes zzzzz*
05:05 audreyt sleep well
05:05 audreyt oh, did you have a commit bit?
05:18 m1chael joined perl6
05:31 gaal morning
05:50 takanori joined perl6
05:51 takanori_ joined perl6
05:55 gaal audreyt: [try]?followedBy has its args in the reverse order, as far as my intuition goes. why? is a curried version used somewhere?
05:55 gaal that is, for golf this looks natural: followedBy whiteSpace $ blah
05:56 gaal ah, I see it's used infix in one place. mind if I switch it over?
05:57 gaal .oO( it's also against the order of other combinators like sepBy, so maybe not? )
06:02 audreyt sure, switch it over
06:02 gaal I think sepBy etc. changed my mind :)
06:03 gaal did you see my Q about Dog ::T $fido?
06:03 gaal how is that expressed in Param?
06:03 gaal currently we have a [Type] member, but nothing else that looks pertinent
06:04 gaal also: in named-only param  :moo, the p_label is 'moo', what's the p_variable?
06:06 takanori_ joined perl6
06:13 gaal looks like a problem right? because how to allocate the storage class?
06:23 svnbot6 r12937 | gaal++ | * Pugs.Param: improve readability of ruleParam with declarative style
06:25 gaal ah, S06/Named parameters answers my Q about varname...
06:26 gaal but am I right in assuming '$' is the default sigil when the programmer doesn't supply a varname?
06:30 aufrank gaal: that's how I remember it
06:31 takanori joined perl6
06:35 ingy nothingmuch: ping
07:03 kasei joined perl6
07:16 audreyt gaal: I wonder if gen_prelude can detect for compunit vers
07:17 audreyt and if it's there, then force regen as part of "make"
07:17 audreyt sane?
07:17 audreyt (this is so that evalbot won't complain)
07:18 gaal perl -le '<>; print $1 if ($_ = <>) =~ /^- (\d+)/' blib6/lib/Prelude.pm.yml
07:19 gaal => 5
07:20 axxsa joined perl6
07:20 axxsa omfg... www.groomgle.com just released a public gmail hack, lets you easily manipulate you're google page rank... who should i contact???
07:21 gaal audreyt: is it reasonable to rewrite ruleParam like this, or should I schlep ruleFormalParam and convert the result?
07:21 gaal this is a general question about Parser remoosing, I guess
07:21 gaal in the long run reqriting is called for, no doubt
07:22 axxsa left perl6
07:22 gaal I read "force regen as part of make" as "rm the stale compiled version" :-)
07:24 gaal question is if we want to make "the latest compunit version" something more robust than
07:24 gaal perl -nle 'print $1 if /^compUnitVersion = (\d+)/' src/Pugs/AST/Internals.hs
07:25 gaal BTW, lexical question about haskell: in one of my cleanups, I wanted to write:
07:25 gaal let p = MkParam
07:25 gaal    { ...
07:25 gaal    }
07:25 gaal but that wouldn't compile! ghc thought I was ending the do-block with something that wasn't an expression
07:26 gaal I had to rewrite that as
07:26 gaal let p = MkParam {
07:26 gaal                ...
07:26 gaal                }
07:26 gaal Why?
07:27 gaal Is this a layout bug? :)
07:27 ayrnieu that does seem odd, I thought the { } were for overriding the normal indentation style.  Well, did you try the latter with } as in K&R ?
07:28 gaal ayrnieu: in this case it's for record fields spec.
07:28 gaal k&r doens't really work in haskell :)
07:28 audreyt let p = MkParam
07:29 audreyt    q = 1
07:29 audreyt vs
07:29 audreyt let p = MkParam
07:29 audreyt    { ... }
07:29 audreyt the layout rule can't distinguish between them
07:29 audreyt so it requires continuation lines to at least be idented 1spc more
07:29 audreyt let p = MkParam
07:29 audreyt     {...}
07:29 xerox let p =
07:29 xerox    mkParam { ...
07:29 xerox Maybe this buys you something.
07:29 gaal aw, that's subtle.
07:32 * audreyt tries pugs vs strawberry 2
07:32 audreyt tonight I'll meet my new macbook :-(
07:32 xerox Why ':(' ?
07:33 gaal newMac = drop oldMac
07:33 audreyt lol
07:33 xerox Oops :)
07:33 audreyt so I'll have a spare battery, a spare LCD
07:33 audreyt and some spare fragile RAMs
07:33 audreyt *pouts*
07:33 * ayrnieu bought a Zaurus 3200, yesterday :-)
07:34 audreyt oooh
07:34 audreyt I'd like one too, but my electronics toys budget just disappeared
07:34 * gaal wonders how soon those things will be able to handle ghc
07:35 audreyt I know hugs runs on zaurus
07:35 audreyt GHC probably runs also, I think
07:35 audreyt there's ARM-Linux port
07:35 gaal 64mb ram?... probably walks. slowly
07:35 xerox I think they were having some kind of weird problems with GHC on ARM
07:35 audreyt GHC runs on nokia 770
07:35 audreyt but there's weird floating point off-by-ones I think
07:35 xerox That's a fun device!
07:36 * xerox played with shapr's one hehe
07:36 audreyt gaal: "cross compile"
07:37 gaal audreyt: my pugs has almost 40mb virt, i suppose it might run on such a platform...
07:38 gaal 54 once i use Test
07:38 gaal oy, 'use' from interactive pugs is pretty ugly
07:38 audreyt it is
07:39 audreyt technically correct but ugly
07:39 audreyt improve the Pretty instance?
07:39 gaal what is 'sub {Syn "block" ...' ?
07:39 gaal how did the sub come about there?
07:40 gaal I think it's better to leave the Pretty as it is, and catch it in the interactive elk.
07:42 audreyt oops, I though you were talking about
07:42 audreyt pugs> pugs> use perl5:Test
07:42 audreyt macro {Prim ([Pugs.AST.Internals.Val] -> () Pugs.AST.Internals.Val)}
07:42 audreyt the Syn "block" thing shouldn't go back here.
07:42 iblechbot joined perl6
07:42 gaal just 'use Test'
07:43 xerox () Val ? Yuck.
07:43 gaal i should go get some breakfast... bbiab &
07:44 * xerox groans
07:44 audreyt instance Typeable1 (EvalT (ContT Val (ReaderT Env SIO))) where typeOf1 _ = typeOf ()
07:45 audreyt which is, of course, entirely bogus, but works fine...
07:45 * xerox 's heart explodes
07:46 audreyt SIO btw is a union of other three monads
07:46 xerox That's nice :)
07:46 xerox What do you use that instance for?
07:46 audreyt actually I think it's a pretty clever hack and generally useful
07:46 audreyt it lets you mix pure, STM, and IO actions
07:46 audreyt and enter/leave "runlevels"
07:46 audreyt which will reject unsafe-in-that-level actions at runtime
07:47 audreyt data SIO a = MkSTM !(STM a) | MkIO !(IO a) | MkSIO !a
07:47 audreyt the six-layer monad is pugs's main Eval monad
07:47 audreyt all runtime happens under there
07:47 audreyt and since pugs supports thunks
07:47 audreyt (in the haskell sense)
07:48 audreyt (Eval Val) is a first class value that must be typeable
07:48 xerox Ah.
07:48 xerox You want full power.
07:48 audreyt yes.
07:48 audreyt as spj puts it
07:49 audreyt "adding in feature to GHC is like throwing raw flesh to hyenas"
07:50 xerox haha
07:50 xerox I am so excited about the Hackaton.
07:51 xerox I hope sometime it'll be possible to -Ofun ghc ``easily'' !
07:51 audreyt you going there?
07:52 xerox Nope :(
07:52 audreyt oy :/
07:52 xerox Yarrr! :(
07:52 audreyt so your Cabal hacks made into GHc 6.6?
07:52 audreyt including cabal-install?
07:52 xerox I think it will not.
07:52 xerox Hrmpf.
07:52 audreyt oh, we have another year or so to work around the subtle bugs of a pre-alpha design?
07:53 audreyt j/k :)
07:53 xerox hehe
07:53 audreyt JaffaCake's chglog indicates cabal-install is in
07:53 xerox Well, it isn't tested enough to be released anyway
07:53 audreyt hence my question
07:53 xerox Really?
07:53 xerox I asked him but I didn't know if he did it
07:53 audreyt let me check...
07:53 xerox I thought I was going to push them as soon as I got darcs access, which I haven't yet
07:54 xerox That's a good thing
07:55 * xerox checks something too
07:58 xerox If he commited my patches, anyway, they just miss one (multi-server)
08:00 turrepurre joined perl6
08:01 audreyt chglog:
08:01 audreyt #
08:01 audreyt Added cabal-setup, a user interface to building and installing Cabal packages.
08:01 audreyt #
08:01 audreyt Added cabal-install, an automated installer for cabal packages.
08:01 audreyt but reality is that only cabal-setup is in bin/
08:01 xerox :(
08:01 xerox Where do you read that?
08:04 audreyt both in the 0901 win32 bindist
08:05 xerox Ah.
08:05 xerox It will not work on win32 now.
08:05 xerox It depends on a tar binary :/
08:06 xerox I am now doing cabal-put
08:06 audreyt k
08:06 audreyt uhm
08:06 xerox But I can roll up a all-haskell implementation of tar
08:06 audreyt ghc can very easily ship tar binary
08:06 xerox That works for the purposes of cabal-install
08:06 audreyt it does for ar.exe and so on
08:06 xerox can it? hm!
08:06 xerox Then we could ship cabal-install I think
08:06 * xerox hacks up cabal-put faster so people try it on monk adding their packages
08:07 nothingmuch oosem
08:07 xerox In fact people could have used it before, but nobody seem to have looked at cabal-devel mails
08:07 xerox Sigh.
08:21 penk joined perl6
08:32 audreyt I can't believe I'm working around dmake bugs for an hour now :/
08:33 audreyt (to get pugs build under strawberry)
08:36 audreyt finally done.
08:51 svnbot6 r12938 | audreyt++ | * very sad, very sick fix for dmake and strawberry. don't even ask. :-/
09:00 svnbot6 r12939 | audreyt++ | * dmake is very picky about .svn/entries not existing, so we kluge some more.
09:03 clkao aaaaahh
09:04 b_jonas joined perl6
09:18 elmex joined perl6
09:24 svnbot6 r12940 | audreyt++ | * refactor $AR_EXE in util/build_pugs.pl to save perl/ghc disagreement on $ar placement
09:24 audreyt Pugs now works with embedded strawberry.
09:24 xerox haha
09:25 xerox I wonder what does it mean.
09:25 audreyt # http://www.vanillaperl.com/
09:25 lambdabot Title: Vanilla Perl
09:25 audreyt it means it now works with the MinGW based community-maintained perl 5 distribution of choice :)
09:25 xerox Aha!
09:25 xerox ✌
09:26 audreyt and we don't even need the kluges to work around cl.exe calls for ActivePerl, yay.
09:26 xerox ☺☻
09:26 audreyt (back story: on win32, the leading binary perl distribution is activeperl)
09:26 audreyt which has for a long time mandated installation of visual c++
09:27 xerox Strawberry is a nice name.
09:27 xerox Eeck!
09:27 audreyt which doesn't quite work with GHC's idea of the world
09:27 audreyt but recently they implemented MinGW compatibility
09:27 audreyt so we can now work with ActivePerl
09:27 audreyt but it requires quite a bit of kluges
09:27 audreyt strawberry/vanilla is community maintained, entirely MinGW based distro
09:27 xerox I wonder what do you do in pugsese for mif :: m Bool -> m () -> m () :D
09:27 audreyt and uses exactly the same set of tools as GHC
09:28 xerox Nice to know!
09:28 audreyt er, I see that dons has checked in the same forM and forM_ into base
09:28 audreyt yesterday
09:28 audreyt which broke pugs ;) (conflicting import)
09:28 xerox haha
09:28 xerox ?type when
09:28 lambdabot forall (m :: * -> *). (Monad m) => Bool -> m () -> m ()
09:28 xerox ?type unless
09:28 lambdabot forall (m :: * -> *). (Monad m) => Bool -> m () -> m ()
09:28 xerox Those take Bool, not m Bool :(
09:29 audreyt well, if spj fixes the layout rule
09:29 audreyt so that you can write
09:29 audreyt if foo then do
09:29 audreyt ...
09:29 audreyt else do
09:29 audreyt ...
09:29 audreyt then mif doesn't win much, no?
09:29 xerox It's just to avoid
09:29 xerox do ok <- amb
09:29 xerox   if ok ...
09:30 audreyt action >>= \ok -> if ok ...
09:30 audreyt but yeah. doesn't see obvious use in pugs
09:30 xerox     ok <- doesFileExist path
09:30 xerox     unless ok $ error $ printf "File does not exist: %s" path
09:30 xerox No idea..
09:33 xerox     doesFileExist path >>= \ok -> unless ok $
09:33 xerox       error $ printf "File does not exist: %s" path
09:33 xerox '>>= \ok -> unless ok $'  =  'or die'
09:44 xerox audreyt: <http://www.renmenven.org/tooncas​t/2006/01/07-little-audrey.html> heheh
09:49 gaal remoose
09:55 buetow joined perl6
10:05 xerox joined perl6
10:26 ludan joined perl6
10:27 ludan hi
10:29 xerox Hello.
10:34 DaGo joined perl6
10:45 reZo joined perl6
10:53 ludan xerox: !
10:53 xerox ¡
10:53 ludan xerox: are you from italy?
10:54 xerox That's right sir.
10:54 ludan eheh
10:54 xerox .nl, but I see an italian name...
10:54 ludan yes because i'm living in the netherlands for a short period of 6 months
10:55 ludan but i'm a truly italian :)
10:55 xerox So nice! I wanted to go study there. But it'll probably happen next year.
10:55 ludan tudelft?
10:55 xerox Utrecht.
10:55 ludan cool
10:55 xerox They've got some bright Haskell people there %-)
10:55 ludan that city is full of nice girls ;)
10:56 xerox Yarrr.
10:56 ludan where do you live in italy/
10:56 xerox Turin.
10:56 ludan subject?
10:57 xerox Mathematics. Starting this year.
10:57 ludan auguri :)
10:57 xerox Grazie :D
10:57 xerox What brings you here in pugsland?
10:57 ludan i'm a good lurker :)
10:57 xerox Do you come from the lambda or the camel side of the river?
10:58 ludan the camel side for sure
10:58 ludan and you?
10:58 xerox The λ one :)
10:58 ludan functional dude!
10:58 * xerox stretches ... quite!
10:59 plisk joined perl6
11:25 markstos joined perl6
11:28 elmex joined perl6
11:59 ludan ♪
12:00 Juerd gaal: pong; done.
12:02 GeJ joined perl6
12:02 onsen joined perl6
12:19 gaal Juerd: thanks.
12:20 onsen_ joined perl6
12:25 xerox joined perl6
12:33 weinig|zZz is now known as weinig|bbl
12:35 markstos So, I just want to copy an array from a hash key to a plain array. I was surprised this doesn't work:
12:35 markstos ?eval my %h = ( a => @( 'c', 'd' ),); my @a = %h<a>; say @a.perl;
12:35 evalbot_12934 is now known as evalbot_12940
12:35 evalbot_12940 OUTPUT[[["c", "d"],] ] Bool::True
12:35 markstos ..it puts both elements in the first slot in the array.
12:36 markstos Maybe I need: @a = [,]%h<a> ? (unimplemented?)
12:37 ayrnieu ?eval my %h = (a => @('c','d')); my @a = @{%h<a>}; say @a.perl
12:37 evalbot_12940 Error:  unexpected "(" expecting "::"
12:37 * ayrnieu shrugs.
12:38 markstos This works, with an extra steps that seem unnecessary:
12:38 markstos ?eval my %h = ( a => @( 'c', 'd' ),); my $aref = %h<a>; my @b = @$aref ; say @b.perl;
12:38 evalbot_12940 OUTPUT[["c", "d"] ] Bool::True
12:39 ayrnieu my @a = @%h<a>; doesn't work similarly?
12:39 markstos ?eval my %h = ( a => @( 'c', 'd' ),); my @c = @%h<a>; say @c.perl;
12:39 evalbot_12940 (no output)
12:39 markstos (segmentation fault...)
12:39 ayrnieu fascinating.
12:40 markstos Tha's one word for it...
12:41 audreyt uhm.
12:41 audreyt you want @(%h<a>)
12:41 audreyt @%h<a> means something else
12:41 lambdabot Unknown command, try @list
12:41 audreyt namely (@%h).<a>
12:41 clkao moose
12:42 markstos audreyt: Should I submit a test for the segfault above ?
12:42 markstos And thanks for the help!
12:42 buubot kack!
12:43 audreyt sure, commit a test
12:43 audreyt it's expected to fail
12:43 audreyt but not to segfault, obviously
12:43 markstos confirmed to work:
12:43 markstos ?eval my %h = ( a => @( 'c', 'd' ),); my @c = @( %h<a> ); say @c.perl;
12:43 evalbot_12940 OUTPUT[["c", "d"] ] Bool::True
12:44 audreyt aye. sigil invariance means that when you append prefix sigils
12:44 audreyt it's always binding tighter than postfix method calls
12:44 audreyt as it's considered part of the "var name expression", so to speak
12:44 markstos translation? :)
12:45 audreyt $$x.foo always means ($$x).foo not $($x.foo)
12:45 audreyt and %h<a> is simply %h.<a>
12:45 markstos Ah. Got it.
12:45 ayrnieu ?eval my @c = @(@('c','d')); say @c.perl
12:45 evalbot_12940 Error:  unexpected "(" expecting "::"
12:46 audreyt @('c','d') is suspicious too
12:46 lambdabot Unknown command, try @list
12:46 audreyt you sure you don't mean ['c', 'd'] or just <c d> ?
12:46 audreyt @(1,2) I think just means (1,2).
12:46 lambdabot Unknown command, try @list
12:47 ayrnieu here, I mean [<c d>], but I don't know why markstos used it.
12:47 markstos I started with just <c d>, but that didn't work, so I tried other things. I'll try <c d> again, since that didn't seem to be the problem.
12:47 audreyt yeah
12:48 audreyt bbiab...
12:48 markstos Works:
12:48 markstos ?eval my %h = ( a => <c d>); my @c = @( %h<a> ); say @c.perl;
12:48 evalbot_12940 OUTPUT[["c", "d"] ] Bool::True
12:55 plisk joined perl6
12:57 svnbot6 r12941 | markstos++ | Adding failing test for @%(a => <b>)<a>, which segfaults.
13:04 larsen joined perl6
13:10 markstos When I try to do the hash / array assignment in this slightly more complex case, using @( %h<a> ) no longer seems to work:
13:10 markstos ?eval class Foo { has @.a is rw; method param (*%h) {   @.a = @( %h<key> ); self; } } my @f = Foo.new.param( key => <c d>).a; say @f.perl;
13:10 evalbot_12940 is now known as evalbot_12941
13:10 evalbot_12941 OUTPUT[[["c", "d"],] ] Bool::True
13:13 * audreyt is still trying to fight with gnu ddrescue
13:13 hugues23 joined perl6
13:13 * markstos solved his own problem with:  my @f = @( Foo.new.param( key => <c d>).a );
13:13 audreyt oof. indeed in that case, the .a accessor should return the list in list context
13:13 audreyt not pretending that it's a scalar
13:13 audreyt that is a bug
13:13 audreyt I wonder if it's tested :)
13:13 markstos test coming. :)
13:13 audreyt but the @() forcecast will always work
13:14 audreyt even after this is fixed
13:14 audreyt so it's a sound workaround :)
13:14 markstos Good.
13:14 audreyt there's also spec (But not yet implemented) such that you can write
13:14 audreyt foo.bar.baz.@
13:14 audreyt to mean
13:14 audreyt @( foo.bar.baz )
13:14 lambdabot Maybe you meant: . v
13:14 markstos audreyt: Is there a recommend place to check for existing tests, or should I just poke around on my own.
13:14 audreyt which is further nice sugar
13:15 audreyt grep some keywords like "array" etc in t/oo/?
13:15 markstos Sigils on the right look strange.
13:15 markstos k.
13:15 audreyt it's okay to dup tests.
13:15 plisk joined perl6
13:15 markstos Good. :)
13:15 audreyt just make sure that it's smartlinked this time if you can :)
13:15 audreyt (since smartlink is our main weapon to fight test dup)
13:16 markstos Aha. Will try.
13:16 audreyt yay
13:16 * markstos forages for breakfast in $localtime.
13:16 * audreyt thanks ddrescue for sanity
13:16 audreyt as otherwise dd will take, oh, 5 days.
13:17 markstos dd, the lowlevel copy tool ?
13:17 audreyt yeah
13:17 audreyt my old macbook died with some bad sectors around its 80g hd
13:17 audreyt "old macbook" sounds like oxymoron. sigh.
13:18 markstos Yikes.
13:18 markstos so ddrescue copies even faster ?
13:18 markstos or something?
13:18 audreyt so this new one (exactly the same spec!) has 120g and I'm dd'ing the old one over with firewire
13:18 audreyt yes. it dynallocs blksz
13:18 audreyt so on bad sector it narrows down
13:18 audreyt and on good regions it ups the blksz
13:19 penk joined perl6
13:19 audreyt as you'd expect a sane tool to do :)
13:19 integral ddrescue++ # reverse copy!
13:19 markstos :)
13:19 audreyt reverse copy?
13:19 markstos do we need an audreyt laptop fund?
13:21 integral audreyt: copy from the other end of the drive so you can get the stuff beyond the hole (if the hole is very, very bad)
13:21 audreyt markstos: in the past five yeras I broke two compaq, three asus, two apple
13:21 audreyt three palms
13:21 audreyt one zaurus
13:21 audreyt so... ;)
13:22 clkao quote nothingmuch, "girl elegance"
13:23 nothingmuch ?
13:26 markstos so we need two funds ?
13:26 nothingmuch clkao: ?
13:27 markstos Or a TankBook fund ?
13:27 clkao nothingmuch: what audrey said
13:27 audreyt actually $job pays well enough that it's not a severe financial hit anymore
13:27 audreyt but it's still a nontrivial emotional hit :/
13:27 clkao *nod*
13:28 nothingmuch brb, phone
13:28 nothingmuch i don't see /lastlog eleg
13:29 audreyt probably around the same time irl when you told me to fetch you beers :)
13:29 audreyt in boston, that is
13:30 larsen is now known as lamas
13:31 audreyt yay, ddrescue thinks it will only take 4 hours.
13:33 lamas is now known as larsen
13:47 markstos_ joined perl6
13:56 ludan joined perl6
14:01 markstos_ btw, on feather, I still get "Incompatible version number for compilation unit" when I use pugs. Needs root/sudo access to fix.
14:01 markstos_ is now known as markstos
14:03 svnbot6 r12942 | markstos++ | Add test for: "my @f = Foo.new.param( key => <c d>).a;", with smartlink. failing.
14:03 svnbot6 r12941 | markstos++ | Adding failing test for @%(a => <b>)<a>, which segfaults.
14:04 yhsuan joined perl6
14:08 Limbic_Region joined perl6
14:12 miyagawa_ joined perl6
14:12 Limbic_Region ?seen audreyt
14:12 lambdabot audreyt is in #perl6 and #haskell. I last heard audreyt speak 41 minutes and 2 seconds ago.
14:13 Limbic_Region audreyt ping
14:14 audreyt pong
14:14 Limbic_Region so yesterday, gaal tried to convince particle and I to try the latest ghc snapshot
14:14 Limbic_Region as it was a 6.6 rc
14:14 Limbic_Region I told him it had been b0rk for some time
14:14 Limbic_Region but we went ahead and tried it anyway
14:14 Limbic_Region sure enough, it was b0rk - but in a new way
14:15 Limbic_Region for one, the headers aren't in the usual place
14:15 Limbic_Region no problem, just copy them
14:15 Limbic_Region next, they removed some libs that pugs depends on as extralibs
14:16 Limbic_Region hrm - problem as Win32 has binary distro and these extra libs are source only
14:16 Limbic_Region solution - use Cabal to install them
14:16 Limbic_Region that is after creating our own Setup.hs
14:16 Limbic_Region ok,  ready to try and compile Pugs
14:16 Limbic_Region gets through the first 95 steps no problem
14:16 Limbic_Region and begins its second pass
14:16 Limbic_Region and then it bombs out
14:16 Limbic_Region going to nopaste the error - see if it makes any sense to you
14:17 Limbic_Region btw - did you get the msg I sent you?
14:19 Limbic_Region hrm - going to take me a second to nopaste that as I did a realclean inadvertently
14:19 audreyt I did and I sent it to igloo
14:19 audreyt GHC's release manager
14:19 audreyt I'm on win32 now
14:19 audreyt still using 20060819 build
14:19 audreyt no problem at all
14:20 Limbic_Region oh, I was working with Igloo last night
14:20 audreyt oh. I didn't notice that
14:20 audreyt hopefully he didn't think my mail as rude then
14:20 Limbic_Region as well as eivoukko
14:20 audreyt since I just repasted your report :)
14:20 Limbic_Region doubtful
14:21 Limbic_Region they were both very intrigued and happy that I (well, we the pugs team) brought the issues forward
14:21 audreyt cool
14:21 Limbic_Region They were pretty sure the nightly build for Win32 was b0rk
14:21 audreyt yup
14:21 audreyt I used 0819 to work on strawberry and vanilla embedding
14:21 audreyt both now works as of tonight
14:22 audreyt activeperl still needs special handling
14:22 Limbic_Region ok - starting the build now - should take 10-15 minutes
14:22 audreyt in Makefile.PL
14:22 audreyt but vanilla/strawberry now builds using the same code as other unixes
14:22 audreyt and as such should remain stable without fiddling
14:22 Limbic_Region great
14:22 audreyt (I also downlaoded activeperl build 819)
14:22 audreyt and made sure it still works
14:22 Limbic_Region (xdg and team)++
14:23 audreyt indeed
14:23 Limbic_Region oh, 819 is out
14:23 Limbic_Region cool - Module::Build should work out of the box thanks to bart, Intrepid, and myself
14:23 larsen_ joined perl6
14:23 audreyt and PAR will work out of the box thanks of tsee
14:23 audreyt it's nice to see this coming together :)
14:23 Limbic_Region jan dubois is extremely responsive on the AS front
14:24 larsen_ is now known as larsen
14:24 audreyt I really like jand. he's probably the most important early PAR contributor
14:24 audreyt and yet he is author of PerlApp.
14:24 audreyt he went as far as clarify activeperl's license to make sure that PAR has no licensing problems :)
14:25 jferrero joined perl6
14:25 Limbic_Region wow
14:25 audreyt according to him, he wants people to buy perlapp based on merit and its nice UI
14:25 audreyt not because they are forced to or locked in
14:25 audreyt jand++ # very healthy attitude
14:25 Limbic_Region well, I am constantly suprised in this community by technical skill and willingness to give freely of oneself
14:26 Limbic_Region so anyway - the folks over in #haskell went silent the few times I asked about timeframe of fixing the Win32 binary build issues
14:27 Limbic_Region so for now, if we can get it working, we should add or update a win32.readme?
14:27 audreyt "a GHC 6.6 showstopper" or something
14:27 audreyt no... not really
14:27 audreyt 0819 is known to work
14:27 audreyt only because 0901 is broken, doesn't mean we need to adapt
14:27 audreyt 6.6 should work out of the box with pugs :)
14:28 Limbic_Region right
14:28 Limbic_Region except it isn't going to unless we have a few brave souls poking and prodding it
14:29 * markstos uses whatever is on feather
14:29 Limbic_Region presumably, the current ghc release is only b0rk on Win32 so you shouldn't have an issue markstos
14:29 audreyt Limbic_Region: exactly. and the fix should be twofold: rolling in extra-pkg into the final .msi
14:30 audreyt and add the include path in ghc's buildflags
14:30 markstos I'm just saying: If 6.6 were being used on feather, I would be testing with it by default.
14:30 audreyt I have no control on the former; the second one, I can probably help.
14:31 Limbic_Region audreyt - I am not yet convinced those are the only issues yet
14:31 Limbic_Region but yeah, I think your solution approach is the most sane
14:32 Limbic_Region Happy 1.15 won't build with GHC 6.5 (0819) or 6.6RC btw
14:32 Limbic_Region apparently some array bounds changed internally and lots of old programs broke
14:32 * Limbic_Region just thought he was doing something wrong again
14:32 Limbic_Region perlbot nopaste
14:32 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
14:33 pasteling "Limbic_Region" at 24.35.57.240 pasted "ghc 6.6 rc build failure" (69 lines, 3.6K) at http://sial.org/pbot/19421
14:35 audreyt er wow, it doesn't ship with ld.
14:35 Limbic_Region yes it does
14:35 Limbic_Region it is there
14:35 Limbic_Region notice the double \\
14:35 Limbic_Region that looks odd to me
14:35 * markstos just got basic integration with perl5:HTML::Template working with p6:CGI::Application
14:35 markstos !
14:36 audreyt hm
14:36 audreyt I need a more complete log
14:36 audreyt markstos: !
14:36 audreyt Limbic_Region: I need the lines starting at
14:36 audreyt GHC installation path: $ghc_inst_path\n
14:36 audreyt which should be near beginning
14:36 Limbic_Region audreyt - hrm, it doesn't give the full path so ....
14:37 Limbic_Region ok, you are on the same line of thought
14:37 Limbic_Region will hopefull nopaste if my buffer is long enough
14:38 audreyt 0819 still works, so it's 0909 specific
14:39 pasteling "Limbic_Region" at 24.35.57.240 pasted "full build output and some of perl Makefile.PL too" (997 lines, 48K) at http://sial.org/pbot/19422
14:39 Limbic_Region audreyt - oh, I agree but I am not sure it is a ghc problem or a pugs assumption
14:40 Limbic_Region as with the location of the header files
14:40 audreyt I got the fix.
14:40 * Limbic_Region kisses audreyt
14:40 * audreyt smiles
14:41 audreyt hmm wait
14:41 audreyt you put ghc 6.6rc1 into c:\ghc\
14:42 audreyt not c:\ghc\ghc-6.5.20060901 ?
14:43 svnbot6 r12943 | audreyt++ | * fix #1 for GHC 6.6-rc1 building on win32: use the same runcompiler for build_exe
14:43 Limbic_Region audreyt - yes
14:44 Limbic_Region one issue I had last night with 3 different ghc's
14:44 Limbic_Region 6.4.2, 6.5 (0819) and 6.6rc
14:44 audreyt if you put it into that dir, pugs should pickup it
14:44 Limbic_Region was that I accidently compiled some binaries from one with the other compiler and ended up spending time tracking down wild gooses
14:45 Limbic_Region hrm
14:45 Limbic_Region should it matter where I install ghc?
14:45 audreyt no
14:46 Limbic_Region ok so do I have to move where ghc is now to make your fix work?
14:46 audreyt no
14:46 audreyt let me think thru the implications
14:46 audreyt if you mkdir gcc-lib
14:46 audreyt in pugs workdir
14:46 audreyt and copy ld.exe from c:\ghc\gcc-lib there
14:46 Limbic_Region ok
14:46 audreyt does it suddenly work?
14:46 Limbic_Region this happened to us before remember
14:46 Limbic_Region my bet is yes
14:46 audreyt the offending line is Cabal.Distribution.Simple.GHC
14:46 audreyt            (baseDir, _)     = splitFileName compilerDir
14:47 audreyt in
14:47 audreyt http://darcs.haskell.org/packages​/Cabal/Distribution/Simple/GHC.hs
14:47 audreyt somehow it lost track how it was invoked.
14:47 Limbic_Region ooh
14:47 audreyt that's a new bug
14:47 Limbic_Region yeah, that would be a problem
14:47 Limbic_Region that's ghc issue
14:47 audreyt it's "fixed" by esa vuokko
14:47 audreyt http://www.mail-archive.com/cabal​-devel@haskell.org/msg00010.html
14:47 lambdabot Title: System.Directory.findExecutable and ghc's ld in Windows, http://tinyurl.com/kfq5p
14:47 audreyt that fix broke our assumption
14:47 Limbic_Region ghc should not assume the place it was compiled would have anything remotely to do with where it is installed
14:47 audreyt still thinking how to do that portably
14:48 Limbic_Region ok
14:48 Limbic_Region will test the gcc-lib thingy
14:48 audreyt k
14:49 nothingmuch mooooooooooooooo
14:49 Limbic_Region looks like that was it
14:49 * markstos wonders if he hears moose noises
14:50 audreyt Limbic_Region: ok. now try this
14:50 audreyt put gcc-lib under some other PATH
14:50 audreyt say c:\perl\bin\gcc-lib
14:50 Limbic_Region audreyt - isn't that how darwin awards are handed out
14:50 audreyt but _not_ under pugs workdir
14:50 Limbic_Region k
14:50 audreyt my working hypothesis is that it now uses the win32 native SEarchPath
14:50 Limbic_Region oh, so shouldn't I then just be able to add C:\ghc to my path?
14:51 audreyt well that too
14:51 audreyt actually try c:\ghc to your PATH
14:51 audreyt and c:\ghc\bin
14:51 audreyt and see if it magicaklly works
14:51 Limbic_Region ok - ghc\bin is already there
14:51 audreyt (it might not.)
14:51 Limbic_Region need to go for a sec - issues with my daughter
14:51 audreyt k
14:52 Limbic_Region ok, in order to test this theory, since pugs has finished buildihng
14:52 Limbic_Region building even
14:52 audreyt you need simply to rm pugs.exe
14:52 Limbic_Region k
14:52 audreyt and nmake again
14:53 nothingmuch joined perl6
14:53 Limbic_Region testing now
14:53 aufrank joined perl6
14:54 * Limbic_Region gets the distinct impression that Win32 in the haskell community is the bastard red headed stepchild that only a few love and the rest have a deep aversion for
14:55 nothingmuch joined perl6
14:55 Limbic_Region audreyt - that also works
14:55 nothingmuch god damnit
14:55 * nothingmuch shakes fist at irc
14:56 nothingmuch You were killed by www.astray.com [(Bad Nickname)] [Path: ]
14:56 nothingmuch *sigh
14:56 * Limbic_Region does a little dance as he now has Pugs building on Win32 using GHC 6.6RC
14:57 Limbic_Region with many thanks to audreyt, Igloo, and eivoukko (and others he likely forgot)
14:57 nothingmuch and me
14:57 nothingmuch i helped a lot too
14:57 nothingmuch i inspired motivation
14:58 audreyt Limbic_Region: perl was like that actually
14:58 audreyt until activeperl 5.6.1 or so
14:58 audreyt and the relentless, tireless, never-burns-out iron pumpkingerring from gsar
14:58 Limbic_Region audreyt - well, it is not at all uncommon
14:58 Limbic_Region I guess it just suprised me a little
14:59 * [particle] returns from scrollbackland
14:59 audreyt "How many perl5-porters does it take to change a sarathy?"
14:59 audreyt "None. Sarathy never burns out."
14:59 nothingmuch hah
14:59 nothingmuch where is he now?
14:59 [particle] retired in florida
14:59 Limbic_Region particle - did you hear the news
14:59 Limbic_Region woot
15:00 [particle] ;)
15:00 audreyt actually, still hacking in activestate
15:00 [particle] Limbic_Region++ # yes i just read it
15:00 nothingmuch ugh
15:00 [particle] audreyt++ too
15:00 audreyt Limbic_Region: so, remove c:\ghc from path
15:00 nothingmuch why does magnet kill me?
15:00 nothingmuch stupid netsplits
15:00 nothingmuch am i on some blacklist now?
15:01 Limbic_Region ready for next experiment audreyt
15:01 audreyt Limbic_Region: line 89 of util\build_pugs.pl is supposed to do that for you
15:01 [particle] nm: what are you talking about? you're not bouncing here
15:01 audreyt trying to think why it's not
15:01 nothingmuch [particle]: i can't connect to irc.perl.org
15:01 Limbic_Region let me look at it and see if it makes sense to me
15:01 nothingmuch You were killed by www.astray.com [(Bad Nickname)] [Path: ]
15:01 [particle] oh
15:01 nothingmuch not only astray though
15:02 [particle] did you try another nick?
15:02 audreyt Limbic_Region: maybe it needs to be put in front? not sure
15:02 [particle] like, say [nothingmuch] ? :)
15:02 Limbic_Region audreyt - no
15:02 Limbic_Region I put it at the end in my test
15:02 nothingmuch [particle]: i've been trying to convince irssi to do that
15:02 Limbic_Region let me do this
15:02 Limbic_Region let me print those values to see if they are indeed correct
15:03 nothingmuch ughhhhhhhhh
15:03 nothingmuch not working either
15:03 * nothingmuch gives irc a rest
15:04 nothingmuch going out for the evening anyway
15:04 Limbic_Region running again now with prints of those variables
15:05 kane-xs joined perl6
15:05 Limbic_Region ok - this is really odd
15:05 Limbic_Region it worked when it shouldn't have
15:06 Limbic_Region C:\ghc and C:\ghc\bin respectively
15:06 Limbic_Region oh wait
15:06 Limbic_Region audreyt - is line 89 your fix?
15:06 audreyt no.
15:07 Limbic_Region of about 10 minutes ago?
15:07 audreyt no.
15:07 Limbic_Region hrm then
15:07 audreyt hrm indeed.
15:07 audreyt I can't tell the difference
15:07 audreyt between that line and your manual env tweaking
15:07 audreyt then should, for all intent and purpose, be equivalent
15:07 Limbic_Region except that my env no longer includes c:\ghc and it worked
15:07 audreyt er wow.
15:08 audreyt ok. to make sure... blast away dist\build and pugs.exe and "nmake fast".
15:08 [particle] Limbic_Region: thanks for the msg of the error report
15:08 Limbic_Region let me make sure I didn't make a bonehead mistake
15:08 Limbic_Region and didn't delete pugs..exe
15:08 Limbic_Region particle - no worries, though one additional thing is likely required to finish building pugs
15:08 Limbic_Region which is what audreyt and I are working on
15:08 [particle] k
15:08 [particle] i'll just wait in the wings
15:09 [particle] my default build is 6.4.1 anyway
15:09 Limbic_Region re-running now audreyt after having made sure pugs.exe is deleted
15:09 Limbic_Region ok, my mistake
15:10 Limbic_Region I hadn't removed the executable - it is once again failing despite %ENV being modified
15:10 rindolf joined perl6
15:11 rindolf Hi all.
15:11 Limbic_Region audreyt - who is the one attempting to find gcc-lib\ld.exe?
15:11 jdv79 joined perl6
15:11 Limbic_Region salutations rindolf
15:11 rindolf Limbic_Region: hi. What's up?
15:11 jdv79 anyone know how to fetch the primary method's name from within a modifier with moose?
15:12 Limbic_Region just debugging a problem
15:12 Limbic_Region audreyt - is the issue with $runcompiler - if it is, then I know what the problem is
15:12 Limbic_Region it is not using $ghc_installdir but $ghc_bindir
15:13 jdv79 hello Limbic_Region.
15:14 Limbic_Region salutations jdv79
15:14 markstos jdv: Moose? Sounds like a Perl5 issue.
15:14 Limbic_Region audreyt - what exactly was your fix anyway as I think it may have worked
15:14 markstos jdv: the meta model that moose uses hasn't been implemented in pugs yet.
15:14 jdv79 i understand that but nobody is anwering my query elsewhere so it was suggested that i try here as a last resort
15:15 Limbic_Region ld.exe still isn't found
15:15 Limbic_Region but it is finishing the build anyway
15:15 audreyt but that isgoing to be bogus
15:15 Limbic_Region I had been ctrl-cing after that line of output
15:15 Limbic_Region let me nopaste the last run
15:15 markstos jdv: You could try posting a code example that explains what you are trying to express.
15:15 audreyt as it's using the previous output in third-party/installed/Pugs
15:15 Limbic_Region this is with no manual fix to the env
15:15 audreyt so we're back to sq1: ld.exe not found
15:15 markstos jdv: Are you really using Moose in Perl5 or is this a Perl6 question?
15:16 audreyt now if you manually tweak env to include c:\ghc in PATH
15:16 audreyt and "nmake fast" again, does it make ld.exe found?
15:16 Limbic_Region let me blow away dist and pugs.exe
15:16 Limbic_Region not tweak env
15:16 jdv79 yes, of course - p5, this is not a perl6 question.
15:16 Limbic_Region and nmake fast
15:17 markstos bbiab
15:17 Limbic_Region wow, nmake fast is really fast in comparison
15:18 audreyt well, blow away third-partyinstalled\pugs-6.2.12 too while you are at it.
15:18 audreyt yes. please do use it to investigate build problems
15:18 audreyt save lots and lots of time :)
15:18 audreyt (and with GHC 6.6, the resulting pugs.exe is actually just 20% slower or so)
15:18 audreyt it's getting to a point where I'm not sure whether we should still make optimzied build the default.
15:18 markstos 6.6 is slower ?
15:19 Limbic_Region ok - audreyt, different build error
15:19 jdv79 that's ungood news
15:19 audreyt markstos: no, the diff between "make optimized" and "make unotimized" is narrower
15:19 markstos Ah.
15:19 audreyt 6.6 is generally 2~3x faster than 6.4.
15:19 markstos Wahoo!
15:19 Limbic_Region runtime that is
15:19 markstos I look forward to experiencing that.
15:19 audreyt yes. compile time is a bit shorter but not dramatically
15:20 markstos Oh.
15:20 audreyt but "make fast" produces better code
15:20 audreyt so you can maybe "make fast" more often.
15:20 audreyt (the difference: "make fast" uses GHC's own codegen based on C--, and "make optimized", among other things, forks out to GCC)
15:20 markstos when I was building my own pugs, I use "make fast", just because I suspected it would be faster. :)
15:20 audreyt (and GCC is really, really slow.)
15:21 Limbic_Region audreyt - I am reverting back to my original state
15:21 Limbic_Region meaning just before I pinged you
15:21 audreyt ok...
15:21 markstos Is there potential for Perl6 to ever compile quickly with this implementation?
15:21 audreyt surely!
15:22 audreyt the parser is one of our slowerst parts.
15:22 audreyt as it's working on a linked list of UTF32 characters, currently
15:22 audreyt which is the slowest possible sane representation of source code.
15:22 SamB oh, yeah, you can do much better soon enough, I think ;-)
15:22 jdv79 isn't p6 going to compile itself, in a manner of speaking?
15:22 audreyt SamB: I sure hope so ;)
15:22 markstos I just know that it seems uncommon to write a language in Haskell, versus, say C. I'm fairly ignorant about these issues, though.
15:23 Limbic_Region heh
15:23 Limbic_Region the Haskell folks were interested in why we were interested in 6.6rc
15:23 audreyt markstos: yeah. most of pugs's slowness comes from the very, very slow representation of strings
15:23 markstos and that's fixable?
15:23 SamB markstos: well, most of the people who have created mainstream languages haven't known Haskell... and frankly when they did it Haskell wasn't likely very good anyway...
15:23 audreyt whenever we switch a part into the new fast packed strings, that part sees 5x or so speedup.
15:24 Limbic_Region it is like people today that think perl is just a scripting language
15:24 markstos Wow.
15:24 Limbic_Region they are living in the past
15:24 audreyt currently only variable names is switched
15:24 Limbic_Region haskell did come from academia
15:24 * markstos should poke around with Haskell more.
15:24 audreyt and type names
15:24 justatheory joined perl6
15:24 audreyt and already pugs is 35% faster
15:24 Limbic_Region and it likely wasn't very good at anything other than teaching at first
15:24 Limbic_Region but it has been around the block for a while
15:24 audreyt to switch other parts, we need perhaps to forsake GHC 6.4 compatibility
15:24 audreyt so gaal and I have been holding a bit
15:24 Limbic_Region I am fine with that ;-)
15:24 audreyt (actually, I've been holding back gaal a bit :))
15:24 SamB Limbic_Region: I don't think it was originally intended for teaching, really...
15:24 markstos I'm already a fan of darcs, and Haskell by extension.
15:25 Limbic_Region SamB - I don't think that's what it was intended for - I said I think that was all it was likely good at (at first)
15:25 * markstos welcomes the GHC 6.6 overlords
15:25 SamB I think they wanted to play with it and use it in papers
15:25 * gaal purrs
15:25 audreyt it's good for producing PhDs ;)
15:25 Limbic_Region audreyt - ok, back to the expected failure
15:25 * markstos is wrapping up a new blog post about Perl5 embedding and YAML emitting.
15:25 SamB audreyt: you have to admit that it is also fun to play with ;-)
15:26 Limbic_Region so, we know that moving gcc-lib to pugs working dir works
15:26 Limbic_Region I don't know for certain adding c:\ghc to my path will work
15:26 Limbic_Region because even though it did last time around, so did everything else
15:26 gaal beed kinda out of elk today. what's the feature set we absolutely want for Sig for the coming release?
15:26 Limbic_Region so let me try that first
15:26 audreyt indeed. but we need to do that
15:26 audreyt Limbic_Region: yup.
15:27 gaal and, audreyt, did you see my 'Dog ::T $fido' <=> Pugs.Val.Code.Param question?
15:27 audreyt gaal: rename siglist.t to signature.t
15:27 audreyt and that'd be good enough for me :)
15:27 Limbic_Region gaal, let's gang up on audreyt and get everyone to move off 6.4.x
15:27 * Limbic_Region is a believer
15:28 gaal Limbic_Region: it works for you now? great
15:28 gaal but not sure about all platforms
15:28 gaal mac in particular is said to have problems
15:28 gaal "the kind audreyt doesn't have"
15:28 markstos pugs doesn't seem to be buildable on FreeBSD now anyway, because parrot doesn't seem to be buildable there.
15:28 Limbic_Region gaal - well, I wouldn't want anyone to go through what I am going through under normal conditions - so no
15:28 * Limbic_Region is mostly teasing
15:28 Limbic_Region but the perf diff is amazing
15:28 SamB is that a general statement of fact, or a is it specific?
15:28 audreyt markstos: pugs doesn't dep on parrot
15:29 Limbic_Region audreyt - good news
15:29 audreyt gaal: I actually have an ibook g4...
15:29 Limbic_Region well, not so good news
15:29 Limbic_Region it doesn't work
15:29 SamB (mac being said to have problems)
15:29 audreyt Limbic_Region: ok. it's a good news
15:29 Limbic_Region but that is good news
15:29 Limbic_Region yeah
15:29 gaal l~r, once 6.6 is available on all platorms in binaries, for sure
15:29 audreyt means we are not insane and not seeing phantoms
15:29 markstos audreyt: Yes, I built it without parrot, and it worked fine, until I tried to use some kinds regular expressions or rules...
15:29 gaal SamB: hearsay, I don't own one mylsef to tell.
15:29 markstos and then it complained it couldn't find parrot.
15:29 audreyt markstos: oh. that. we're fixing that tomorrow
15:29 Limbic_Region gaal - it is avail on Win32 in binaries but still takes a lot to get it working
15:30 audreyt markstos: soon you'll not need parrot for that, either!
15:30 SamB I mean, apparantly it is uses a rather odd ABI on x86...
15:30 markstos Nice.
15:30 audreyt (as it'd use embedded perl5 to call Pugs::Compiler::Rules)
15:30 gaal Limbic_Region: I mean releaseworthy packages, e.g. packages for .deb and .rpm etc.
15:30 audreyt (which is why I was fighting dmake...)
15:30 markstos Now I like working on feather and having pugs rebuilt frequently for me. :)
15:30 markstos I also like playing with svk. I had trouble installing that, too...
15:31 Limbic_Region ideas?
15:31 [particle] markstos: have you reported parrot build problems with parrotbug?
15:31 [particle] s/with/to/
15:31 audreyt Limbic_Region: so re gcc-lib. does it only need ld.exe there?
15:31 audreyt Limbic_Region: i.e. did you copy the whole gcc-lib or juts ld?
15:31 gaal oooh siglist.t++!
15:32 markstos particle: It seemed to be a known issue. The FreeBSD parrot port is marked as "BROKEN".
15:32 audreyt because if it's just ld.exe, we can workaround.
15:32 Limbic_Region whole
15:32 audreyt ok. please try part.
15:32 iblechbot joined perl6
15:32 Limbic_Region but let me test
15:32 gaal audreyt: some future release should use newval Sigs to parse sub declarations, too...
15:32 Limbic_Region holding daughter - b aminute
15:32 audreyt gaal: certainly...
15:32 audreyt ...that's why we are doing this :)
15:33 audreyt I mean, Capture should also be used to parse calls.
15:33 audreyt it's a prereqto get newExp rolled in.
15:33 gaal yeah. so what about the old ruleFormalParam -- should I rewrite it in newmoose, or convert its result?
15:33 Limbic_Region attempting
15:33 audreyt gaal: which ever easiest. I think newmoose.
15:34 gaal ok!
15:34 audreyt woot!
15:35 Limbic_Region audreyt - works
15:35 Limbic_Region with just ld.exe that is
15:35 audreyt Limbic_Region: ok. so, horrible-hack time for now
15:35 audreyt and I'll try to fix cabal.
15:35 gaal brb w/coffee
15:35 Limbic_Region yeah, ghc hacking
15:35 Limbic_Region go audreyt++
15:36 * Limbic_Region is starting over btw without make fast
15:36 Limbic_Region oh wait
15:36 Limbic_Region you are going to want me to test your horrible-hack
15:36 * Limbic_Region waits patiently
15:37 Limbic_Region oh, and are you going to remove your third-party thingy?
15:39 audreyt fixing.
15:40 audreyt fixed.
15:41 audreyt try r12944
15:41 aufrank audreyt: regarding chromatic's role article, do you think that type is synonymous with role in P6?
15:42 svnbot6 r12944 | audreyt++ | * Horrible hack #2 - instead of copying runcompiler to GHC land,
15:42 svnbot6 r12944 | audreyt++ |   instead copy ld.exe back into pugsland!
15:42 audreyt aufrank: sorry, very much out of context
15:42 audreyt role is one kind of type
15:42 Limbic_Region ooh, that is a horrible hack
15:42 aufrank yeah, audreyt, sorry to ambush you ;)
15:42 audreyt not more horrible than the old one
15:43 Limbic_Region since that appears to fall within p5 space (from what I can tell), I can work on this myself later
15:43 Limbic_Region I think I need to go grocery shopping soonish though
15:43 Limbic_Region nmake fast now
15:44 gaal in ruleFormalParam, a 'canonical form' of params is mentioned. is it a "real" form, or just an internal normalization?
15:44 gaal eg :$foo! ==> !:$foo
15:44 audreyt internormal
15:45 gaal k thx
15:46 audreyt markstos: if you are interested in the Hs worldview and community etc
15:46 audreyt http://research.microsoft.com​/~simonpj/tmp/history-v2.pdf is a great read
15:46 xerox Yes it is!
15:46 xerox :D
15:46 audreyt and we have 12 more days to send patches to that State of The Lambda
15:46 audreyt on http://haskell.org/haskellwiki/T​alk:History_of_Haskell/Version_2
15:46 lambdabot Title: Talk:History of Haskell/Version 2 - HaskellWiki, http://tinyurl.com/gxuqj
15:47 xerox (SLPJ: done) Paulcc 23:53, 27 August 2006 (UTC) page 25 Mentions of FiniteMap - Data.FiniteMap is DEPRECATED, please use Data.Map instead.
15:47 xerox The paper mentioned FiniteMap?
15:47 xerox This is funny, hehe.
15:47 Limbic_Region audreyt - horrible hack worked
15:47 audreyt I wonder if I should send a patch on how Hs has influenced p5, citing Scalar::Defer and friends
15:47 audreyt Limbic_Region: good. horrible hacks usually are that one
15:47 Limbic_Region anyone wanting to build on Win32 using 6.6rc - let e know
15:47 audreyt makeshift lasts longest etc :)
15:47 Limbic_Region let me know even
15:47 gaal I want a T-shirt saying "ferocious implementor"
15:48 Limbic_Region well - I am looking into a fix now
15:48 Limbic_Region real fix that is
15:48 Limbic_Region though you work the Cabal angle
15:48 audreyt k.
15:50 gaal if I specify two traits, does a comma separate them?
15:50 gaal $x is ref is moose
15:51 araujo joined perl6
15:51 audreyt I don't think so
15:51 audreyt ($x is ref, is moose)
15:52 audreyt would parse "is moose" as second param
15:52 araujo hi hi
15:53 gaal ok. asking two other Qs on p6-l.
15:53 audreyt araujo: heya
15:54 gaal (vim's zf)++
15:56 araujo hello there audreyt
16:01 audreyt araujo: heya. got some cycles to help out haskell hacking? :)
16:01 svnbot6 r12945 | audreyt++ | * Comment out the unused require_helper stuff from Prelude.pm to save space and maybe help malaire++ to build.
16:02 audreyt depending on your interest area (FFI, Parsec, STM, Typeclass, etc), there's several tasks laying around...
16:04 SamB huh, Parsec...
16:05 SamB iirc someone needs to implement that for packed strings?
16:05 audreyt xerox setup a repo for linspire's packed string parser
16:05 audreyt but it's not direct port of parsec
16:06 SamB oh, that was linspire's was it?
16:06 audreyt and as such needs some tweaks; johnmeacham revived packrat parsing and that may be nice as well
16:06 audreyt sjanssen is supposed to do full parsec port on packed strings
16:06 audreyt ...but it may or may not have been fizzled.
16:06 SamB the packrat parsing looks quite hard to use...
16:06 SamB I started to write an XML parser in it and I was mostly struggling with it rather than with XML...
16:07 audreyt in fact, I'm not sure what parts of sjanssen's work was completed...
16:07 audreyt since pugs can use every bit of his SoC work, salvaging any part would be useful :)
16:07 audreyt SamB: it's useful when you need lots of backtracking
16:07 audreyt from what I recall, XML needs no backtracking at all
16:08 audreyt and as such using it may be asking for pain
16:10 markstos left perl6
16:10 markstos joined perl6
16:10 SamB audreyt: mmhmm
16:10 markstos New Perl6 blogging on Perl5 embedding and YAML support:
16:10 markstos </p>
16:10 markstos <pre
16:10 markstos Doh! Sorry. bad paste.
16:11 markstos http://pugs.blogs.com/pugs/200​6/09/perl_6_a_multil.html#more
16:11 SamB even so, I was struggling with the interface!
16:12 audreyt markstos: you want to pass a \$foo into p5 land for modification?
16:13 markstos Yes.
16:13 markstos HTML::Templat accepts a "scalarref" as a template.
16:14 markstos If it already works, that's great, but it's low priority for me if it doesn't.
16:16 audreyt indeed there's no easy way.
16:16 audreyt clkao: pugs::guts didn't have a TIESCALAR instance
16:17 audreyt so other kinds of refs work but not SV
16:17 markstos so it could happen eventually ?
16:17 audreyt fixing
16:18 markstos I better hurry up and write a test, then!
16:18 clkao audreyt: huh?
16:18 Psyche^ joined perl6
16:18 markstos I guess I'll need to know what the syntax would be to pass it from one language to the other ,though.
16:19 audreyt well, \$foo should still work.
16:19 markstos Really? It won't form a P6 Capture instead ?
16:19 audreyt clkao: p5func(\$p6val)
16:19 audreyt it will
16:19 gaal audreyt: why? captures are xlated to refs in p5 bridge? ew!
16:20 audreyt but P6 Capture in p5 land should overload ${} into an assignable thing
16:20 audreyt and overload @{} and overload %{}
16:20 gaal ah, a la XML::All
16:20 audreyt right.
16:20 * markstos proceeds with a test.
16:20 audreyt clkao: nvm, trying to think about passing a pugscapt via p5embed bridge into a Data::Bind-ish Capture callconv object
16:22 clkao audreyt: was talking about that to rgs and nick
16:22 svnbot6 r12946 | gaal++ | * Correct handling of required and optional parameters. These all work:
16:22 svnbot6 r12946 | gaal++ |   :($x)       :($x!)                  # required positional $x
16:22 svnbot6 r12946 | gaal++ |   :($x?)      :($x? = 42)  :($x = 42) # optional w/o, w/, and w/default
16:22 clkao uhm, not cap
16:22 svnbot6 r12946 | gaal++ |   :($x! = 42)                         # correctly raises an error
16:23 audreyt clkao: D::B callconv natively?
16:23 audreyt cool. I figure I don't have to fly to YAPC::EU because you're there :)
16:23 clkao not callconv, just the bidning bit
16:23 audreyt k. anything?
16:24 clkao audreyt: your flattering skill has degraded
16:24 clkao nick tries to escape from me. rgs ponders
16:24 audreyt I'm sleepy, so that's to be expected
16:24 gaal hmm. should :($x! = 42) raise a special userfriendly error?
16:24 audreyt would be nice.
16:24 clkao something like what judy does, munging the potinter and stick a flag in it can be doable
16:25 markstos I think I've got a test now. Will nopaste it.
16:25 audreyt markstos: btw, the :lang<yaml> bit in your blog post has disappeared
16:25 ayrnieu_ joined perl6
16:25 audreyt oh, and you know you can eval with :lang<perl5> too?
16:26 audreyt clkao: you mean using the lower 2 bits in a Ptr?
16:26 audreyt that seems to be a popular technique
16:26 pasteling "markstos" at 12.176.101.89 pasted "Test for passing scalar ref to Perl5" (12 lines, 338B) at http://sial.org/pbot/19426
16:26 gaal aiiiii that's dirty
16:27 markstos My test?
16:27 gaal now i know why people want 64 bit archs. an extra bit to mangle
16:27 markstos I think I typo'ed scalar_ref vs. scalarref.
16:27 gaal markstos: no, the pointer parasity
16:27 araujo audreyt, Sounds fun :-)
16:27 markstos audreyt: Yes, I knew about :lang<perl5>.
16:27 Limbic_Region audreyt - I *think* I may have found the problem
16:28 gaal hmm, looks like third-party/ is always compiled with optimizations, even in make fast?
16:28 markstos audreyt: Is there a :lang<yaml> replacement ?
16:28 Limbic_Region and if I am correct, there is absolutely nothing we can do about it
16:28 Limbic_Region though it won't affect that many people
16:28 araujo audreyt, i have been glancing over the pugs code now , don't you have some Haskell-related TODO list or something?
16:28 * Limbic_Region is testing hypothesis now
16:28 araujo audreyt, probably it is a bit difficult for me, since i don't know perl5 at all.
16:28 markstos Oh, it' s not gone from the language, just from my post. :) Fixing.
16:28 markstos That's better.
16:30 Psyche^ is now known as Patterner
16:30 markstos Blog is fixed now. The blog software had a made a <yaml></yaml> tag pair out of it. :)
16:31 clkao audreyt: but valgrind would you it
16:32 audreyt araujo: oh, you don't have to know anything about perl5 :)
16:33 markstos Any hints on how, given a string, I can use it to call a method that may be in a parent class? This doesn't work:
16:33 markstos &::($meth)(self:);
16:33 audreyt (a sec)
16:34 audreyt self.$meth() is canonical
16:34 araujo audreyt, good then :-)
16:35 audreyt but it's not yet parsed. I wonder why.
16:35 markstos I like self.$meth(). I thought I tested it before. Re-testing.
16:35 markstos bug, most likely.
16:35 * audreyt tries to think what was blocking self.$meth()
16:35 markstos ;-)
16:36 markstos I'll make sure there's a test for it.
16:37 audreyt ah. right. reason is that our Exp was not expressive to distinguish $meth(1:) from 1.$meth.
16:38 audreyt sadly, our newExp is still not!
16:38 * audreyt ponders whether to introduce a new CCallLate node
16:39 audreyt or desugar that into
16:39 audreyt self.META.can($meth).(self:)
16:39 audreyt which looks ugly.
16:40 markstos In Perl5, $self->$meth() worked. So self.$meth() feels natural and expected.
16:41 audreyt and ineed perl5 has special op for that
16:41 markstos Is there something ugly that I can use now, that works?
16:41 audreyt $self->meth is method_named, and ->$meth is method
16:41 svnbot6 r12947 | audreyt++ | * introduce CCallDyn node to Pugs.Exp, to stand for the
16:41 svnbot6 r12947 | audreyt++ |   dynamic method case:
16:41 svnbot6 r12947 | audreyt++ |     $obj.$meth()
16:41 svnbot6 r12948 | markstos++ | Add failing test for $self.$meth.
16:41 audreyt don't; a fix is coming.
16:42 audreyt give me a few mins
16:42 markstos And a test. :)
16:42 audreyt right :)
16:42 * markstos pets cat and waits.
16:43 audreyt parsec. now to run it...
16:43 audreyt s/parsec/parsed/
16:43 gaal how do I peek at the current char in parsec?
16:43 audreyt getInput
16:43 gaal since this can't work: try $ char '!' >> fail "required parameters cannot have default values"
16:43 markstos That failing test is in t/oo/symbolic_refs.t, BTW.
16:43 audreyt <- lookAhead anyChar
16:43 audreyt one of the two.
16:43 gaal thanks
16:44 audreyt np :)
16:45 audreyt gaal: btw, is "make ghci" working for you?
16:45 gaal no :(
16:45 audreyt judy errors?
16:46 gaal no, it's those linkage errors I never tracked down fully
16:46 audreyt oh. colinux
16:46 gaal I think threaded/nonthreaded libs or something
16:46 gaal yeah
16:47 gaal rrr, why doesn't this work?
16:47 gaal ch <- lookAhead anyChar ; when (ch == '!') $ fail "..."
16:47 gaal this is not in an optional rule
16:48 gaal ah: we're already at the next char for some reason. hmm.
16:48 svnbot6 r12949 | audreyt++ | * "make ghci" needs Judy*.o for now.
16:49 gaal oh, of course. heh.
16:50 audreyt getInput would work.
16:50 gaal yes yes, my cursor had moved. fixed, committing
16:50 audreyt oh. I'm starting to use this style
16:51 audreyt Syn "CCallDyn" [...]
16:51 audreyt to denote newExp nodes in oldExp
16:51 audreyt instead of cramming new hacks on old reused nodes
16:51 gaal sure, and since "EE" is already taken. :P
16:51 audreyt Syn "CCall" and Syn "CApply" would follow I think
16:52 aufrank markstos: you instigated something bigger than you expected!
16:52 gaal ah no! unexpected "=" expecting "::", end of input, "?" or "="
16:52 audreyt it's in.
16:52 gaal dumb
16:52 svnbot6 r12950 | audreyt++ | * Dynamic method calls:
16:52 svnbot6 r12950 | audreyt++ |     my $meth = 'say';
16:52 svnbot6 r12950 | audreyt++ |     "Hello, World!".$meth;
16:52 svnbot6 r12950 | audreyt++ |   Thanks to markstos++ for suggesting this to be implemented.
16:52 svnbot6 r12949 | audreyt++ | * "make ghci" needs Judy*.o for now.
16:53 gaal unexpected moose, expecting moose
16:54 gaal wow, fast
16:54 audreyt araujo: ok, back to business :) http://spec.pugscode.org/ can get you started on the thing we are supposed to implement
16:54 lambdabot Title: Official Perl 6 Documentation
16:55 audreyt araujo: do you have a working pugs built on your machine?
16:56 audreyt araujo: one place to hack is to refactor src/Pugs/Type.hs
16:56 audreyt which is the oldest part of Pugs still surviving intact
16:56 markstos audreyt: Cool! When will pugs on feather catch up ? (Or should I just rebuild my own? )
16:56 audreyt such that it can support multiple inheritance.
16:56 audreyt it will catch up when evalbot say s it is
16:56 audreyt ?eval 1
16:56 evalbot_12941 is now known as evalbot_12946
16:56 evalbot_12946 1
16:56 audreyt it's still 4 revs behind
16:56 markstos But that part is automated  ?
16:57 audreyt yup
16:57 audreyt a full rebuild is perhaps 5mins
16:57 audreyt so have patience :)
16:57 markstos Sure.
16:57 audreyt araujo: currently we use "Tree ID" to denote inheritance; it should use Data.Graph.Inductive
16:59 audreyt araujo: you can ignore most things in that file
16:59 audreyt and simply change the rawTree (found in the bottom of Pugs.Type)
16:59 audreyt into a acyclic graph
17:00 audreyt and then fix all the type errors you encounter :)
17:00 audreyt currently our subtyping-based dispatch (also known as MMD) doesn't work well for user-defined types, largely because the multiple inherietance relationship is not reflected in the class tree; so making the tree a Graph will suddenly make several tests pass
17:01 audreyt which would be a good thing :)
17:02 audreyt araujo: another good task is to summarize the paragraphs above and put it as a comment above Pugs.Types.rawTree...
17:02 audreyt markstos:
17:02 audreyt    my $test = ' &::($meth)(self:) should find method in parent class';
17:03 audreyt that is not so
17:03 audreyt &foo(self:) does not do a method lookup
17:03 markstos Ok. I'll remove the test. I wasn't sure.
17:03 audreyt foo(self:) would do that
17:03 audreyt but &foo(self:) is moral equivalent of perl5
17:03 audreyt (\&foo)->(...)
17:03 markstos Should this work: ::($meth)(self:) ?
17:03 audreyt I don't think so either
17:04 audreyt because ::() itself is not valid, iirc.
17:04 markstos Because there's no sigil on the :: ?
17:04 audreyt aye.
17:04 markstos Anyway, self.$meth solves it, so I'll remove that other test.
17:04 markstos &::($meth)(self:) is rather ugly anyway.
17:04 audreyt k.
17:06 audreyt also you were misuing eval_is
17:06 audreyt simply is() would do
17:06 audreyt to protectagainst error, use
17:06 audreyt is(try{},)
17:07 audreyt eval_is takes first arg as string not expr.
17:07 audreyt as in
17:07 audreyt eval_is('code here')
17:07 audreyt which protects against parsefail
17:07 audreyt but you'd have to write
17:07 audreyt eval_is('$obj.$meth',..)
17:07 audreyt instead.
17:07 Limbic_Region audreyt - where is Setup.exe created?
17:08 markstos audreyt: thanks for the eval_is tip.
17:08 audreyt Limbic_Region: actually on ghc 6.6 we can simply use cabal-setup.exe
17:08 Limbic_Region audreyt - well, the issue is with Setup.exe
17:08 audreyt it's determined on line 147 and compiled on line 174
17:08 audreyt wow
17:08 Limbic_Region not that you probably didn't already know that
17:08 audreyt actually I didn't.
17:09 audreyt so it tries to find relative to Setup.exe?
17:09 Limbic_Region um, let me be more clear
17:09 audreyt that's uhm, very broken
17:09 audreyt line 147 and line 174 of Makefile.PL is where you want to look
17:09 Limbic_Region when $runsetup-.('build'); is run, that's when gcc-lib is not found
17:09 Limbic_Region so I ran just that from the command line
17:09 Limbic_Region and sure enough - gcc-lib not found
17:09 Limbic_Region despite $ENV
17:09 Limbic_Region er path being correct
17:09 Limbic_Region so
17:10 Limbic_Region I thought it was a mingw/msys problem
17:10 Limbic_Region but that was a dead end
17:10 audreyt what if instead of Setup.exe you run c:\ghc\bin\cabal-setup.exe ?
17:10 audreyt same build line, just with different .exe
17:10 * Limbic_Region tries
17:10 markstos ?eval 1
17:10 evalbot_12946 is now known as evalbot_12948
17:10 evalbot_12948 1
17:11 Limbic_Region nope
17:11 svnbot6 r12951 | markstos++ | After talking with audreyt, Remove symbolic ref OO test, and move
17:11 svnbot6 r12951 | markstos++ | self.$meth test to a more logical location.
17:11 Limbic_Region error - gcc-lib\\ld.exe doesn't exist
17:11 audreyt ok.
17:11 Limbic_Region that is when being run from the pugs build dir
17:11 markstos feather question: Why does '/usr/bin/pugs --version' disagree with the evalbot? /usr/bin/pugs is recent, but older.
17:11 * Limbic_Region assumes it is hardcode the $basedir into the executable or something
17:12 Limbic_Region *shrug*, I am not sure I can track it down further but will look at lines 147 and 174
17:12 svnbot6 r12952 | gaal++ | * :($x! = 42) now gives a friendly error message
17:13 audreyt Limbic_Region: er, no need to... I think I know why
17:13 Southen_ joined perl6
17:13 Limbic_Region line 174 of makefile.PL
17:13 Limbic_Region the compile ?
17:13 audreyt that was where Setup.hs was produced
17:13 audreyt err Setup.exe
17:13 audreyt but that's probably dead end too.
17:14 Limbic_Region ok - I assumed some of those other parameters might be worth looking into if it affected the way setup.exe functioned
17:14 Limbic_Region but I will defer to your better judgement
17:15 Limbic_Region btw - my util/build_pugs.pl is now filled with warn statements ;-)
17:15 audreyt oh. please make it less noisy
17:15 Limbic_Region that was just tracking down where the problem was
17:15 markstos ?eval 1
17:16 evalbot_12948 is now known as evalbot_12950
17:16 evalbot_12950 1
17:16 Limbic_Region I will revert eventually
17:16 audreyt k
17:16 gaal markstos: 'say 42.yaml' is fine, but if you want to be more consistent: 42.yaml.say or: say yaml 42
17:17 gaal though 'say X.perl' comes naturally to me too :)
17:17 Limbic_Region ok, so have I got you interested in investigating again or should I keep looking?
17:18 markstos gaal: I see what you are saying. I'm mixing styles.
17:19 markstos gaal: Do you know where the binary corresponding to the evalbot lives on feather ?
17:21 audreyt markstos: it's a Pugs.Version bug
17:21 audreyt it's actually 12950 on feather
17:21 audreyt when evalbot builds a pugs, it didn't update the version as it should
17:21 audreyt fixing
17:21 audreyt markstos: i.e. you can effectively use the /usr/bin/pugs as r12950
17:22 turrepurre joined perl6
17:22 markstos gaal: I've updated the blog post. Thanks.
17:23 Limbic_Region audreyt - would running setup build -v be helpful at all?
17:23 markstos audrey: despite what /usr/bin/pugs --version reports ?
17:23 gaal oops, back
17:23 audreyt Limbic_Region: might be
17:23 audreyt markstos: aye
17:23 svnbot6 r12953 | audreyt++ | * evalbot-look: unlink src/Pugs/pugs_version.h so that the version
17:23 svnbot6 r12953 | audreyt++ |   is reflected in each build.
17:24 Limbic_Region audreyt all it shows is gcc-lib\ld.exe being called without absolute path
17:24 Limbic_Region perhaps -v5 might show something more
17:24 evalbot_12953 joined perl6
17:25 audreyt ?eval my $meth = 'say'; "Hello World".$meth
17:25 evalbot_12953 OUTPUT[Hello World ] Bool::True
17:25 gaal kewl
17:25 audreyt we're now VB9 compatible ;)
17:26 xerox Crazy.
17:26 ingy audreyt: have you seen hlvm?
17:26 Limbic_Region audreyt - these output files with -v5 are rather large, should I just email them to you
17:26 audreyt ingy: the llvm upper proj?
17:26 Limbic_Region I need to go grocery shopping anyway
17:27 ingy I think so
17:27 ingy yeah
17:27 gaal (prompt "what do you want to do today?").()
17:27 audreyt saw it on LtU
17:27 audreyt havn't investigate too much
17:27 audreyt sounds very much parroty.
17:27 ingy is Perl6 targeting hlvm?
17:27 svnbot6 r12954 | markstos++ | Fix use of eval_is for self.$meth test. It's passing now. audreyt++.
17:27 ingy ;)
17:27 Limbic_Region large = 11,200 bytes for stdout and 234,270 bytes for stderr
17:28 audreyt I thoughtabout targetting IO, actually
17:28 cm joined perl6
17:29 audreyt the object model very much in sync
17:29 audreyt with p6's
17:29 ingy IO?
17:29 audreyt IO is the language inside javascript
17:29 audreyt that struggles to get out.
17:29 audreyt # http://www.iolanguage.com/about/
17:29 lambdabot Title: io - about
17:29 audreyt highlight: fast. clean. small.
17:30 Limbic_Region audreyt?
17:30 ingy oh, fyi... http://yaml.com
17:30 lambdabot Title: The Official YAML Projects Information Site
17:30 audreyt Limbic_Region: put it on feather?
17:31 Limbic_Region ok - what dir?
17:31 * ingy heads off to run *15 miles*
17:31 ingy :(
17:31 audreyt Limbic_Region: your ~
17:31 Limbic_Region k
17:31 ludan joined perl6
17:32 Limbic_Region I did C:\pugs> setup.exe build -v5 >build.out 2>build.error
17:32 Limbic_Region so those are the two files I will upload as soon as I install putty on this laptop
17:33 Patterner hmmm... gentoo has "io-vm-20030923"
17:33 gaal what other auxillaries are relevant to signatures? $x does Swim is valid, right?
17:34 Limbic_Region audreyt - uploaded
17:34 Limbic_Region and now that I know it is safely in ghc land
17:35 Limbic_Region I am off to go grocery shopping
17:35 Limbic_Region thanks for bearing with me
17:35 Limbic_Region and thanks for making the ugly hack in the interim
17:35 * Limbic_Region & # grocery shopping
17:35 audreyt ingy: as re HLVM:
17:35 audreyt Parrot has an object model, just almost no reflection and no sane metamodel
17:36 audreyt HLVM doesn't even have an object model.
17:36 audreyt so, considering it vapourware until it hits the 0.4 milestone.
17:37 kane-xs is now known as kane_
17:37 cognominal left perl6
17:38 audreyt the design looks traditional enough, so once it has an object model, probably not that hard to target.
17:38 cognominal joined perl6
17:39 onsen joined perl6
17:41 audreyt I like its choice of APR.
17:41 cm what's APR?
17:41 audreyt apache portable runtime
17:41 cm ah, right
17:41 audreyt for a C-based project, it's a good way to avoid
17:42 audreyt XXX - unimplemented - Win32 hackers needed
17:42 audreyt parts in the source.
17:43 cm hehe
17:43 audreyt hm, the actual from parrot source is "Win32 is not POSIX. Need win32 developer!"
17:44 larsen joined perl6
17:45 * araujo back from lunch
17:45 araujo audreyt, yes, i got a version of pugs installed
17:45 araujo 6.2.12
17:46 audreyt cool. did larry send you a commit bit?
17:46 araujo yes audreyt
17:46 araujo I still don't use it though
17:46 audreyt svn co http://svn.openfoundry.org/pugs/ ; cd pugs ; sh confiure ; make
17:46 lambdabot Title: Revision 12954: /
17:47 araujo I have mainly looked (kind of randomly) at the pugs code
17:47 audreyt vim AUTHORS # add yourself
17:47 audreyt svn ci AUTHORS
17:47 araujo audreyt, yeah, i am doing a big upgrade of my systems atm , next to compile pugs svn
17:47 audreyt and then hack away at src/Pugs/Types.hs (see backlog)
17:47 araujo yeah, reading
17:47 audreyt or other places as you prefer :))
17:47 audreyt I need to sleep now, unfortunately
17:48 audreyt nearly 2am here
17:48 audreyt so see you around tomorrow :)
17:48 audreyt *wave* &
17:48 araujo audreyt, nice, no problem, jusy one more question
17:48 gaal night
17:48 araujo If i am nex to modify something, what is it a good place to notify?
17:49 audreyt "nex"?
17:49 araujo next even
17:49 araujo hah
17:50 * araujo will check Types.hs and hack accordingly then
17:52 svnbot6 r12955 | gaal++ | * Parse 'is ref' and 'is lazy' in Signatures
17:52 gaal @hoogle [a] -> (a -> b) -> b -> b
17:52 lambdabot Prelude.foldr :: (a -> b -> b) -> b -> [a] -> b
17:52 lambdabot Prelude.foldl :: (a -> b -> a) -> a -> [b] -> a
17:52 lambdabot Data.List.foldl' :: (a -> b -> a) -> a -> [b] -> a
17:53 audreyt araujo: as long as it compiles, you can try to "make test"
17:53 audreyt if not all was failing, then simply commit it
17:54 araujo thanks audreyt , and good night :-)
17:54 audreyt also you can talk about what you're going to commit here in#perl6 also
17:54 audreyt but remember to add yourself to AUTHROS first. welcome aboard!
17:54 * audreyt waves &
17:54 araujo Ok :-)
17:54 elmex joined perl6
18:05 chris2 joined perl6
18:14 mdiep joined perl6
18:20 [particle] thanks to audreyt++'s link to iolanguage, i think i have a perl6 grammar for it now :)
18:25 avar does the perlvar.pod draft live in the pugs repos?
18:26 markstos avar: find . -name 'perlvar.pod' ... says no.
18:30 gaal I wasn't aware one existed
18:30 avar it's linked from the spec in the topic
18:30 avar anyway there's a typo in it, hence the question:)
18:31 gaal well, then: yes it does live in docs/AES/S28draft.pod
18:31 gaal :-)
18:34 svnbot6 r12956 | gaal++ | * golf trait handling in Signatures
18:34 avar I'll fix it!:)
18:34 avar I have commit access from way back apperently
18:35 gaal avar++
18:36 gaal oh it looks like it hasn't been updated in a while? HISTORY says 2005-04-11
18:37 avar maybe I should just leave it?:)
18:37 avar I just saw in on spec.pugscode.org
18:37 avar Yeah, it looks out of date
18:37 gaal svk log shows 2005-11-29
18:37 gaal well, a rehaul would be needed eventually.. so please fix away
18:38 gaal and if you're in the mood, give it a scan viz. other synopses and update accordingly
18:39 avar http://www.google.com/search?q=unambuous
18:39 lambdabot Title: unambuous - Google Search
18:40 gaal that's an interesting word :)
18:42 wolverian hrm, could someone do s/builtin's/builtins/ on Perl6/Perl5/Differences.pod? I don't have access to a checkout currently and it's bugging me :)
18:42 svnbot6 r12957 | avar++ | * The 'ig' was missing in 'unambiguous'
18:42 wolverian (it's under "Builtin Functions")
18:43 gaal fixed
18:44 wolverian thanks! :)
18:44 gaal sure
18:44 wolverian oh, on that note, the "references are gone" index link does not work, and should be capitalised probably.
18:45 wolverian gah. sorry, I should just do a fresh checkout
18:45 gaal too tired to fix tonight :)
18:45 wolverian no problem, I'll fix it when I get home
18:48 svnbot6 r12958 | gaal++ | * Differences.pod: grammar fix, reported by wolveran++
18:48 avar $foo ~~ Hash <= Yummie
18:49 * avar reading Perl6 diff
18:49 avar my coworker does ref $hr =~ /HASH/i; a lot
18:50 integral /i?  they're superstitious?
18:50 wolverian and you probably won't be typing the ~~ explicitly either, but using multiple dispatch or 'when'
18:51 avar integral: apperently:)
18:56 buetow joined perl6
19:01 nwc10 joined perl6
19:02 avar woohoo
19:02 nwc10 Sorry if this is either an RTFM type question, or a "try it with pugs" (which I don't have to hand), but: if you take a continuation, where one (or more) of the lexical variables are references to deep data structures, does the continuation have a deep copy of those structures, or just a shallow copy?
19:05 gaal nwc10: try p6-l?
19:05 nwc10 OK. SO it's not a trivial question? :-)
19:05 gaal nobody for whom it's trivial seems to be around :)
19:05 integral afaik it should be shallow
19:06 integral it's closing over the variables, not the stuff in them
19:07 nwc10 Ah good. If conceptually it's "closing" then it's the same action as the existing closure implementation in Perl 5. Bad people have got me thinking about continuations and 6 on 5. I'm not promising that I will do anything more than think about them.
19:08 Limbic_Region joined perl6
19:09 * Limbic_Region returns to find the laptop in standby mode
19:26 melite joined perl6
19:27 melite left perl6
19:43 traecer joined perl6
19:48 penk joined perl6
20:00 svnbot6 r12959 | markstos++ | fix typo and add smart link for q:h test.
20:02 lectus joined perl6
20:13 pasteling "rindolf" at 88.153.53.7 pasted "Haskell Program with a compile error" (52 lines, 1.5K) at http://sial.org/pbot/19427
20:13 rindolf Can anyone help with http://sial.org/pbot/19427 ?
20:13 lambdabot Title: Paste #19427 from "rindolf" at 88.153.53.7
20:13 rindolf integral: ?
20:27 justatheory joined perl6
20:29 markstos I keep getting "No compatible subroutine &exists" errors on valid hash syntax. By moving the problematic method to a test script, I can see that the whole method is in fact fine. This indicates a problem somewhere else in the class that's causing this problem indirectly, but I'm sure how to find it.
20:29 markstos s/sure/not sure/ :)
20:32 gaal rindolf: I don't think you can override instances on type aliases, you need a newtype
20:38 gaal rindolf: newtype PhraseCounter = MkCounter{ unCounter :: Map PhraseCounterKey PhraseCounterValue }
20:38 rindolf gaal: thanks.
20:38 rindolf gaal: never mind.
20:38 gaal rindolf: instance Show PhraseCounter where show MkCounter x = ...
20:40 gaal oops "show (MkCounter x)"
20:40 nothingmuch_ joined perl6
20:40 rindolf gaal: thanks.
20:40 gaal no prob
20:41 nothingmuch_ is now known as nothingmuch
20:41 ruz_ joined perl6
20:42 plisk joined perl6
20:43 gaal okay that's it for me for tonight
20:43 gaal bye everyone!
20:46 svnbot6 r12960 | gaal++ | * Support for arbitrary traits in Signatures:
20:46 svnbot6 r12960 | gaal++ |     :($moose! is Beautiful is Fair)
20:46 svnbot6 r12960 | gaal++ | * Honor spelled-out 'is required' trait:
20:46 svnbot6 r12960 | gaal++ |     :($x = 42 is required)   # gives the error you'd expect
20:46 svnbot6 r12960 | gaal++ | * Along the way I broke implicit-optionality, so if you enter
20:46 svnbot6 r12960 | gaal++ |   auxillaries, you need either a ?/! or a default value :-(
20:46 svnbot6 r12960 | gaal++ | * Open questions:
20:46 svnbot6 r12960 | gaal++ |   - How does Pugs.Val.Code.Param express Dog ::T $fido?
20:46 svnbot6 r12960 | gaal++ |   - What does it do with 'does' and other non-is auxillaries?
20:48 miyagawa_ joined perl6
21:10 crem_ joined perl6
21:24 nothingmuch_ joined perl6
21:32 nothingmuch_ is now known as nothingmuch
21:46 _SamB_ joined perl6
21:46 thomason joined perl6
22:19 svnbot6 r12961 | markstos++ | Updates to dispatch_quiz.pl:
22:19 svnbot6 r12961 | markstos++ |     - Run every scenerio as both subs and methods. (Sometimes the answers are different!)
22:19 svnbot6 r12961 | markstos++ |     - Catch and report test compile failures.
22:19 svnbot6 r12961 | markstos++ |       (%h, *%h) won't compile for subs, but passes for methods!
22:19 svnbot6 r12961 | markstos++ | Try it to see the surprising results!
22:19 svnbot6 r12961 | markstos++ | Currently 5 out of the 14 scenerios fail my expectations...
22:26 pasteling "markstos" at 12.176.101.89 pasted ""interesting" results from dispatch_quiz.pl" (42 lines, 1K) at http://sial.org/pbot/19432
22:28 ToniEisner joined perl6
22:32 ToniEisner left perl6
22:40 svnbot6 r12962 | markstos++ | rename pipe operator to feed in test suite and remove that from t/TASKS
22:44 svnbot6 r12963 | markstos++ | Actually move pipe.t to feed.t in a second operation,
22:44 svnbot6 r12963 | markstos++ | since svk can't handle moving a changed file, like darcs can.
22:53 svnbot6 r12964 | markstos++ | [t/oo/methods/multi.t]
22:53 svnbot6 r12964 | markstos++ | Add smart links to header
23:11 larsen joined perl6
23:20 ruz_ is now known as ruz
23:21 ruz joined perl6
23:26 TreyHarris gaal: from r12960 "* Along the way I broke implicit-optionality, so if you enter auxillaries, you need either a ?/! or a default value :-("  what does this refer to?  i see 'auxiliary' mentioned a couple times in S06, but not defined AFAICT
23:38 TreyHarris markstos: when you create lexical variables in a test, you should surround the tests using it in a block so the lexical will go out of scope after....
23:38 svnbot6 r12965 | markstos++ | [t/oo/methods/multi.t]
23:38 svnbot6 r12965 | markstos++ | Four new failing tests for multi method dispatch, based on dispatch_quiz.pl.
23:38 svnbot6 r12965 | markstos++ | The spec is not specific about multi method dispatch details, saying:
23:38 svnbot6 r12965 | markstos++ | "They are sorted into an order according to how close the run-time types of the
23:38 svnbot6 r12965 | markstos++ | arguments match up with the declared types of the parameters of each candidate.
23:38 svnbot6 r12965 | markstos++ | The best candidate is called..."
23:47 svnbot6 r12966 | markstos++ | one more failing MMD test.
23:48 spoopithy joined perl6
23:53 markstos TreyHarris: I understand your point, but I'm not sure where I've made a mistake. Please go ahead and patch it yourself, or point it out to me.

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

Perl 6 | Reference Documentation | Rakudo