Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-05-03

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 drbean has quit IRC (Read error: 104 (Connection reset by peer))
00:09 newbie has joined #Perl6
00:10 newbie has quit IRC (Client Quit)
00:17 drbean has joined #perl6
00:22 drbean has quit IRC (Read error: 104 (Connection reset by peer))
00:22 drbean has joined #perl6
00:27 drbean has quit IRC (Read error: 104 (Connection reset by peer))
00:27 drbean has joined #perl6
00:36 ihb has quit IRC (Read error: 104 (Connection reset by peer))
00:50 shapr "I can't think of any other case where two different programming language cultures literally at the opposite sides of the universe have come together like this." from http://cooking-with-lisp.blogspot.com/2005/04/haskell-and-perl-community.html
00:52 shapr lambdacamels unite!
00:54 mugwump has joined #perl6
00:54 shapr hiya mugwump
00:54 mugwump hi!
00:55 shapr how's code?
00:55 putter has joined #perl6
00:55 jabbot pugs - 2639 - Added x86_64 gc bug workaround instructi
00:56 mugwump Well, I'm getting "somewhere" with Perldoc, even if that isn't anywhere near like what's needed for Pod/Kwid yet ;)
00:57 mugwump I made it through another 3 short lessons in Haskell, so getting much nearer the end of those now
00:57 mugwump has left
00:58 mugwump has joined #perl6
00:58 mugwump bah wrong button
00:59 shapr Any Haskell questions?
01:00 mugwump I'll take a raincheck on that very generous offer
01:01 shapr ok
01:02 mugwump I'm working towards being able to use the metamodel in src/Pugs/Class.hs for something, but I need to do my homework first...
01:03 oylenshpeegul has joined #perl6
01:06 drbean has quit IRC (Read error: 110 (Connection timed out))
01:10 meppl has quit IRC (Read error: 110 (Connection timed out))
01:10 meppl has joined #perl6
01:15 castaway_ has joined #perl6
01:18 theorbtw1 has quit IRC (Read error: 145 (Connection timed out))
01:19 ninereasons stevan, listening?
01:19 stevan ninereasons: yes
01:19 ninereasons do you know the difference between '.pairs' and '.pair'?
01:20 stevan off the top of my head no
01:20 stevan is there a .pair?
01:20 stevan where have you seen that usage?
01:21 ninereasons .pair is used to access like this: .pairs.pair  in t/builtins/arrays_and_hashes/pairs.t
01:22 stevan I am not seeing that usage in pairs.t
01:23 ninereasons a sec.
01:23 stevan I am just seeing $a_pair.pairs
01:24 ninereasons try t/data_types/pair.t
01:24 ninereasons the last tests might be incorrect.
01:25 stevan I am still only seeing .pairs ? which line number?
01:25 * stevan is a little tired
01:25 stevan so I may be staring right at it :)
01:26 ninereasons no, try this: change .pairs to '.pair', and that test will succeed.
01:27 ninereasons (still returns the wrong 'ref' though)
01:27 stevan ok
01:28 ninereasons should those tests say "pairs" after all?  are they written correctly?
01:28 castaway has quit IRC (Read error: 110 (Connection timed out))
01:29 justatheory has quit IRC (Read error: 110 (Connection timed out))
01:29 stevan ninereasons: to be honest, I am not sure
01:29 stevan I see pair and pairs in src/Pugs/Prim.hs
01:29 stevan have you checked the synopsis yest?
01:30 ninereasons I'm finding reference to .pairs, but not to .pair
01:30 stevan maybe you should check with perl6 language
01:30 ninereasons ok
01:31 stevan if .pair is a mistake we can remove it from the tests and Prim.hs (assuming it does not have another usage)
01:36 mugwump grep in Perl6::Bible?
01:36 theorbtwo has quit IRC (Read error: 110 (Connection timed out))
01:37 ninereasons I'm finding reference to a pairs method, but I'm missing the reference to a pair method
01:44 LCamel has joined #perl6
01:45 shapr oh, a real lambdacamel?
01:45 jabbot pugs - 2640 - Pugs.Parser: Signatures
01:51 mugwump any openfoundry admins about?
01:52 obra sup?
01:52 stevan Yo
01:52 oylenshpeegul has left
01:53 stevan whatcho need ... whatcho want
01:55 jabbot pugs - 2641 - Whoops, prior, not next, fixes haddock
01:57 mugwump I've just submitted a request for a new project ... I've got half a dozen keen devs itching to move from savannah.non-gnu.org
01:57 mugwump http://savannah.nongnu.org/projects/util-vserver/ is the project
01:57 mugwump I was just wondering if I could "jump the queue" ;)
01:58 stevan mugwump: that is odd, I registered a project and it was in almost instantly
01:58 stevan I am also not that kind of admin so I cant help there
01:59 mugwump oh, it is automatic.  I saw the 72 hour notice and assumed that the request just went into a queue
02:00 stevan mugwump: I assume it is automatic
02:00 stevan it seemed that way to me
02:00 stevan (well maybe like 10 minutes)
02:04 mugwump oh, and there it is.  cool
02:04 mugwump a pity I couldn't put a hyphen in the project ID
02:04 stevan mugwump: I agree, I didnt like that restriction either
02:23 ihb has joined #perl6
03:10 brothers has joined #perl6
03:15 brothers has left
03:19 ninereasons has quit IRC ("no excuse")
03:25 putter fyi, on #haskell, over the last 2hrs 20 minutes or so, starting with shapr's cooking-with-lisp quote, there has been a minor but potentially interesting thread on possibilities for a long-term perl6/haskell relationship.
03:26 mugwump is that channel logged?
03:26 shapr yup
03:33 putter the question was what happens to the perl6/haskell relationship "post pugs".  Ie, when running perl6 might mean you are entirely on parrot.
03:33 stevan putter: and dont forget the perl6 bootstrapping
03:34 putter one posibility is Inline::Haskell goes back to being like Inline::everything else.  Not something one can really use because
03:36 mugwump this will be an entirely moot point if parrot can assume the role that C-- does on Haskell, no?
03:36 mugwump (ie, if you can compile Haskell to parrot)
03:36 stevan IIRC didnt GHC have some history with perl5?
03:37 putter users, esp windows users, can't be counted on to have the required dependencies.  But...
03:38 putter But what if it were posible to maintain the property that "if the user has perl6, then of course they have haskell" ?  Ie,
03:39 putter ghc binaries are available from CPAN, are interfaced with parrot and whatever other perl6 backends there are.  Then
03:40 putter from the perl6 perspective, perl6 has this wizzy modern language for doing compute intensive stuff, and from the haskell side,
03:41 putter haskell gets a quick ride to the "big time".
03:45 mugwump ideally perl 6 wouldn't have huge dependancies like that for all situations... ie it would be nice if runtime was just libparrot for running bytecode
03:46 putter mugwump: re moot point, perl6 may have other/additional back ends then parrot.   and parrot isnt a backend that lets haskell fully shine.
03:49 putter mugwump: re libparrot, and
03:49 putter stevan: re p6 bootstrap, ...
03:51 mugwump I don't agree to the binding on principle at all, but it would be nice if I can use perl6 to write scripts intended to be run in tight situations
03:51 mugwump s/agree/disagree/
03:54 mugwump eg, /sbin scripts that can't rely on /usr
03:56 putter I'm afraid my brain is squarely in the end-of-day burnt out toast stage.
03:57 putter The little idea was that p6/haskell are both benefiting, technically or socially, from the current relationship via pugs.  But...
03:59 putter we know pugs role will change with time.  Perhaps pugs will merely become "the thing we bootstrapped off of" and "just another success story".  But...
04:00 putter But perhaps there is opportunity for a richer long term relationship.
04:01 putter I would much rather write p6 libraries in haskell than C.
04:05 mugwump for sure.  and the haskell-on-bare-metal thing interests me too
04:06 putter For bootstrap, while we can do pypy with type inference in p6 and llvm code generation... but wouldnt it be nice to hang on to the rich power of haskell...?
04:07 mugwump I think so, yes.  I want to have my cake and eat it too!
04:15 jabbot pugs - 2642 - * PGE node type is now marshalled into H
04:17 elmex has joined #perl6
04:17 putter my signoff thought for the night... p6 and hs certainly can't "marry" at this point.  p6 cant have ghc as a long-term critical component of its existence...
04:18 putter but let's not assume pugs is just a one night stand either... much of language balkanization is social rather than technical.  there
04:19 meppl has quit IRC (Remote closed the connection)
04:20 putter are long term ways in which both p6 and hs would benefit from being able to cooperate more closely than is typical between languages.  by
04:24 putter keeping an eye out for possibilities, the current nifty community overlap may find opportunities in the coming months that may become less accessible later on.
04:24 putter random thought.  g'night all.
04:25 putter mugwump, stevan: thanks for the comments.
04:26 * mugwump looks forward to a future full of lambdacamels
04:27 putter ;)
04:29 CapoeiraA has quit IRC (Read error: 110 (Connection timed out))
04:30 CapoeiraA has joined #perl6
04:30 putter hey ingy, could freepan grow a compile farm and serve binaries....?   a whole bunch of Inline::Foo and "what compiler was perl compiled with" issues might simplify...
04:30 drbean has joined #perl6
04:31 putter has quit IRC ("Leaving")
04:36 autrijus PerlJam: so it's 8 hours now, and I see no PGE :-/
04:36 * autrijus decides to $work and wait some more
04:37 * obra snickers
04:40 luqui has quit IRC (Remote closed the connection)
04:45 drbean has quit IRC (Read error: 104 (Connection reset by peer))
04:45 drbean has joined #perl6
04:48 Khisanth has joined #perl6
04:53 drbean has quit IRC (Read error: 104 (Connection reset by peer))
04:53 drbean has joined #perl6
04:58 drbean has quit IRC (Read error: 104 (Connection reset by peer))
05:11 elmex has quit IRC ("leaving")
05:12 elmex has joined #perl6
05:12 elmex has quit IRC (Read error: 104 (Connection reset by peer))
05:26 osfameron_ has joined #perl6
05:30 osfa has joined #perl6
05:32 Forth_ has quit IRC (Read error: 54 (Connection reset by peer))
05:32 SM_ax has joined #perl6
05:34 rob__ has joined #perl6
05:34 drbean has joined #perl6
05:37 simcop2387-vnc has quit IRC (Read error: 110 (Connection timed out))
05:37 simcop2387 has quit IRC (Read error: 110 (Connection timed out))
05:37 osfameron_ has quit IRC (Read error: 60 (Operation timed out))
05:43 rob_ has quit IRC (Read error: 110 (Connection timed out))
05:48 drbean has quit IRC (Read error: 104 (Connection reset by peer))
05:48 drbean has joined #perl6
05:54 drbean has quit IRC (Read error: 104 (Connection reset by peer))
05:54 drbean has joined #perl6
05:59 drbean has quit IRC (Remote closed the connection)
06:16 drbean has joined #perl6
06:19 saorge has quit IRC ("Leaving")
06:21 bisy has joined #perl6
06:26 gaal Juerd about?
06:27 gaal It's a little funny how Larry's open* examples on p6-l don't have a filename arg anywhere. :)
06:31 nothingmuch has joined #perl6
06:32 metaperl has joined #perl6
06:33 metaperl what does &? do
06:33 metaperl $?BLOCK.firstlist
06:33 metaperl i'm sorry
06:33 nothingmuch & means sub
06:33 metaperl yes, that is correct
06:33 nothingmuch ? means special
06:34 metaperl no $?
06:34 metaperl it was on p6l
06:34 nothingmuch no, BLOCK is a closure
06:34 nothingmuch like &?SUB is the current named/anon sub
06:34 metaperl what do you mean "special" ?
06:35 nothingmuch &?BLOCK is pretty much the same, except the union of the lexical scope is the same as the dynamic scope up to it's named sub
06:35 nothingmuch unless you do &?BLOCK.goto or other weird stuff like that
06:35 nothingmuch special - err, magical
06:35 nothingmuch basically these things are set on every scope enter
06:36 nothingmuch for that scope's lexical pad
06:36 nothingmuch for example $?POSITION stringifies to where you are
06:36 nothingmuch $?FILE is like __FILE__ in perl5
06:36 nothingmuch $?SUBNAME is the name of the sub
06:36 metaperl oh instead of $.
06:36 nothingmuch while &?SUB is the actual code of it
06:37 metaperl the "." for method calls is not as visually distinctive as "->"
06:37 metaperl $_.x
06:37 metaperl $_->x
06:37 nothingmuch no, $. is something else, it's the line number counter for the last read FH
06:37 nothingmuch i guess that will become $fh.record_number
06:37 nothingmuch or something like that
06:37 nothingmuch arguably it looks better for properties
06:38 nothingmuch IMHO it doesn't matter that much
06:38 nothingmuch it's meant to make perl more readable for the rest of the world
06:38 nothingmuch brb, IRC client updated
06:38 metaperl I see... I'm going to check out magicals in the synopses
06:38 metaperl ok
06:38 nothingmuch S02 lists quite a few
06:39 nothingmuch has quit IRC ()
06:40 nothingmuch has joined #perl6
06:51 castaway_ is now known as castaway
06:55 metaperl what does the Perl method do?
06:55 metaperl http://www.hcoop.net/~terry/haskell/pugs/pugs/examples/games/animals.p6
06:55 metaperl in that source
06:56 nothingmuch metaperl: there is nice use of &?BLOCK to do anonymous factorial
06:56 metaperl nohtingmuch, I saw it
06:56 metaperl $info.perl
06:56 nothingmuch think data::Dumper
06:56 metaperl confuses me
06:57 metaperl in the URL I gave at the bottom
06:59 nothingmuch i think it's a terrible method name
06:59 nothingmuch $foo.dump_perl; # better
06:59 nothingmuch but you can eval $foo.perl and get the same thing
06:59 khisanth_ has joined #perl6
07:00 Khisanth has quit IRC (Nick collision from services.)
07:01 khisanth_ is now known as Khisanth
07:03 Aankhen`` has joined #perl6
07:05 blackdog has joined #perl6
07:05 metaperl many questions on this:
07:05 metaperl 1 while =$dict ~~ rx:perl5/\S/;
07:06 metaperl what does the =$dict mean? what is the equals sign in front mean?
07:07 marcusT has joined #perl6
07:08 autrijus unary = is readline.
07:08 drbean has quit IRC (Read error: 110 (Connection timed out))
07:08 metaperl oh and rx:perl5 means use perl5 regexps?
07:09 larsen has joined #perl6
07:14 autrijus yeah.  rx:P5 works too
07:16 drbean has joined #perl6
07:16 thiesen has joined #perl6
07:21 drbean has quit IRC (Read error: 104 (Connection reset by peer))
07:24 metaperl I have a question about function escaping within a string based on this code: http://www.hcoop.net/~terry/haskell/pugs/pugs/examples/games/hangman.p6
07:24 metaperl the code apparently has { func_call } within a string... how does perl6 know to run the function and not literally interpret the text
07:25 mauke because it's surrounded by { }, apparently
07:28 nothingmuch metaperl: this is probably discussed in s02 (guessing)
07:28 nothingmuch also note that @array does not interpolate anymore
07:28 nothingmuch you have to say @array[2] or @array[] to get it all
07:28 metaperl ok i'll check s02
07:30 marcusT has quit IRC (Read error: 110 (Connection timed out))
07:34 Aankhen`` HI NOTHINGMUCH
07:34 * Aankhen`` coughs.
07:34 Aankhen`` Sorry.
07:44 lightstep has joined #perl6
07:44 lightstep MonadEval seems to be in limbo. is this purposeful, or would one way be picked eventually? (cf. line [email@hidden.address]
07:48 Aankh|Clone has joined #perl6
07:53 Aankhen`` has quit IRC (Read error: 60 (Operation timed out))
07:53 Aankh|Clone is now known as Aankhen``
07:57 marcusT has joined #perl6
08:07 autrijus lightstep: it is shining new. it will be picked up.
08:08 autrijus lightstep: for example, it is my wish to make Pugs.Compile.Parrot into a MonadEval.
08:08 autrijus lightstep: so exactly the same code, such as
08:08 autrijus    foo <- asks envLexical
08:08 autrijus can generate IMC in the compiler monad.
08:08 bisy has quit IRC ("bye!")
08:09 lightstep but the transformation can be done slowly, since Eval is MonadEval
08:09 autrijus exactly
08:09 autrijus so ideally we need to gradually refactor
08:09 autrijus common eval routines from
08:09 autrijus Foo -> Bar -> Eval Baz
08:09 autrijus into
08:09 autrijus (MonadEval m) => Foo -> Bar -> m Baz
08:09 autrijus and leave only the specific-to-interpreter things around
08:10 autrijus at that time it may make more sense to call it
08:10 autrijus Foo -> Bar -> Interp Baz
08:10 autrijus or some such.
08:10 autrijus makes sense?
08:10 lightstep very much
08:10 autrijus =)
08:10 thiesen has quit IRC (Read error: 110 (Connection timed out))
08:11 autrijus I'd appreciate any help you can lend on this matter... changing signautres to most of AST.hs utility functions would be a good start
08:11 autrijus and/or Eval.hs functions
08:12 autrijus also, haddocking that description around MonadEval will help a lot too
08:12 lightstep where is haddock's documentation?
08:13 castaway (documentation for the documentation ?)
08:14 iblechbot has joined #perl6
08:14 BigBear has joined #perl6
08:14 lightstep yes
08:14 lightstep for haddock - the format, mostly
08:16 * castaway hopes the haddock package has some ,)
08:17 lightstep nm, it''s at haskell.org/haddock/docs
08:18 castaway makes some degree of sense ,)
08:18 lightstep yes
08:23 BigBear has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.2/20050321]")
08:36 lightstep i actually don't understand the plan. say Parrot is an instance of MonadEval. then the compilation stage Parrot->String will compile and convert the instructions to parrot code. but how will liftIO work in Parrot? or Control.Monad.Reader.local? these operation don't make sense, to me, when building an AST
08:38 lampus has quit IRC (Read error: 60 (Operation timed out))
08:51 Juerd gaal: About now.
08:52 scook0 has joined #perl6
08:55 kungfuftr bah
08:55 kungfuftr playstation2-- # time sink
08:59 castaway *g+
09:04 blackdog has quit IRC (Read error: 113 (No route to host))
09:15 marcusT has quit IRC ("Konversation terminated!")
09:16 thiesen has joined #perl6
09:28 drbean has joined #perl6
09:28 theorbtwo has joined #perl6
09:29 theorbtwo G'morning, all.
09:34 drbean has quit IRC (Read error: 104 (Connection reset by peer))
09:34 drbean has joined #perl6
09:35 autrijus greetings theorbtwo-san.
09:36 autrijus thanks for the signaturing and haddoccking.
09:38 theorbtwo Mostly just been doing signaturing; I don't feel like I understand the code all that well to be really haddocking.
09:44 meppl has joined #perl6
09:51 drbean has quit IRC (Read error: 104 (Connection reset by peer))
09:55 Jouke has joined #perl6
09:55 Jouke has left
09:55 * Juerd moved some things around in his room - now it's a bigger mess than ever before
09:56 Juerd I'm starting to wonder if this was a good idea.
09:56 Juerd I think I just mostly need to throw a lot of stuff away
09:57 Juerd Empty boxes, broken hardware, things I never use
09:57 Juerd Or the combination of all those
09:57 Juerd Like the broken MSX computer that I never use, and its empty box that is a few meters away from the thing.
09:59 BigBear has joined #perl6
10:00 drbean has joined #perl6
10:03 _metaperl has joined #perl6
10:09 theorbtwo Juerd, where do you live?  And are any of those machines decently recent PPC?
10:09 theorbtwo I can't get my mac to do /anything/.
10:10 * castaway sneaks over and snuggles theorbtwo
10:11 marcusT has joined #perl6
10:16 drbean has quit IRC (Read error: 104 (Connection reset by peer))
10:16 drbean has joined #perl6
10:20 metaperl has quit IRC (Read error: 110 (Connection timed out))
10:23 iblechbot has quit IRC (Success)
10:25 thiesen has quit IRC (Read error: 110 (Connection timed out))
10:25 jabbot pugs - 2643 - More Haddocks for Eval/AST
10:26 marcusT has quit IRC ("Konversation terminated!")
10:27 _metaperl has quit IRC (Read error: 110 (Connection timed out))
10:27 broquaint has joined #perl6
10:35 drbean has quit IRC (Read error: 104 (Connection reset by peer))
10:35 drbean has joined #perl6
10:36 * castaway pokes bro.
10:41 drbean has quit IRC (Read error: 104 (Connection reset by peer))
10:44 iblechbot has joined #perl6
10:45 broquaint Hey, c, how's tricks?
10:49 castaway nay bad, thanks.. 3-day week this week :)
10:50 broquaint Sweet :)
10:50 broquaint When are you in to2 heading over to Blighty?
10:50 broquaint s/in/and/
10:51 castaway Thursday afternoon
10:53 broquaint Cool stuff.
10:53 Juerd theorbtwo: Heh, I don't have many machines.
10:53 Juerd theorbtwo: I've always upgraded part by part
10:53 castaway he wandered off, Juerd
10:54 Juerd theorbtwo: And no, no PPCs except my mini
10:54 Juerd castaway: The same way I read his old messages, I'm sure he can read mine.
10:55 jabbot pugs - 2644 - * undef in grouped lhs: `my ($x, undef,
10:56 lightstep has quit IRC ("library")
11:01 * castaway shrugs.
11:07 Jonathan_ has joined #perl6
11:23 meppl has quit IRC (Remote closed the connection)
11:35 jabbot pugs - 2645 - * rename `Junc` constructor to `MkJunc`
11:39 elmex has joined #perl6
11:39 autrijus hey Jonathan_, elmex.
11:43 thiesen has joined #perl6
12:05 mahadeo has joined #perl6
12:24 Limbic_Region has joined #perl6
12:39 Odin-LAP has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 Odin- has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 b6s has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 Southen[a] has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 coet has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 thiesen has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 Aankhen`` has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 rob__ has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 castaway has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 cjn has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 metaperl_ has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 blackbart has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 cls_bsd has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 ingy has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 webmind has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 CapoeiraB has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 lukhnos has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 clkao has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 elmex has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 BigBear has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 gugod has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 mtve has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 revdiablo has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 decay has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 cookys has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 scw has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 mauke has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 chady_ has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 hcchien has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 perlbot has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 theorbtwo has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 CapoeiraA has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 ihb has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 perdix has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 boogie has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 sahadev has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 jabbot has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 hattmoward has quit IRC (orwell.freenode.net irc.freenode.net)
12:39 jiing has quit IRC (orwell.freenode.net irc.freenode.net)
12:40 misc has quit IRC (Read error: 54 (Connection reset by peer))
12:40 misc_ has joined #perl6
12:40 Jonathan_ autrijus: Hi :)
12:41 mugwump has quit IRC (Read error: 54 (Connection reset by peer))
12:41 mugwump has joined #perl6
12:41 plasmabal has quit IRC (Killed by sagan.freenode.net (Nick collision))
12:41 plasmabal has joined #perl6
12:41 thiesen has joined #perl6
12:41 elmex has joined #perl6
12:41 BigBear has joined #perl6
12:41 theorbtwo has joined #perl6
12:41 Aankhen`` has joined #perl6
12:41 rob__ has joined #perl6
12:41 CapoeiraA has joined #perl6
12:41 ihb has joined #perl6
12:41 castaway has joined #perl6
12:41 cjn has joined #perl6
12:41 Odin- has joined #perl6
12:41 Odin-LAP has joined #perl6
12:41 metaperl_ has joined #perl6
12:41 perdix has joined #perl6
12:41 b6s has joined #perl6
12:41 boogie has joined #perl6
12:41 gugod has joined #perl6
12:41 mtve has joined #perl6
12:41 revdiablo has joined #perl6
12:41 sahadev has joined #perl6
12:41 Southen[a] has joined #perl6
12:41 decay has joined #perl6
12:41 lukhnos has joined #perl6
12:41 blackbart has joined #perl6
12:41 cls_bsd has joined #perl6
12:41 cookys has joined #perl6
12:41 ingy has joined #perl6
12:41 CapoeiraB has joined #perl6
12:41 chady_ has joined #perl6
12:41 coet has joined #perl6
12:41 hattmoward has joined #perl6
12:41 clkao has joined #perl6
12:41 jabbot has joined #perl6
12:41 perlbot has joined #perl6
12:41 scw has joined #perl6
12:41 hcchien has joined #perl6
12:41 webmind has joined #perl6
12:41 mauke has joined #perl6
12:41 jiing has joined #perl6
12:43 lambdabot has quit IRC (Remote closed the connection)
12:45 jabbot pugs - 2646 - Haddocks for AST/Types
12:49 gaal has quit IRC ("Trillian (http://www.ceruleanstudios.com")
12:49 gaal has joined #perl6
12:52 CamelPeak has joined #perl6
12:53 stevan morning all
12:53 autrijus yo stevan-san!
12:54 autrijus how's $work?
12:54 * autrijus finally did some small amount of $work today
12:54 stevan $work is okay
12:54 stevan I did some :todo<attr> stuff last night
12:55 stevan I wanted to run it by you before I commitied it though
12:55 autrijus sure, go ahead
12:55 stevan I also got Algorithms in the mail yesterday :)
12:55 autrijus oooh :)
12:55 autrijus the first few chapters are deceptively easy to pick up.
12:55 stevan just a quick look through and I already feel like I understand Pugs better
12:55 autrijus :D
12:56 autrijus also, docs/haddock/index.html helps a lot
12:56 autrijus to me, even
12:56 stevan I have so many programming books, but this is my first haskell book :)
12:56 autrijus makes me all the more motivated to refactor
12:56 autrijus stevan++
12:56 * stevan makes a note to run the haddock stuff and read the docs
12:56 stevan ok,... the :todo<attr> stuff
12:57 stevan so what it does is to pass through whatever you give to :todo
12:57 stevan and print it as the TODO "reason" (in TAP speak)
12:57 stevan so :todo<bug>, will print # TODO bug
12:57 stevan :todo will just print # TODO
12:58 stevan then i added some code to our Test::Harness to count each different type of TODO
12:58 stevan (this info is available to the smoker too)
12:59 autrijus ok. worksforme
12:59 stevan so when you run a particular test with prove, you will see how many :todo, :todo<bug>, :todo<anything> there are
12:59 autrijus I think it's useful upstream as well
12:59 stevan maybe
12:59 stevan I personally never used TODO until Pugs
12:59 autrijus yes. then the yaml renderer can colour them differently
12:59 stevan hmmm, thats true
12:59 * autrijus likes colours
13:00 stevan ok I will work with nothingmuch & co. on that part
13:00 autrijus since it has access to all todo tags
13:00 autrijus it can simply assign them based on lexographic order
13:00 stevan well that access was always there actually
13:00 autrijus different shades of green, etc
13:00 stevan a rainbow of TODOs :P
13:00 autrijus ah right.
13:00 autrijus just need to grep the diag stream
13:01 autrijus but I think lifting it to model makes more sense
13:01 autrijus instead of
13:01 autrijus todo: 1
13:01 autrijus todo: ''
13:01 autrijus (as currently stands)
13:01 autrijus now it can be
13:01 autrijus todo: 'bug'
13:01 autrijus todo: ''
13:01 autrijus (talking about tests.yml)
13:01 mahadeo has quit IRC (".")
13:02 stevan autrijus: sorry one sec, $work called
13:03 autrijus 'tis okay
13:03 autrijus I need to grab food too
13:03 autrijus see you in a bit
13:03 stevan ok
13:03 stevan and I agree with all your comments :)
13:03 autrijus :)
13:04 stevan I am going to do a make test and commit
13:05 Aankhen`` We have rules now?
13:05 stevan I will explain it on perl6-c too so that others can start :todo<bug|feature|parsefail|hardfail> the tests :)
13:05 stevan Aankhen``: we have perl5 reg-exp
13:05 stevan and the PGE is in the Pugs tree, but not working with Pugs yet
13:05 Aankhen`` r2629 | autrijus | 2005-05-02 22:56:05 +0530 (Mon, 02 May 2005) | 1 line
13:05 Aankhen`` * PGE is now part of Pugs; :P5 restriction lifted from rx// and s///.
13:05 Aankhen`` Ahh.
13:05 Aankhen`` Darn.
13:05 jhorwitz has joined #perl6
13:05 stevan that may take a while, and first priority right now is Objects :)
13:06 Aankhen`` Oh well.
13:06 autrijus and more importantly, we are will waiting for patrick.
13:06 Aankhen`` I just want them to play with anyway. :-P
13:06 Aankhen`` Patrick?
13:06 autrijus patrick, author of PGE.
13:06 Aankhen`` Ah.
13:06 autrijus the tree's PGE version is dated (and old and obsoleted)
13:06 Aankhen`` Awww.
13:06 autrijus he promised a new version Real Soon Now
13:06 Aankhen`` Heh.
13:07 * stevan wonders how autrijus eats/showers/sleeps and still manages to chat on #perl6 :)
13:07 autrijus stevan: easy, by chatting while eating/showering/sleeping
13:07 Aankhen`` I don't think autrijus sleeps. :-P
13:07 autrijus Aankhen``: so, if you use rx// in pugs
13:08 stevan :)
13:08 autrijus you'll see a data structure repensenting the compiled Rule
13:08 stevan haskell or perl?
13:08 autrijus it's just a Simple Matter (tm) to turn it into a pattern matching function
13:08 autrijus probably in ST monad
13:08 autrijus stevan: haskell.
13:08 autrijus that actually is a quite good exercise for beginning lambdafolks.
13:08 autrijus translating the machine in pge_gen.c to haskell, that is
13:09 autrijus however, this is old PGE, as I said
13:09 Aankhen`` Ah.
13:09 autrijus but adapting it to new PGE should be very trivial
13:09 autrijus but, as stevan said, I'm not personally listing it as high priority :)
13:10 autrijus getting the OO model figured out and out of door is.
13:11 Jonathan_ autrijus: Were you after me for something earlier, or just saying hi? :)
13:11 autrijus Jonathan_: just saying hi
13:11 Jonathan_ Ah, cool.
13:11 stevan autrijus++ # because make test is running so fast now :)
13:11 autrijus :D
13:12 autrijus bbiab &
13:12 Jonathan_ Limbic_Region: ping
13:13 khisanth_ has joined #perl6
13:16 stevan whoo hoo! my copy of Tiger is "OUT FOR DELIVERY" according to amazon
13:17 khisanth__ has joined #perl6
13:19 Khisanth has quit IRC (Read error: 60 (Operation timed out))
13:21 khisanth__ is now known as Khisanth
13:23 Juerd I'm amazed by the number of people willing to pay a fortune for a minor upgrade
13:24 khisanth_ has quit IRC (Read error: 145 (Connection timed out))
13:24 * theorbtwo too.
13:25 stevan Juerd: its not really that minor
13:25 theorbtwo stevan, BTW, I got a copy of 9.1, and it's also not working.
13:25 stevan theorbtwo: sorry I totally forgot about that
13:28 Juerd stevan: I fail to see the major improvement. Spotlight? That's a nice thing to have, but worth maybe $10 in the shareware world.
13:29 theorbtwo stevan: No big.  I wanted to try getting it from another source anyway.
13:30 stevan Juerd: spotlight could not be shareware since it integrates soo tightly into all the existing mac apps
13:30 stevan well it could be shareware,.. but i wouldnt use it
13:30 stevan (and take the chance of breaking everything)
13:30 Juerd stevan: Oh, and mac software is unscriptable of course... :P
13:30 stevan Juerd: scriptable is one thing, tightly integrated search is another
13:31 Juerd Still, I wouldn't pay this much for an upgrade. For a new install, sure, I'd say it was cheap even.
13:32 stevan Juerd: to each their own :)
13:32 stevan I dont mind paying it
13:32 Juerd Are you rich?
13:32 stevan Juerd: nope
13:33 stevan just love my mac :)
13:33 Juerd Ah, that must be the difference then
13:33 Juerd I love the hardware, not the software.
13:33 Juerd The OS sucks as much as Windows and Linux+KDE, but in different ways
13:33 stevan I see hardware like I see my toaster, it should just work
13:33 stevan software is what I am interested in
13:34 stevan Juerd: to a degree, all software sucks
13:34 stevan we are in the stone age of computers
13:34 Juerd Yes, but there should be software that sucks less than other software
13:34 stevan software developement is about maybe 50 years old
13:34 stevan that is very young
13:35 stevan if you compare it to bridge building
13:35 Juerd It's a very different science
13:35 stevan Juerd: yes it is, and one that has been perfected over thousands of years
13:35 Juerd It is only/mostly because of Microsoft that software isn't developing at much higher pace
13:35 Juerd stevan: Perfected? All but.
13:36 stevan Juerd: perfect being a relative term :)
13:36 Juerd That's a bad definition
13:36 stevan s/has been perfected/is being perfected/
13:36 Juerd perfection is the most absolute value :)
13:37 Juerd Quality is always on a scale from nonexistence to perfection
13:37 Juerd (where nonexistence is more like undef than 0)
13:38 stevan and current software is on the low end of that scale
13:38 Juerd That's impossible to say
13:39 Juerd Because we don't know what perfection is
13:39 Juerd For all we humans know, it's as far away as infinity.
13:39 stevan Juerd: now your getting all philosophical on me :P
13:39 Juerd s/your/you're/
13:39 stevan s/your/yur/ :P
13:40 Juerd And of course I'm getting philosophical - how else to view the world?
13:40 stevan LOL
13:40 wolverian as if there's a perfect objective interface..
13:41 scook0 has quit IRC ("Leaving")
13:56 jabbot pugs - 2647 - this revision has the new :todo<attr> co
14:06 * theorbtwo wants to hack on bringing in the PGE stuff, but is uncertian where to begin...
14:06 theorbtwo PGE is in Text.PGE, so presumably Autrijus doesn't want it colored with stuff from the Pugs namespace, meaning that the glue doesn't go there... I think.
14:07 theorbtwo Unless I should add a function there that gets text and matches against it, but general perl should be available from inside of rules, so probably not.
14:07 autrijus theorbtwo: yo.
14:07 autrijus theorbtwo: the easiest way is to start by emulating RRegex interface.
14:08 autrijus and don't worry about embedding perl inside it yet.
14:08 autrijus actually, just provide a
14:08 autrijus matchRule :: String -> Node -> Maybe [String] -- returns captured
14:08 autrijus is a very good start.
14:08 autrijus then we can move it inside eval monad.
14:08 autrijus one thing at a time.
14:08 theorbtwo OK.
14:09 autrijus for how to write matchRule, consult pge_gen.c
14:09 autrijus it has detailed plan of how to translate a Node into an execution context.
14:09 PerlJam so ... did pm release his pge rewrite yesterday?
14:09 autrijus I'd probably use the ST monad.
14:09 SM_ax has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.7/20050420]")
14:09 autrijus and carry on the local context with ST.
14:09 autrijus you can also use ReaderT ST if you feel like.
14:09 autrijus PerlJam: not at all.
14:09 PerlJam bummer :(
14:09 autrijus ;)
14:10 autrijus theorbtwo: for a demo of runST and ST monad, see my perlmonk post wrt BrowserUk a while ago
14:10 autrijus brb &
14:14 gaal has quit IRC ("Trillian (http://www.ceruleanstudios.com")
14:14 gaal has joined #perl6
14:15 gaal is now known as roo
14:15 roo is now known as gaal_
14:19 gaal_ i think we need objects for a reasonable implementation of pipe open.
14:19 gaal_ reasonable interface that is.
14:19 gaal_ is now known as gaal
14:19 gaal does everybody get pestered by NickServ, or is it just me?
14:20 castaway not me, mines not registered :)
14:21 theorbtwo I set gaim to log in for me, and just close the "you are identified" message.
14:22 gaal either i'd registered a while ago and forgot; or someone else registered this nick; but if it was me then it oughta have been recycled already.
14:24 theorbtwo Hm, I don't see a forgotten password mechinisim.
14:24 theorbtwo Talk to the admins?
14:25 gaal yeah
14:25 gaal i mean, i should.
14:35 jabbot pugs - 2648 - Added svn:eol-style => "native" to t/ an
14:36 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
14:36 sbkhh has joined #perl6
14:36 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
14:36 Odin-LAP has joined #perl6
14:36 metaperl has joined #perl6
14:37 * Limbic_Region pokes his head in and looks about
14:37 stevan howdy Limbic_Region
14:37 theorbtwo Allo, Joshua.
14:38 stevan Would you like to play a game?
14:38 Limbic_Region as long as "thermo-nuclear" isn't in the title
14:38 stevan LOL
14:40 Limbic_Region stevan - thanks for p6ifying my infinite lazy list code
14:40 Limbic_Region feel free to update it in the repository too
14:40 stevan Limbic_Region: no problem, thanks for writing it in the first place :)
14:40 stevan Limbic_Region: I didnt know you had commited it
14:41 Limbic_Region yep
14:41 stevan Limbic_Region: you should put a link back to the svn repo, so people can always check the latest version
14:41 Limbic_Region my goal is to learn enough p6 to be able to answer relatively simple questions at the Monastery with both p5 and p6 answers
14:41 Limbic_Region ok
14:42 Limbic_Region will update
14:42 stevan has quit IRC ("Leaving")
14:42 stevan has joined #perl6
14:43 autrijus gaal: you can fake objects using VOpaque, you know that?
14:43 stevan autrijus, and co: I have sent a description of the new layered TODO functionality to perl6 compiler
14:43 Limbic_Region stevan - the node has been updated to point to http://svn.openfoundry.org/pugs/examples/inf_lazy_list.p6 for latest version
14:43 stevan questions, comments, suggestions welcome :)
14:44 stevan Limbic_Region: excellent
14:44 Limbic_Region so I have a couple of todo follows
14:44 Limbic_Region err followups even
14:45 Limbic_Region autrijus - we were going to look at the my foo = sub { ... return sub { ... } } issue of not being able to drop the sub keyword in both cases
14:45 stevan Limbic_Region: It also did not want to handle pointy subs either (-> {})
14:46 Limbic_Region nothingmuch - I was going to look at the splatted parameters shouldn't be rw test and see if I could think of any varations as well as investigate as o the proper way to throw/catch the error
14:46 CapoeiraA has quit IRC (Connection timed out)
14:46 * stevan has to take the dog out &
14:46 Limbic_Region and apparently - Jonathan_ wanted to talk to me too
14:46 Limbic_Region Jonathan_ ping
14:47 CapoeiraA has joined #perl6
14:56 Limbic_Region is there an easy/straightforward way to add to a junction of any() or all()
14:59 PerlJam Limbic_Region: wish I knew.  Given $j=1|2|3;  does $k=$j|7|8 make some sense other than "adding" to the junction?
15:00 PerlJam If so, then you'll probably need something like  $k=$j.values|7|8
15:00 theorbtwo any(any(1,2,3),7,8), I think.
15:00 theorbtwo any($j.values, 7, 8) is I think what you want.
15:02 PerlJam theorbtwo: I tend to think that any(any(1,2,3),7,8) means the same as any(1,2,3,7,8)
15:05 jabbot pugs - 2649 - s/:todo/:todo<feature>/ in t/oo/.
15:07 * Limbic_Region tries to think of an example that makes sense since what is in his head isn't coming out right
15:12 Limbic_Region ok - you have won a shopping spree, you are allowed to pick exactly 1 item from anything in the store.  As you are walking up and down the isles, a new shipment of doodads comes in - since any( @entire_store ) is already quite large - what is the sane way of adding 1 more item to my current junction?
15:21 PerlJam Limbic_Region: I think that way is $store |= $one_more_item
15:21 justatheory has joined #perl6
15:22 ninereasons has joined #perl6
15:24 elmex has quit IRC ("leaving")
15:24 * Limbic_Region is going to eat pizza and think about it
15:26 CamelPeak has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
15:29 * shapr is going to think about pizza while doing work.
15:34 Southen has joined #perl6
15:36 zuulvin_ has joined #perl6
15:37 sbkhh is now known as Odin-
15:48 Southen[a] has quit IRC (Client Quit)
15:51 ninereasons I wrote a test for the pairs method assuming that I understood what a pair is. I'm not so sure, now.
15:51 ninereasons Presently, the pairs method returns a different kind of data structure, depending on the context.
15:52 ninereasons S09 says that context matters.
15:52 ninereasons but how much?
15:52 ninereasons see the example
15:52 pasteling "ninereasons" at 199.107.164.126 pasted "are all behaviors of the pairs method correct?" (26 lines, 497B) at http://sial.org/pbot/9873
15:57 Limbic_Region FAQ:  "How do I get a list of unique elements from an array" - Answer:  my @uniq = grep { one( @list ) eq $_ } @list;
15:57 Limbic_Region anyone see that as being a "good idea"?
15:59 broquaint hash { @array.map:{ $_=> 1 } }.keys ;)
16:00 Limbic_Region broquaint - not necessarily the solution - the idea
16:00 Limbic_Region the p5 FAQs in p6
16:01 broquaint I figured, L~R, was just playing around. Seems a little awkward, but that's probably because of the one() usage.
16:03 broquaint Can junctions been flattened? I forget :/
16:04 Limbic_Region broquaint - say any( @list ).values;
16:04 pasteling "ninereasons" at 199.107.164.126 pasted "unspecced 'pair' method" (16 lines, 292B) at http://sial.org/pbot/9876
16:04 Limbic_Region that's the best way of doing it
16:04 ninereasons compare the behavior of the pairs method, to the unspecced 'pair' method.
16:04 broquaint Thanks, L~R.
16:05 Limbic_Region broquaint - the only two methods I know about for junctions ATM is .values and .pick
16:05 Limbic_Region but I am sure others in the know have all kinds of wizardry up their sleeve
16:06 Limbic_Region it is quite elegant though (as long as order isn't important)
16:06 Limbic_Region say "unique = ", any( @list ).values;
16:06 broquaint Is that meant to produce a unique list of values from @list?
16:07 Limbic_Region no, but that is the end result
16:07 Limbic_Region forget about junctions and think of quantum superpositions
16:08 Limbic_Region the eigenstates were the values that the superposition could take on
16:08 ninereasons s/,/~/
16:08 ninereasons say "unique = " ~ any( @list ).values;
16:08 Limbic_Region thanks ninereasons
16:08 ninereasons :-)
16:08 * Limbic_Region is still writing p6 with p5
16:09 Limbic_Region from that perspective broquaint - they are the same state so you only need 1 of them.  If we were going to stay in the realm of Q::S though, probabilities of state when things collapsed would have to be kept too
16:09 ninereasons it's not so bad a problem as writing p5 with p6, Limbic_Region
16:09 metaperl_ is "~" string concatenation
16:09 Limbic_Region but fortunately it isn't needed - so the states are unique
16:10 ninereasons bool:true metaperl
16:10 metaperl_ ninereasons, thanks
16:11 Limbic_Region sorry - I saw that as a statement not a question
16:11 * Limbic_Region knew the answer but parsed the question wrong
16:12 Limbic_Region ok - so no screams and shouts for the p5 FAQs to have p6 answers ATM?
16:13 ninereasons I have more questions than answers right now, Limbic_Region
16:13 * ninereasons thinks this might be a permanent condition
16:13 Limbic_Region ninereasons - now I think you misparsed
16:14 Limbic_Region I wasn't proposing a p6 FAQ
16:14 Limbic_Region I was proposing answering the p5 FAQ with p6 answers
16:14 ninereasons that's what I mean, Limbic_Region .  I'm not sure that I would recognize the canonical answer if I saw it
16:15 Limbic_Region ahhh
16:15 ninereasons what you posted looks good to me
16:15 Limbic_Region yeah - there is definately the issue of toomwtdi coming into play
16:15 Limbic_Region *shrug* - just an idea
16:16 autrijus $ ./pugs -e 'for (1..3) { state $x; $x += $_; say $x }'
16:16 autrijus 1
16:16 autrijus 3
16:16 autrijus 6
16:16 autrijus yay, works.
16:16 autrijus rehi, btw :)
16:16 Limbic_Region so we have C's static ?
16:16 autrijus implementing state() involves a one-line change...
16:16 autrijus one-line revert, actually
16:17 autrijus because for a couple hours a few days ago, our my() was acting like state()
16:17 autrijus (which the tests dutifully caught)
16:17 autrijus Limbic_Region: yeah. or perl 5's
16:17 autrijus my $x if 0;
16:17 autrijus tests welcome for that
16:17 Limbic_Region right, but p5's behavior was never defined nor intended to work
16:18 autrijus actually, tests welcome for let() too, although I'm not quite sure what does that do
16:18 autrijus temp() too.
16:18 autrijus and for state(), of course
16:18 autrijus Limbic_Region: right. it is nevertheless quite useful.
16:18 broquaint let() only works within the context of a rule doesn't it?
16:18 ninereasons let sounds interesting
16:18 Jonathan_ Limbic_Region: I'm here now - just wanted to check how the latest Pugs Win32 build worked out for you.
16:19 Limbic_Region 6 mb binary - but working fine
16:19 Limbic_Region I just fiddle when I want to run tests Jonathan_
16:19 ingy hola kids
16:19 Limbic_Region and after thinking about it - anyone who is intelligent enough to want to write/run tests should be smart enough how to get it working after you did all the hard work
16:19 autrijus broquaint: no...
16:20 Jonathan_ I would still like it to work out of the box, mind... :S
16:20 autrijus $x = 9; try { let $x = 10; die "bye~" }; say $x; # 10
16:20 Jonathan_ Can you say "use CGI;" or whatever, and it finds it, if you just extract the archive and run pugs.exe?
16:20 Jonathan_ I got it doing that in the tests I did..
16:20 autrijus er.
16:20 autrijus $x = 9; try { let $x = 10; die "bye~" }; say $x; # 9
16:21 autrijus sorry ;)
16:21 broquaint Oh yeah.
16:21 Limbic_Region autrijus - how should state() behave inside a factory?  Will subsequent instances of closures be "tangled" (another Q::S term)?
16:21 autrijus Limbic_Region: state is just like my()
16:21 autrijus except no new pad instance is generated on reentry.
16:21 autrijus i.e. it's initialized only once
16:21 Limbic_Region autrijus - I understand all that
16:21 autrijus so it's like a global, but useful only in lexical context.
16:21 Limbic_Region and my question remains
16:22 autrijus so all closures refers to the same variable.
16:22 autrijus same pad storage slot, that is.
16:22 autrijus they all have the common reference in their subPad.
16:22 Limbic_Region ok - so if you want a bunch of counters to be able to be used throughout the code but draw from the same pool, state() is a perfect thingy
16:22 autrijus exactly!
16:23 autrijus you can use a my() in outer scope to do the same.
16:23 autrijus but then it's overkill for visibility.
16:23 autrijus which is one of the annoying things about p5.
16:23 Limbic_Region Jonathan_ - any chance you building a new build so I can play with state() - once I get home I am in the process of moving and won't get to play
16:23 Limbic_Region autrijus - my outside of the factor for the same effect is fugly
16:23 ninereasons i've wanted just that thingy many times, in p5
16:23 Jonathan_ Limbic_Region: Sure, is it in SVN now?
16:23 autrijus Jonathan_: yes
16:24 autrijus ninereasons: the p5 idiom is
16:24 autrijus { my $state_var; sub thing { ... } }
16:24 Jonathan_ It's on its way.
16:24 Limbic_Region ninereasons - I have done it several times in p5 through various implementations - and none of them are pretty
16:24 Limbic_Region autrijus - same can be achieved using OO
16:24 Forth has joined #perl6
16:24 autrijus eh, sure. anything can be achieve with OO :)
16:24 Limbic_Region and even my own variation of multi-method closures
16:24 autrijus ah. that's more interesting
16:24 Limbic_Region but state() is a "cool" way of doing it
16:25 ninereasons autrijus, I use File::Find a lot, and hate using "my" outside of the loop especially to create an iterator.
16:25 ninereasons s/loop/block/
16:25 justatheory has quit IRC (Remote closed the connection)
16:25 autrijus ninereasons: I think you speak for many people :)
16:25 autrijus which is, come to think of it, why people are willing to write atrocious constructs like "my $var if 0".
16:25 jabbot pugs - 2650 - * implement `state $var`.
16:26 ninereasons autrijus, would you enlighten me re: my 'pairs' question ?
16:27 autrijus $pair.perl should say
16:27 autrijus ('foo' => 'bar')
16:27 autrijus or some such.
16:27 autrijus that's a pugs bug
16:27 ninereasons so, the 'pair' method is correct 'pairs' behavior ?
16:28 autrijus I think so. if you want alternating k and v, use .kv
16:28 saorge has joined #perl6
16:28 autrijus pairs support in pugs is spotty.
16:28 autrijus partly because the OOification is not yet complete
16:29 Limbic_Region what are the various ways you can refer to hash keys again besides {}  and <>  
16:33 metaperl has quit IRC (Read error: 145 (Connection timed out))
16:34 autrijus theorbtwo: hold off working on Text.PGE if you have begun -- the new PGE apparently is not C based.
16:34 autrijus it's all IMC.
16:39 Limbic_Region perlbot nopaste
16:39 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
16:40 pasteling "Limbic_Region" at 129.33.119.12 pasted "Possible use for state()" (17 lines, 310B) at http://sial.org/pbot/9877
16:41 Limbic_Region I can't test state() ATM, but if someone could please run what I just posted on the nopaste bot - I would appreciate it
16:41 autrijus 00:40 <@pmichaud> okay, okay -- I'm working on it now.  I've been working on it pretty steadily for a couple of weeks, it's within an hour or two of release
16:41 Limbic_Region except it has a mistake
16:42 pasteling "Limbic_Region" at 129.33.119.12 pasted "Can someone please test - possible use for state()" (17 lines, 315B) at http://sial.org/pbot/9878
16:42 broquaint I think you want my() there L~R, as you want $cash shared per gen_cashier() call, right?
16:42 Limbic_Region broquaint - I want all 3 cashiers to have access to the same $cash
16:42 Limbic_Region so no - my they would all get their own lexical copies
16:43 broquaint Ah, ok.
16:43 Limbic_Region $cash is "total cash for the store", not "cash in your own drawer"
16:44 Limbic_Region I was trying to be quick about it to make sure it worked as expected - I will work on "the story" later
16:45 autrijus Limbic_Region++ # OO!
16:45 autrijus (closured-based OO)++
16:45 autrijus state() is class variables, and my() is instance vars
16:45 Limbic_Region autrijus - http://www.perlmonks.org/index.pl?node_id=291486 might be of some mild interest
16:45 jabbot pugs - 2651 - a few changes  mostly related to pairs
16:46 Limbic_Region I wrote that about a year after learning p5
16:46 metaperl_ I still dont understand when multi-methods are useful
16:46 autrijus Limbic_Region: cool.
16:46 autrijus incidentally, that's how I implemented some sort of OO in QuickBasic way back when.
16:47 autrijus wow, more than 10 years ago.
16:47 metaperl_ Limbic_Region: want to tutor me? :)
16:47 Limbic_Region metaperl_ - I can give you 1 example that isn't tooooo contrived
16:47 Limbic_Region give me a second
16:47 Jonathan_ Limbic_Region: Updated Pugs Win32 build online.
16:47 autrijus metaperl_: oh. do you understand when overload are useful?
16:47 autrijus sub add (Complex $x, Num $y) { ... }
16:47 metaperl_ you mean ad hoc polymorphism?
16:48 Limbic_Region metaperl_ - see http://www.perlmonks.org/index.pl?node_id=407834
16:48 autrijus multi sub add (Complex $x, Num $y) { ... } # rather
16:48 Limbic_Region specifically sub Stats {  ... }
16:48 Limbic_Region thanks Jonathan_ - trying now
16:49 Limbic_Region in that case, you are gathinger numbers over a period of time
16:49 Limbic_Region but beyond just the total, you want the average, min, max, etc
16:50 Limbic_Region you could have made it so that you passed in what you wanted as an argument
16:50 Limbic_Region my $ave = $stats->( 'ave' );
16:50 Limbic_Region but you could have made $stats multi-method as well
16:50 Limbic_Region my $ave = $stats{ave}();
16:51 Limbic_Region one big benefit is that you can change the behavior of the closure or add closes at any time
16:51 metaperl_ Tool::Box is a nice piece of code... it seems like what might be in "Higher Order Perl" even though I have not bought the book yet
16:52 Limbic_Region metaperl_ - HOP didn't exist when I wrote Tool::Box
16:52 Limbic_Region at least it wasn't finished/published
16:52 theorbtwo autrijus: ACK to that.
16:52 autrijus theorbtwo: however, that means src/IMC/*.hs has a reason to exist :)
16:52 theorbtwo Are we going to use parrot to try to make the IMC into something we can use, or give up and write our own, or beat pmichaud about the brow until he gives in and puts it back in C, or what?
16:53 theorbtwo Hm, I should figure out what it is that it does, then.
16:53 Limbic_Region in anycase metaperl_ - there is very little the multimethod closure approach gives you that can't be accomplished some other way - just a style I happen to like
16:53 metaperl_ what does IMC mean? intermediate compiler?
16:53 autrijus metaperl_: s/compiler/code/
16:53 autrijus theorbtwo: so, I think either a Pasm interpreter
16:53 autrijus (which is probably not a great idea)
16:53 metaperl_ maybe reading the Class::Multimethods docs will elucidate things for me
16:53 Limbic_Region metaperl_ - are you familiar with the Parrot FAQ?
16:53 shapr Limbic_Region: Have you heard of Intentional Programming?
16:53 autrijus or a IMC parser+(interpreter|compiler)
16:53 metaperl_ no - not at all
16:54 Limbic_Region shapr - I haven't heard of much
16:54 PerlJam metaperl_: pir is the new imc  ;)
16:54 autrijus theorbtwo: or beat parrot folks until they produce a useful embedded parrot
16:54 * Limbic_Region is digging up the link for you metaperl_
16:54 PerlJam autrijus: good luck on that one!
16:54 autrijus actually, we have an expert here.
16:54 autrijus jhorwitz: ping?
16:54 Limbic_Region metaperl_ http://www.parrotcode.org/faq/
16:54 jhorwitz autrius: pong
16:55 autrijus jhorwitz: mod_parrot wants a parrot source tree, right?
16:55 Limbic_Region shapr - I am a programmer hobbyist (never went to school for it and don't do it professionally)
16:55 Limbic_Region so no, I haven't heard of Intentional Programming
16:55 PerlJam Limbic_Region: what do you do professionally?
16:55 jhorwitz autrijus: not sure what you mean
16:55 autrijus jhorwitz: I notice when I do "make install", the parrot embed header is not installed
16:55 ingy the beatings will continue?
16:55 Limbic_Region PerlJam - I work for the government so the stock answer is "as little as possible"
16:56 autrijus jhorwitz: a source build of parrot, instead of a binary installation
16:56 Limbic_Region PerlJam - my title is Information Technology Specialist which is a fancy way of saying I am resident jack-of-all-trades master of none IT-weenie
16:56 PerlJam Limbic_Region: So ... when there's a guy digging a hole, you're one of the 4 standing around watching him dig?
16:56 jhorwitz autrijus: yes, but that's only because at the time, "make install" didn't install includes, libs, and such.
16:56 jhorwitz not sure what the situation is now.
16:56 autrijus yeah, so do you only need
16:56 autrijus libparrot.a
16:57 autrijus and include/parrot/*h
16:57 autrijus that's all, right?
16:57 Limbic_Region PerlJam - no, I am the one in the air conditioned trailer eating delivered food who is in charge of the 4 guys standing around watching him dig
16:57 PerlJam heh
16:57 jhorwitz and parrot-config.imc
16:57 Limbic_Region metaperl_ did you get the Parrot FAQ link?
16:58 metaperl_ yes I just read it
16:58 Limbic_Region the Parrot web site is notrious for not being "up to the minute"
16:58 Limbic_Region but the content is good and it is usually reviewed circa each public release
16:59 Limbic_Region so all in all - good place to get up to speed
16:59 autrijus jhorwitz: alright. looks they are not installed yet.
16:59 mj has joined #perl6
16:59 autrijus I'm prodding them.
16:59 Limbic_Region #parrot is too (but not on this network)
17:00 autrijus theorbtwo: so, worst case, we link against libparrot.a
17:00 autrijus theorbtwo: so if you don't have parrot built, you don't get rx//.
17:01 autrijus on the plus side, that gives us much faster pugscc
17:01 autrijus and eval_imc()
17:01 autrijus and more.
17:01 autrijus oh and eval_tcl ;)
17:02 autrijus in that case Pugs will be just like Ponie :)
17:02 Limbic_Region don't forget about basic
17:02 autrijus yes. bbberry imbbortant
17:02 autrijus so, as long as the dependency is optional (much like hs-plugins), I take nobody really oppose to this? :)
17:04 Jonathan_ On a Parrotish note, how is the Pugs backend to emit IMC/PASM (I forget which) coming on though?
17:04 autrijus Jonathan_: IMC
17:04 autrijus it's coming along nicely.
17:04 autrijus most simple expressions now work.
17:05 Jonathan_ Cool. Maybe I'll have time to play with it sometime.
17:05 Limbic_Region autrijus - being opposed to really isn't the right sentiment
17:05 autrijus it's pending my next supply of tuits to make it monadic.
17:05 Limbic_Region it would be nice to have rules without all of parrot
17:05 Limbic_Region but - beggars can't really be choosers now can we
17:05 autrijus Limbic_Region: in that case, I'm afraid it's either writing a IMC interpreter
17:05 autrijus /compiler
17:06 autrijus or somehow trick parrot into generating C file
17:06 autrijus which is probably not going to happen
17:06 BigBear has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.2/20050321]")
17:06 Limbic_Region autrijus - parrot can generate a native executable on a lot of platforms
17:06 autrijus Limbic_Region: er yes.
17:06 autrijus how is that relevant?
17:07 Limbic_Region autrijus - not sure because I am not sure how it goes about generating the native executable
17:07 Jonathan_ Limbic_Region: It uses its JIT subsystem.
17:07 autrijus Limbic_Region: it's basically doing an exec().
17:07 autrijus on the embedded libparrot
17:08 autrijus so there's no C-based object file we can link to
17:08 autrijus aside from libparrot.a
17:08 Jonathan_ Limbic_Region: That is, it actually generates proper native code in an object file and then links it with libparrot and some startup stub code to initialize stuff.
17:08 Limbic_Region again - what "would be nice" isn't always "what is available"
17:09 autrijus oh, there's another option.
17:09 autrijus port PGE to Perl 6 :)
17:09 autrijus and have it generate perl 6 :)
17:10 autrijus (which is, the Ultimate Goal(tm))
17:11 justatheory has joined #perl6
17:13 jhorwitz autrijus: i make a quick & dirty hack for "module" in Parrot.hs so I can use namespaces.  it works, but can you check the paste to make sure it's sane?  i'm still a newbie here...  :)
17:14 pasteling "jhorwitz" at 216.52.77.2 pasted "module for Parrot backend" (2 lines, 119B) at http://sial.org/pbot/9879
17:15 autrijus sure!
17:15 autrijus jhorwitz: commit it?
17:15 autrijus jhorwitz: oh btw.
17:16 autrijus are you using the parrot embed api?
17:16 autrijus I wonder how do you evaluate an arbitary chunk of IMC
17:16 autrijus without writing it to a temp file
17:16 autrijus and pass it to readbc
17:16 autrijus i.e. in-memory readbc
17:16 simcop2387 has joined #perl6
17:17 jhorwitz i use Parrot_load_bytecode and then call the subs individually.
17:17 jhorwitz you should be able to use the "PIR" compiler to eval IMC directly though.
17:18 wolverian p6l++ # I often can't follow the discussion but it sounds neat
17:18 wolverian (such as Thomas Sandlaß's Re: Type system questions.)
17:18 autrijus Parrot_load_bytecode takes file too, no?
17:18 jhorwitz yes.  but i imagine it can be tweaked to load from memory...
17:19 jhorwitz been a while since i looked at the source for it
17:20 autrijus I think I want the drug Sandlaß is smoking.
17:20 autrijus it sounds like fille type lambda.
17:20 autrijus er
17:20 autrijus full type lambda.
17:20 autrijus I wonder if the builtin constraint solver can be leveraged at the Rules level.
17:21 shapr Limbic_Region: I'm a programmer hobbyist too, I never went to school, but I do get to program professionally.
17:21 autrijus jhorwitz: I see IMCC_compile_file
17:21 jhorwitz that sounds familiar
17:22 autrijus but it's commented out
17:22 * jhorwitz takes a quick look to jog his memory
17:22 autrijus I'd appreciate it.
17:22 autrijus I'm writing Pugs.Embed.Parrot, btw.
17:22 nothingmuch wow, people have been talking to me a lot today
17:22 * nothingmuch has been a lazy blob of lard
17:23 autrijus jhorwitz: once I check in, I think you'll be the person most entitled to hack it into pieces :D
17:23 * Limbic_Region agrees and kicks nothinmuch to help motivate him
17:23 jhorwitz autrijus++ for being a brave soul.  :)
17:23 nothingmuch stevan, autrijus: how will we fit this into TAP? by simply parsing '#TODO bug' etc?
17:23 nothingmuch Aankhen``: hola
17:23 nothingmuch Limbic_Region: i don't know what you mean by proper
17:24 * Limbic_Region has to scroll back to see what he said before
17:24 nothingmuch i think variations are useful
17:24 nothingmuch but perhaps effort is directed elsewhere
17:24 nothingmuch but checking that an eval died is the best way to check for an error
17:24 nothingmuch and doing something wrong is the best way to create it ;-)
17:24 Limbic_Region nothingmuch - oh, I agree
17:24 Limbic_Region what I was saying is that if it is a catchable error
17:24 Limbic_Region then ultimately what we should do is
17:25 Limbic_Region eval "foo";
17:25 Limbic_Region is( $@, 'error we expected' )
17:25 Limbic_Region of course that has p5 feel to it, but you get where I am going
17:25 nothingmuch ah
17:25 nothingmuch i disagree
17:25 Limbic_Region for now since we don't know what is the proper way to fail
17:25 nothingmuch because the specific error is impl specific
17:25 Limbic_Region we should just verify it fails
17:26 nothingmuch pugs and the one true perl 6 and some other spinoff could do it differently
17:26 Limbic_Region nothingmuch - I disagree
17:26 nothingmuch these are tests for the perl language
17:26 autrijus nothingmuch: yes, I think parsing is ok for now
17:26 Limbic_Region or rather
17:26 autrijus Limbic_Region: you going to check in the cashier example?
17:26 Limbic_Region I think we can't JUST test for failures since it might have failed for something else
17:26 nothingmuch autrijus: i can hack it in real quick, but i think i'd rather maintain this in a pugs specific subclass, because I don't want to annoy other users with this interpolation
17:26 Limbic_Region autrijus - it didn't work - playing with it ATM
17:27 nothingmuch Limbic_Region: true, but there is no reliable way to get it to stabilize better
17:27 Limbic_Region nothingmuch - right now - which I agree with
17:27 nothingmuch i think we're better off investing time in implementing exact proper behavior
17:27 nothingmuch than doing ackward stunts to test for it
17:28 autrijus nothingmuch: then maybe another scheme: "# TODO TAGGED feature"
17:28 autrijus sure, I agree with that too
17:28 Limbic_Region autrijus - if I can't get it working RSN I will throw it over the fence
17:28 autrijus Limbic_Region: cool
17:29 nothingmuch it's a trivial thing, just subclass the css_class of Test::TAP::Subtest::Visual, and make it be more specific if $self->todo
17:29 nothingmuch by parsing the actual structure
17:29 nothingmuch if that's good enough, i can have it out the door in 15 minutes
17:29 nothingmuch (because i want to read email first ;-)
17:34 pmichaud has joined #perl6
17:34 Limbic_Region autrijus - got it working but I can't check in from work :-(
17:34 Limbic_Region I know I know - same old song and dance right
17:35 pmichaud autrijus:  there will unfortunately be a slight delay before I can check pge into svn
17:35 pmichaud my network connection to svn.perl.org has gone down :(
17:35 nothingmuch Limbic_Region: nopaste it then
17:35 pasteling "Limbic_Region" at 129.33.119.12 pasted "Using state() to do OO without OO" (17 lines, 320B) at http://sial.org/pbot/9880
17:35 jabbot pugs - 2652 - add "module" support using Parrot namesp
17:36 nothingmuch pmichaud: why not use openfoundry?
17:36 Limbic_Region autrijus - is http://svn.perl.org/perl6/pugs a 1 way mirror?
17:36 pmichaud ummm, pge goes into the parrot svn
17:36 Limbic_Region errr - rather
17:36 Limbic_Region http://svn.openfoundry.org/pugs/
17:36 nothingmuch pmichaud: oh... i was under the impression a fork will be integrated into pugs... sorry!
17:37 * Limbic_Region was confused as well
17:37 nothingmuch Limbic_Region: nice code... no do roles ;-
17:37 nothingmuch )
17:37 pmichaud oh, I think that pge will be integrated into pugs, but I'm working out of the parrot svn
17:37 autrijus Limbic_Region: yes it is
17:38 autrijus pmichaud: can you put up a tarball?
17:38 Limbic_Region nothinmuch - I wan't a proof of concept - I will work on a better "story" later
17:38 autrijus or a .zip somewhere we can download?
17:38 Limbic_Region so someone going to check that in?
17:38 pmichaud autrijus -- unfortunately, my connection to my server is down also
17:38 autrijus because... Pugs.Embed.Parrot is working :D
17:38 autrijus pmichaud: aw. and your code is in your server?
17:38 pmichaud no, I have a local copy.  just a sec, lemme see what I can do
17:39 autrijus you can commit to Pugs tree as src/pge/ :D
17:39 pmichaud oh, wait, my connection just came back up (finally!)
17:39 autrijus cool!
17:39 autrijus (but I sent off an invitatino to you anyway.)
17:39 pmichaud okay, let's try this again -- should be about 30 mins :)
17:39 autrijus :)
17:39 autrijus as a backup you can always check in to http://svn.openfoundry.org/pugs/src/pge/
17:39 pmichaud okay, good to know
17:39 pmichaud thanks
17:39 autrijus np
17:40 autrijus ok. trying to make require_parrot() work...
17:40 jhorwitz autrijus++
17:41 autrijus mm what should I run.
17:41 autrijus tetris!
17:41 shapr autrijus+=42
17:41 shapr I haven't been on channel much lately, I'm sure I've missed at least 42 good opportunities.
17:42 Limbic_Region shapr - the result of $cash is of course 42
17:42 * Limbic_Region should probably change $cash to $cash_in_store to make it more clear
17:43 Limbic_Region has quit IRC ("CGI:IRC")
17:43 Limbic_Region has joined #perl6
17:50 jhorwitz autrijus: are there plans to run tests using the different backends?  i just missed something very obvious in my Parrot "module" commit, and of course there was no test to catch it.
17:51 autrijus jhorwitz: there are plans.
17:51 autrijus it needs an embedded parrot
17:51 autrijus for hopefully obvious reasons.
17:51 jhorwitz :)
17:52 autrijus well, we can also compile each test to .imc
17:52 autrijus using pugscc --runparrot
17:52 autrijus but it's going to be slow.
17:52 autrijus very slow.
17:52 wolverian how slow? as in, a few hours, or days?
17:52 wolverian (I would run it...)
17:53 pmichaud arrrgh, lost my connection again
17:53 pmichaud okay, I'm heading out to a wifi hotspot -- bbiab
17:54 autrijus good luck
17:55 autrijus Pugs.Embed.Parrot compiles
17:55 autrijus now hooking it to Prim.
17:55 pmichaud has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.3/20050414]")
17:55 autrijus or rather, to Eval.
17:55 jhorwitz autrijus: "module Foo" needs to emit IMC outside of the main sub.  not sure how easy this is -- my lambda-fu is weak here...  :)
17:56 autrijus jhorwitz: can't you emit ".end"?
17:56 autrijus or do you want to go back to main again?
17:57 jhorwitz autrijus: we'll need to be able to go back, since "module" declarations can happen anywhere.
17:58 stevan nothingmuch: ping
17:59 autrijus jhorwitz: commit whatever you have with XXX comments about how it should go?
17:59 jhorwitz autrijus: already committed, but i'll recommit with comments
18:00 autrijus ok.
18:00 autrijus thanks!
18:01 autrijus I probably can't stay up long enough to wait for pmichaud :-/
18:05 jabbot pugs - 2653 - add a few more pairs tests
18:05 jabbot pugs - 2654 - int() (and other builtins which default
18:06 Aankhen`` «nothingmuch»: You rang.
18:06 Aankhen`` s/\.$/?/
18:07 nothingmuch Aankhen``: you said hello
18:07 nothingmuch stevan: pong
18:07 Aankhen`` Er... where?
18:07 nothingmuch this morning
18:07 Aankhen`` Ohh, right.
18:07 nothingmuch several minutes after i left, i think
18:09 elmex has joined #perl6
18:10 stevan nothingmuch: were you wondering about the Test::TAP::Model changes for the TODOs?
18:11 nothingmuch yes
18:11 autrijus $ ./pugs -e 'require_parrot<mandel.pbc>'
18:11 autrijus ................::::::::::::::::::::::::::::::::::::::::::::................
18:11 autrijus ...
18:11 autrijus it runs.
18:11 stevan it is all very simple
18:11 nothingmuch it should be a very trivial change
18:11 nothingmuch i would like someone to prepare a css though
18:11 nothingmuch i have no clue what I'm doing when it comes to that
18:15 jhorwitz woohoo!  autrijus++
18:16 shapr btw, is yrlnry Mark Jason Dominus?
18:16 autrijus jhorwitz: it only does pbc though, I have no idea how to make imc work
18:16 jabbot pugs - 2655 - remove module support until we can emit
18:16 autrijus shapr: yes
18:16 shapr Ah, ok then.
18:16 autrijus shapr: where did you see that name?
18:16 autrijus jhorwitz: maybe you can take a look
18:16 hlafarge has joined #perl6
18:16 jhorwitz autrijus: commited?
18:16 shapr He's been on #haskell off and on for a long, long time.
18:16 autrijus jhorwitz: I have this feeling that src/Pugs/Embed/Parrot.hs will be familiar ground to you
18:17 autrijus also look at Syck.hs for how FFI is done
18:17 autrijus jhorwitz: I think you'll discover that GHC can be merely sugared GCC :)
18:18 * jhorwitz likes sugar
18:18 * shapr likes spice
18:18 nothingmuch cat VICTUALS
18:19 shapr It don't get no spicier than we got 'round here!
18:19 * shapr distributes the habañeros in carefully sealed packages.
18:19 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
18:19 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
18:20 Odin-LAP has joined #perl6
18:20 Odin- has joined #perl6
18:20 G2 has joined #perl6
18:23 Southen[a] has joined #perl6
18:25 jabbot pugs - 2656 - * experimental `require_parrot()` suppor
18:25 jabbot pugs - 2657 - [BUG] map flattens arrayrefs, while it s
18:29 autrijus jhorwitz: found time to play with it yet? :)
18:29 autrijus r2658, btw.
18:29 chady has joined #perl6
18:29 jhorwitz autrijus: was just able to svn up
18:29 Aankhen`` Were there suddenly changes to a lot of different files?
18:29 autrijus Parrot JIT works in Pugs too.
18:30 Aankhen`` My svn up output is rather large. o_O
18:30 autrijus jhorwitz: I think what I'd like to see is:
18:30 autrijus pugscc --parrot examples/mandel.p6
18:30 jhorwitz autrijus: that's good news.  i have yet to play with JIT in mod_parrot.
18:30 autrijus # this produces mandel.imc
18:30 autrijus ./pugs -e 'require_parrot("mandel.imc")'
18:30 autrijus I'd like that to work.
18:30 autrijus currently it only loads pbc.
18:30 autrijus if loading imc works, then we don't need an external file anymore
18:31 autrijus in face, we don't need pugscc anymore.
18:31 autrijus it will all be in memory.
18:31 jhorwitz :)
18:31 Juerd Hi from Amsterdam.pm
18:31 autrijus and the resulting linked executable may be, to the zeroth approximation, called perl6, or something :)
18:31 nothingmuch Juerd: giving a pugs talk?
18:31 PerlJam autrijus: you scare me.  The same way that damian scares me.  I like it!  ;-)
18:31 Juerd nothingmuch: I don't know what to say about pugs
18:32 Juerd nothingmuch: And the minute I do, it's already old info.
18:32 nothingmuch you can do two lightning talks
18:32 nothingmuch one now
18:32 nothingmuch and one at the end of the talk
18:32 PerlJam Juerd: just say "pugs is perl6" and you're done.
18:32 nothingmuch and describe what autrijus has been doing while people were listening to other speakers
18:32 Juerd nothingmuch: Hehehe.
18:32 PerlJam nothingmuch++ that's a good idea :)
18:33 autrijus actually, if Ponie supports the same EXTERN.h interface
18:33 Juerd Can someone summarize the commits since $now till $then when it's $then?
18:33 autrijus like our current PUGS_EMBED=perl5 uses
18:33 Juerd Perhaps it will indeed make a nice lightening talk.
18:33 autrijus then we can also evaluate perl 5 code natively with the embeded parrot  :)
18:33 stevan Juerd: make it an art peice, just read the SVN log
18:33 autrijus Juerd: what stevan said
18:33 Juerd stevan: That's too much for a *lightening* talk ;)
18:33 stevan ring a gong for each commit
18:34 ingy I am trying to figure out what angle to play for my Pugs talk at OSCON
18:34 stevan ingy: Juerd doesnt like my performance art idea, you are free to it :)
18:34 * nothingmuch gets busy on real work
18:34 autrijus ingy: it's too far off.
18:34 stevan interpritive dance Pugs
18:34 autrijus ingy: you can think about it at T-7
18:34 ingy stevan: have you ever seen one of my talks?
18:34 autrijus I mean 7 hours, of course
18:34 stevan ingy: I have not yet had the pleasure :)
18:35 ingy well it makes your suggestion redundant ;)
18:35 q[acme] dancing troupe of dogs?
18:35 Juerd Is there a way to get the past $n hours of svn log?
18:35 autrijus Juerd: not really.
18:35 stevan YAPC::NA will actually be my first confernce (aside from the comic-cons of my youth)
18:35 nothingmuch maybe we can write one of those music visualizers, but for sloc changes
18:35 autrijus svn log --limit 100
18:35 ingy all talks are performance art
18:35 jabbot pugs - 2658 - * add embedded parrot with JIT.
18:35 autrijus nothingmuch: Haskore!
18:36 Southen has quit IRC (No route to host)
18:36 Juerd autrijus: Danke
18:36 stevan Juerd: actually you can http://svnbook.red-bean.com/en/1.0/ch03s03.html#svn-ch-3-sect-3.3
18:36 Juerd autrijus: Is svn log --base what I want?
18:36 nothingmuch Juerd: is the "{" DATE "}" thingy in 'svn log --help' useful?
18:36 autrijus nothingmuch: http://www.haskell.org/tmrwiki/Haskore
18:36 Juerd stevan: I don't want to use a browser
18:36 Juerd nothingmuch: Not really
18:36 Juerd * add embedded parrot with JIT.
18:36 stevan Juerd: sorry :)
18:36 Juerd That works.
18:36 ingy autrijus: there will be a t-7 factor, but i doubt the talk will be a tech talk...
18:37 ingy ie I could probably write it now
18:37 nothingmuch autrijus: looks interesting... *reading*
18:37 Limbic_Region autrijus - will Pugs built on plain jane windows work with a Parrot built on Cygwin?
18:37 chady has quit IRC ("leaving")
18:37 stevan Juerd: svn checkout --revision {"2005-05-02 8:30"}:HEAD
18:37 stevan (fill in a time approriate to you)
18:37 Juerd stevan: Don't want to checkout. Want log.
18:37 autrijus Limbic_Region: I think ABI differ
18:37 autrijus so no.
18:37 ingy I need to start hiring the supporting cast, etc
18:37 stevan sorry,.. s/checkout/log/
18:37 pmichaud has joined #perl6
18:37 Limbic_Region grrrr
18:37 Juerd stevan: Think I found it, svn log -r BASE
18:37 autrijus Limbic_Region: I mean msys/mingw vs cygwin/gcc
18:38 autrijus hey pmichaud! Pugs now has embedded Parrot!
18:38 pmichaud cool!
18:38 autrijus mandel.pbc runs!
18:38 pmichaud I just commited pge
18:38 Limbic_Region ok - so I need to just tell my father and my wife they need to finish the new house all by themselves so I can play with Pugs/Parrot/Perl6
18:38 autrijus yay!
18:38 autrijus pmichaud++
18:38 autrijus pmichaud++
18:38 autrijus pmichaud++
18:38 nothingmuch Juerd: the date thingy is the same as saying 'any revisions after'...
18:38 ingy autrijus++ # Irssi: #perl6: Total of 104 nicks
18:38 pmichaud note that it's not a complete implementation yet, but it's got enough to work with
18:38 Juerd autrijus: Since when does it have that?
18:38 Juerd autrijus: Does that fit in the past few minutes? By any definition? :)
18:39 kungfuftr ingy-- # too much incrementing going on
18:39 autrijus Juerd: yes... let me see
18:39 autrijus 02:35 < jabbot> pugs - 2658 - * add embedded parrot with JIT.
18:39 autrijus that's 3 minutes ago.
18:39 Juerd Ah, right
18:39 Juerd NEAT
18:39 Juerd autrijus: That's a very nice item for the What Pugs Got The Past 2 Hours.
18:39 autrijus oh. 2 hours!
18:39 ingy kungfuftr: grrr
18:39 autrijus tsk. we got a lot more.
18:39 Juerd autrijus: Yea.
18:39 kungfuftr ingy: i love ye really... =0)
18:39 pmichaud now I just have to update the p6rules test suites
18:39 Juerd autrijus: Hours just began. I'm at Amsterdam.pm
18:40 Juerd autrijus: A lightening talk of what has been written during our sitting here
18:40 * Limbic_Region can't resist opening an obvious spam email as the subject line is "being lazy"
18:40 autrijus Juerd: so we have require_parrot(). we have state($var) which is like `my $x if 0` but works better.
18:40 * Limbic_Region is glad he did - it was from the Higher Order Perl mailing list
18:40 Juerd autrijus: When was the state thing introduced? Has to be after thishour:25
18:40 Limbic_Region autrijus - did you check in my example code?
18:40 Limbic_Region and if so - as a test or as an example?
18:41 autrijus it's introduced exactly two hours before, I think
18:41 autrijus Limbic_Region: I had not, I don't know, both way worksforme, your call :)
18:41 Juerd autrijus: Hm, we were eating then. Good enough.
18:41 autrijus Limbic_Region: do you have url again?
18:41 Limbic_Region http://sial.org/pbot/9880
18:41 Limbic_Region only thing I would change is $cash
18:41 Limbic_Region $cash_in_store # or some such
18:41 autrijus ok.
18:42 Limbic_Region to make it obvious it is being shared
18:42 broquaint has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.3/20050414]")
18:42 autrijus cashers.p6?
18:42 autrijus cashiers.p6?
18:42 stevan Limbic_Region: maybe a bank() and $vault is better analogy?
18:42 Limbic_Region sure
18:42 stevan and the generator creates $tellers
18:42 Limbic_Region stevan - sure - it was a very quick proof of concept
18:43 Limbic_Region knowing it is in there is all that I need to go back and work on it later
18:43 * Limbic_Region WILL have free time again
18:43 stevan ok
18:43 * stevan is a homeowner, so he knows Limbic_Region is wrong :P
18:43 stevan you will be praying Home Depot has  WiFi hotspot :)
18:44 Limbic_Region stevan - I have a father who missed out on my childhood who feels a great need to make up for it
18:44 Limbic_Region yay - for extremely cheap competent labor
18:44 masak perlbot karma ingy
18:44 perlbot Karma for ingy: 38
18:44 masak :)
18:45 autrijus Juerd: there's some minor thing...
18:45 autrijus like
18:45 autrijus :name{ ... }
18:45 autrijus for closure as pair values
18:47 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
18:47 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
18:47 Odin_ has joined #perl6
18:47 Odin- has joined #perl6
18:47 Juerd autrijus: Closure as the pair value must be either :name{ { ... } } or :name({ ... })
18:47 Juerd autrijus: Or name => { ... }, or anything involving "sub"
18:48 autrijus Why is :name{ { ... } ] different from :name[...] ?
18:48 autrijus ok, then you can say it's retracted in a minute :)
18:48 Juerd :name{ { ... } ]?
18:48 autrijus :name { {...} }
18:48 autrijus :name{ {...} }
18:49 Juerd autrijus: :pair uses *hash subscript* syntax, in the most basic case.
18:49 autrijus oh, does it.
18:49 autrijus I thought it's
18:49 autrijus :name( ... )
18:49 autrijus as the most basic case.
18:49 Juerd autrijus: Nope, I thought that too
18:49 autrijus but wtf?
18:50 autrijus where is that specced?
18:50 Juerd I'll try to see Larry's mail
18:50 Juerd s/see/find/
18:50 autrijus that's fine, I trust you
18:50 autrijus when is you talk again?
18:50 Juerd I'm trying to follow MarkOv's talk too
18:50 Juerd autrijus: I don't know. Whenever we're almost done here
18:50 autrijus like, in two hours?
18:50 Juerd I haven't been to an amsterdam.pm meeting ever before
18:51 autrijus Juerd: ok. http://svn.openfoundry.org/pugs/examples/cashiers.p6 is new, too
18:51 autrijus 30 seconds ago from Limbic_Region
18:51 autrijus you may find that amusing
18:51 * Limbic_Region is going to take stevan's advice and change it to bank/vault/cashier when he finds time
18:52 autrijus cool
18:52 Limbic_Region I also have some p5 code at the Monastery that will be even better practical implementation of state()
18:52 Limbic_Region provided the other pieces already work in Pugs
18:52 Juerd Message-ID: <20050312233656.GA28769@wall.org>
18:52 Juerd autrijus: That's for you
18:52 autrijus k.
18:52 Limbic_Region I do have a feeling though that until I am moved into the new house - all play is going to have to be done at $work
18:53 autrijus Limbic_Region: I'm so glad I managed to convince you into building pugs :)
18:54 Limbic_Region autrijus - it was bound to happen - I was just fooling myself into thinking I could hold back the flood gates
18:54 * Limbic_Region is looking forward to meeting autrijus in person some time
18:55 * Juerd too
18:55 * jhorwitz looks forward to heckling autrijus at YAPC.  :)
18:55 * shapr too
18:55 Juerd world--  # too fscking large.
18:55 Juerd Let's found programmeria!
18:55 Juerd Coderia I mean
18:55 jabbot pugs - 2659 - * add Limbic_Region's demo of state() va
18:56 shapr Why don't we just design a better transporation system so we can cheaply visit neat people?
18:56 Juerd Or all move to Poland and rename it to Perlland. It already has the correct country extension.
18:56 Juerd shapr: It has been designed over and over again but governments sck.3
18:56 Juerd suck.
18:57 autrijus I think augmented reality with mind-controlled navigation is more practical :)
18:58 Limbic_Region here is the real problem - the people who have money want more
18:58 Limbic_Region we need someone with a lot of money who doesn't care about it to put it to good use
18:58 Juerd If that's just one someone, it isn't enough.
18:59 shapr Juerd: but, I think programming is not limited to Perl, Haskell, or any one language.
18:59 * Limbic_Region intends to give away his entire lottery winnings once he has set up enough to ensure he doesn't have to $work again
18:59 Limbic_Region emphasis on HAVE TO WORK
18:59 Limbic_Region Juerd - Bill Gates?
18:59 autrijus wow, it's clean.
18:59 autrijus the PGE code, that is.
18:59 autrijus pmichaud++
18:59 pmichaud is there any other kind?
18:59 Juerd shapr: Perl 6 is every language, so that's not a problem.
18:59 autrijus pmichaud: heh, the C-based v1 was less so :)
19:00 pmichaud the c-based version was as clean as I could make it with the tool I had... which is why I switched to Parrot
19:00 autrijus ok, now let me grok the code...
19:00 pmichaud besides, it's terribly important to me that we build something maintainable for the long haul, so clean beginnings are important
19:00 pmichaud autrijus: just ask if there are any questions
19:02 Limbic_Region autrijus pmichaud all - current Pugs coversation in the Monastery chatterbox
19:03 autrijus    addattribute base, "$:to"                      # end of match
19:03 autrijus the sigils are actually meaningless right?
19:03 autrijus just monikers
19:03 pmichaud yes, they don't mean anything
19:03 pmichaud I'm just following p6 naming conventions a bit
19:04 autrijus what's target?
19:04 autrijus like ".*" ?
19:04 pmichaud the string to be matched
19:04 Juerd svn: PROPFIND of '/pugs': Could not resolve hostname `svn.openfoundry.org': Temporary failure in name resolution (http://svn.openfoundry.org)
19:04 Juerd Known issue?
19:04 autrijus the entire?
19:04 pmichaud yes
19:05 autrijus Juerd: try using openfoundry.dyndns.org/pugs
19:05 pmichaud target == string to be matched, pos == current match position
19:05 Juerd autrijus: Is there a way to do that without re-checking-out?
19:05 autrijus Juerd: svn switch --relocate
19:05 Juerd thank you
19:05 autrijus so the signature of yield() is...
19:05 pmichaud oh, you were referring to $:target .  Yes, it's the same thing -- the match object has to remember what it was matching against
19:05 pmichaud yield() is a coroutine
19:06 autrijus $match, $target, ?, ?
19:06 pmichaud so, yielding() just returns back to where we were in the match
19:06 autrijus what's the 0 doing there?
19:06 pmichaud and yes, the signature is   mob, target, pos, lastpos
19:06 autrijus    yield(me, target, 0, lastpos)                  # start match
19:06 autrijus oh, pos.
19:06 autrijus 0 means start.
19:06 pmichaud that will likely change
19:06 pmichaud slightly
19:06 autrijus what does yield return?
19:07 pmichaud basically it returns control :)
19:07 autrijus ah. it is a mutator.
19:07 autrijus of the internal Match state.
19:07 pmichaud yes
19:07 autrijus nice!
19:07 pmichaud yielding again returns back to the match at the state where we left off, so we can get more matches
19:07 autrijus so @capt and %capt
19:08 autrijus are unnamed and named capts
19:08 autrijus respectively?
19:08 pmichaud yes
19:08 pmichaud named capts don't exist yet, but I've already got the base code in for that
19:08 autrijus and it's an array of string
19:08 autrijus or array of Match?
19:08 pmichaud which one?  
19:08 autrijus capt
19:08 autrijus @:capt
19:09 pmichaud @capt is an array, %capt is a hash
19:09 autrijus yeah, but array of.. ?
19:09 pmichaud array of array of Match
19:09 autrijus array of array of match.
19:09 autrijus why two arrays?
19:09 autrijus two-level, that is
19:09 pmichaud there can be multiple match objects returned
19:09 autrijus ah. right.
19:09 pmichaud for example,    rx / (abc)* /   returns an array of match objects in $1
19:09 autrijus yup.
19:09 autrijus subtle.
19:11 autrijus so offset starts with -1?
19:11 autrijus with __init
19:12 pmichaud offset?
19:12 autrijus I'm seeing
19:12 autrijus    $P0 = new Integer
19:12 autrijus    $P0 = -1
19:12 autrijus    setattribute self, $I0, $P0
19:12 autrijus oh, that is the "$:to" slot
19:12 autrijus it means to the end
19:12 autrijus (I hope)
19:12 pmichaud oh.  The ending position is -1, meaning failed match (or not matched yet)
19:13 pmichaud -1 generally indicates a current failure state, -2 means "permanently failed"
19:13 pmichaud those will likely change also, and they're supposed to be internal to PGE anyway
19:13 pmichaud -1 will be failed last expression, -2 failed current alternation, -3 failed current rule, -4 failed match
19:14 pmichaud I may also end up with a different state variable, but thought I'd co-opt $:to for the purpose anyway
19:14 autrijus that's fine
19:14 autrijus so who gives out the first yield() ?
19:14 pmichaud the subroutine created by p6rule
19:15 autrijus where in code is that?
19:15 pmichaud PGE/P6Rule.pir
19:15 pmichaud oh, wrong
19:15 pmichaud wait
19:15 pmichaud scratch that
19:15 autrijus :)
19:15 pmichaud it's in the preamble to the code returned by compiling the expression
19:15 pmichaud PGE::Exp::Start
19:15 Juerd What is PGE written in?
19:15 pmichaud juerd:  PIR
19:15 jabbot pugs - 2660 - Limbic_Region++, added comments to examp
19:16 Juerd pmichaud: Oh, wow, so the parrot embedding brings rules dramatically soon?
19:16 pmichaud yes
19:16 pmichaud not to mention it finally allows me to start building a parser for p6
19:16 Juerd Wooh!
19:17 pmichaud since I don't have a Parsec available in Parrot :-)
19:17 Juerd pmichaud: Can you put in one sentence how far PGE is? Is it useful for basic regexes yet?
19:17 PerlJam pmichaud: give autrijus a day or so and you will ;-)
19:17 pmichaud juerd: basic regexes, yes
19:17 rob_ has joined #perl6
19:17 pmichaud I don't have character classes or cuts yet
19:17 pmichaud or interpolated vars
19:17 Juerd pmichaud: Great - I'll inform the amsterdam people :)
19:18 PerlJam Juerd: when do you stop collecting info and start presenting it?
19:18 pmichaud but I have captures, \d \s \w \n \D \S \W \N , etc.
19:18 pmichaud subrules are next on my hit list
19:18 pmichaud once I have subrules I can start writing grammars.  In fact, I'm getting ready to use PGE to write the demo program for PGE :)
19:19 Limbic_Region so you do have character classes, just not arbitrary ones right
19:19 autrijus aha, _pge_rule_coroutine.
19:19 pmichaud right, I have only some of the \x ones
19:19 autrijus I see a monad!
19:20 pmichaud I don't have <[abcd]> yet
19:20 autrijus (but I see monads everywhere. :))
19:20 ingy I see dead people
19:20 pmichaud <[abcd]> is fourth on my list right now
19:20 PerlJam autrijus: too much haskell for you!  Back in the box!
19:20 pmichaud autrijus: yes, _pge_rule_coroutine -- sorry, I probably could've identified it for you if I had been thinking straighter (and not trying to compose an email announcement in another win)
19:21 pmichaud the call to the coroutine itself happens in _pge_rule
19:22 pmichaud the initial invocation sends the target string and a (newly created) match object to house the routine
19:22 Juerd PerlJam: End of the meeting
19:22 autrijus pmichaud: that's fine. please finish composing your mail. this is amazingly cool :)
19:22 autrijus pmichaud++
19:22 Juerd PerlJam: I want to give people an impression of the speed of development - the best way to do that is to tell them how much has been done in just the time we were lazily sitting here :)
19:22 autrijus pmichaud++
19:23 Juerd pmichaud: Thanks for the info
19:23 pmichaud juerd:  anytime
19:24 perdix has left "leaving"
19:24 pmichaud juerd:  literally, anytime .  Feb-Mar killed my momentum from last winter -- but as you can tell (and report) the momentum of perl 6 is steadily increasing with each passing hour :)
19:25 Limbic_Region I think I might have just made another convert ;-)
19:26 * PerlJam just wishes he could compile a parrot to play with
19:26 rob__ has quit IRC (Read error: 110 (Connection timed out))
19:26 PerlJam perhaps a fresh checkout will help
19:26 pmichaud perljam:  try a fresh checkout :)
19:27 * Limbic_Region can't remember the last time he compiled Parrot but would approximate it as mid December
19:27 jhorwitz autrijus: which parrot dist are you building against?
19:27 autrijus jhorwitz: trunk.
19:28 osfa has quit IRC (Read error: 111 (Connection refused))
19:28 pmichaud I'm always building against the trunk :)
19:28 PerlJam autrijus: what os are you building on?
19:29 PerlJam (please say something other than linux :)
19:29 autrijus PerlJam: freebsd
19:29 PerlJam excellent
19:29 PerlJam ah, I have a parrot!
19:30 PerlJam (a live one even)
19:30 pmichaud email sent
19:30 autrijus pmichaud++
19:30 PerlJam Every time I've had problems compiling parrot has been something dealing with ICU
19:30 jhorwitz autrijus: pugs tried to link with ICU, but i don't include it in my parrot build.  we should probably check in parrot config for ICU libs.
19:30 pmichaud well, there's no more icu :)
19:30 jhorwitz PerlJam++ for reading my mind
19:30 autrijus jhorwitz: please hack away in MAkefile.PL
19:31 autrijus it's all yours
19:31 autrijus :)
19:31 jhorwitz autrijus: thanks, i think...  ;-)
19:31 pmichaud now let's see how long it takes my message to p6c to actually show up
19:31 pmichaud perl.org seems to want to hold my p6c messages for moderation
19:31 pmichaud which is, well, kinda bizarre :-)
19:31 ninereasons real    104m18.880s # time for an upgrade, obviously
19:32 * nothingmuch swears his parrot is pushing up the daisies
19:32 nothingmuch maybe it will talk to Dan in YAPC too
19:32 jhorwitz so tonight i'll work on ridding the Makefile of ICU and compiling IMC from a buffer.
19:33 pmichaud okay, well, now that that's done I'm going to head home and see if my network connection is back yet
19:33 autrijus jhorwitz++
19:33 autrijus pmichaud++
19:33 * Limbic_Region loves the smell of progress in the morning
19:33 pmichaud exit
19:33 pmichaud oops
19:33 pmichaud somehow irc is not a shell
19:34 pmichaud has quit IRC ("exit")
19:34 nothingmuch someone please make a counter reference
19:34 l-fy has joined #perl6
19:34 Shillo has joined #perl6
19:34 l-fy hello
19:34 Shillo Hullo, folks.
19:34 nothingmuch hello
19:34 PerlJam Limbic_Region: yeah ... it's days like this that make me think that if I went away on vacation for a week, by the time I got back, everyone would be using the new perl6 compiler  :-)
19:34 l-fy ok, so perl6 compiler is ready?
19:35 nothingmuch PerlJam: aren't you supposed to have more time for p6 when on vacation? ;-)
19:35 l-fy PerlJam > you own me a library for yate in perl 6 :)
19:35 PerlJam l-fy: A perl6 version wouldn't do you much good.
19:35 nothingmuch doesn't anybody here know monty python, like, at all?
19:36 PerlJam nothingmuch: yes, but the references have been done to death.
19:36 l-fy PerlJam > is nice as example
19:36 * nothingmuch wonders how he can feel good about himself without anyone backing him up
19:36 PerlJam l-fy: Are you in a hurry wrt YATE in perl?
19:37 nothingmuch too many google hits for yate
19:37 l-fy PerlJam > a lot of people are yelling here :)
19:37 PerlJam nothingmuch: the second one is the relevant one
19:37 l-fy nothingmuch > yate.null.ro
19:38 l-fy anyway this will also help the adoption of yate
19:38 nothingmuch . o O ( i'm feeling sort of lucky )
19:38 l-fy sorry
19:38 l-fy the adoption of perl 6
19:38 PerlJam l-fy: heh ... I don't think that's going to be a problem
19:38 l-fy well, it may be
19:41 autrijus shapr: yay! oleg grants permission!
19:41 autrijus shapr: CC_2CPST will land to pugs in a few mins.
19:41 * Shillo is rebootstrapping ghc. Yay, the fun never stops. :)
19:41 * Shillo would feel better about his new machine if it didn't crash twice so far. Will have to run stress-tests.
19:41 nothingmuch is the Amsterdam.pm meeting done yet?
19:43 Juerd no
19:43 Juerd First talk is still going on
19:43 Juerd I don't mind - I hope there won't be enough time for me to explain Perl 6 context
19:43 * Limbic_Region asks the silly question of "WTF is CC_2CPST" ?
19:45 pmichaud has joined #perl6
19:45 boogie autrijus: have you got my mail about segfault of eval_yaml(undef)?
19:46 shapr autrijus: w00! Did he say anything about the second part of his Zipper as tree of subcont?
19:46 shapr I really want to attempt the insanity involved in viewing a tree shaped mutable datastructure as a tree of SMP-using continuations.
19:47 autrijus boogie: no I didn't
19:47 autrijus boogie: write a test?
19:47 autrijus shapr: that is a good insanity to have
19:48 shapr But my idea is probably just a simple isomorph of something like Yampa's arrows, O'Haskell's objects or some other independent mutable object flavored critter.
19:48 boogie autrijus: Strange. Where should I put this test?
19:48 autrijus boogie: eval_yaml('')
19:48 thiesen has quit IRC (Read error: 104 (Connection reset by peer))
19:48 autrijus ok(eval_yaml(''))
19:48 autrijus or something like that.
19:49 Limbic_Region t/unspecced/eval_yaml.t
19:49 autrijus Limbic_Region: CC_2PST is something insane.
19:50 Limbic_Region ok
19:50 boogie thx, I do it. And what should be the result of it? undef?
19:50 Limbic_Region but t/unspecced/eval_yaml.t is a sane place for boogie's test right
19:50 autrijus yes.
19:50 Limbic_Region ;-)
19:50 autrijus Limbic_Region: it allows for save dump() and restore() :)
19:50 autrijus dump(), as in perl5's dump().
19:50 autrijus and lightweight
19:50 autrijus and you can dump() only outward to some subroutine
19:50 nothingmuch autrijus: what O(N) complexity?
19:50 autrijus nothingmuch: what what O(N)?
19:51 Limbic_Region ok - so intended to be abused like p5's dump to get a native executable
19:51 Limbic_Region or more for "real" debugging?
19:51 nothingmuch is it optimized with respect to closures?
19:51 wilx has quit IRC (Read error: 54 (Connection reset by peer))
19:51 autrijus Limbic_Region: it gives you backstepping in debugging.
19:51 Limbic_Region has quit IRC ("CGI:IRC")
19:51 nothingmuch or does it do a linear dump of stuff?
19:51 nothingmuch or does it do something more complicated?
19:51 autrijus nothingmuch: it's O(1) dump.
19:51 autrijus :)
19:51 autrijus that's the beauty of it.
19:51 Limbic_Region has joined #perl6
19:51 nothingmuch where can i read on how that's possible?
19:52 autrijus nothingmuch: first read up on delimited continuations
19:52 autrijus "A Monadic Framework for Subcontinuations" and references
19:52 autrijus and then, read about monadic reflection in http://www.haskell.org/tmrwiki/FunWithLinearImplicitParameters :)
19:53 autrijus oh also, for Perl 6 library management:
19:53 autrijus http://www.haskell.org/tmrwiki/EternalCompatibilityInTheory
19:53 autrijus I think TMR is a wonderful e-magazine :)
19:53 * shapr cheers for TMR
19:53 * Limbic_Region used to work for TMR
19:53 autrijus shapr++ # editor
19:53 shapr autrijus: and we want YOU to write more for TMR!
19:53 autrijus I will!
19:54 autrijus shapr: btw, src/Pugs/Cont/CC_2CPST is landed
19:54 * shapr hops excitedly
19:54 Limbic_Region http://www.tmrhq.com/
19:54 shapr I would be very interested in TMR articles from other people here who would like to describe the process of learning Haskell from a Perl perspective.
19:54 Limbic_Region shapr - I will be sure to let you know once I venture into Pugs internals
19:55 Limbic_Region for now I am just porting p5 code to p6
19:55 nothingmuch shapr: i can write one about hoping to learn
19:55 shapr hoping to learn?
19:55 Limbic_Region a man needs to learn to crawl before he can run
19:55 nothingmuch everyone will be very interested, i'm sure
19:55 shapr Well, send me an article summary!
19:55 nothingmuch then i can write one about failing miserably
19:55 nothingmuch in which I will excuse that i lack the tuits
19:55 shapr haha
19:55 autrijus nothingmuch++
19:55 jabbot pugs - 2661 - * Monadic subcontinuation transformer.  
19:55 autrijus rofl
19:56 autrijus shapr: I think the code is very very heavy wizardry.
19:56 autrijus it smells like HList.
19:56 khisanth_ has joined #perl6
19:56 autrijus ;)
19:56 PerlJam has quit IRC (Remote closed the connection)
19:56 nothingmuch that commit message sounds like something out of a cheap sci fi click
19:56 nothingmuch s/click/flick/;
19:56 shapr Well, if Oleg wrote it...
19:57 Khisanth has quit IRC (Nick collision from services.)
19:57 shapr Heck, if Oleg found it to be interesting enough to work with...
19:57 PerlJam has joined #perl6
19:57 khisanth_ is now known as Khisanth
19:57 nothingmuch autrijus: did you write larry-esque comments to match?
19:57 * Limbic_Region ducks the decepticons and joins the autobots
19:57 autrijus nothingmuch: no, it's deep inside src/Pugs/Cont/
19:57 autrijus I only add poems for src/*.hs and src/Pugs/*.hs
19:57 zuulvin_ has quit IRC ("Leaving")
19:58 autrijus shapr: it's heavier wizardry than SPJ's.
19:58 * obra ponders tools to autodetect apropriate poetry based on code naming and complexity
19:58 autrijus I can understand SPJ's code with effort :)
19:58 Shillo nothingmuch: I studied math, and when going home from the univ, we'd discuss things like free tensor algebras over p-adic fields on a tram... surrounded by people... who had nowhere to go. Compared to that, monadic subcontinuation transformer is positively benign. :)
19:58 nothingmuch maybe someone wanting to practice parsec can parse comments out of the p5 tree
19:58 nothingmuch if they contain /magic|wizard|$etc/i
19:58 nothingmuch and randomly insert them
19:59 nothingmuch actually i'm used to math jargon
19:59 nothingmuch dad is a mathematician
19:59 * nothingmuch does that too
19:59 nothingmuch sadly it's with cable names and how video equipment is broken
19:59 nothingmuch not that i get to practice that anymore
19:59 Shillo nothingmuch: *grin*
19:59 boogie I've added eval_yaml test. Can anybody test it? It's my first test from the ground.
20:00 nothingmuch all else is your usual acronyms, which aren't too impressive to people here ;-)
20:00 shapr I've never been part of an in-person group of people who had such neat discussions. My first experience meeting FPers in person was ICFP03. I realized that I didn't actually know how to speak a lot of words in my FP vocabulary.
20:00 Juerd What does eval_yaml do?
20:00 autrijus obra: that tool is Coy
20:00 Juerd Return a nested structure?
20:00 autrijus Juerd: yes.
20:01 l-fy http://microsoft.beplaced.com
20:02 shapr Juerd: Lately I wonder if programmeria would actually be a worthwhile idea. If someone like Estonia decided to permanently ban all software patents and give other advantages to programmers, they'd get high-tech immigrants from all over the West.
20:02 obra autrijus: heh
20:02 Shillo shapr: My fav was when we were in a tram, watching a totalled car being towed away. A colleague says 'piecewise smooth diffeomorphism'. I nearly died laughing.
20:02 boogie Juerd: reads a YAML file (~XML), and gives the result back
20:02 integral heh
20:02 autrijus obra: you saw the Two Big News? :)
20:02 * shapr laughs
20:02 obra autrijus: no
20:02 autrijus obra: ok.
20:02 autrijus 1. New PGE is upon us.
20:03 autrijus 2. Pugs now embeds Parrot.
20:03 boogie Juerd: search for YAML on the net
20:03 autrijus taken together they mean: Pugs can natively use PGE.
20:03 obra !!!!!!!!!!!!!!!
20:03 Shillo shapr: Eh. Programmers should found guild-like organisations. Like what doctors and engineers have.
20:03 shapr That's like category theory jokes on #haskell. Sometimes they're so funny I can barely breathe, and there's no one off of #haskell that I can explain them to.
20:03 autrijus and natively run IMC generated from Perl6.
20:03 autrijus oh and there's 3.
20:03 Shillo autrijus: Holy ****
20:04 obra autrijus: does this mean that pugs can be translated to perl6 function by function?
20:04 autrijus 3. Leo and I are looking at Grin. It is believed that Grin can be compiled to Parrot without much effort.
20:04 obra what is Grin?
20:04 Shillo What's Grin?
20:04 autrijus and JHC, the Haskell->Grin compiler, already produces very fast code.
20:04 autrijus Grin->C is just 300 lines.
20:04 shapr @google grin boquist
20:04 obra oh shiut
20:04 * obra sees where this goes
20:04 lambdabot has joined #perl6
20:04 autrijus yes.
20:04 autrijus a bootstrapping JHC means a haskell code to IMC in IMC.
20:05 * nothingmuch is not sure he sees where this goes
20:05 autrijus s/code/compiler/
20:05 nothingmuch ah
20:05 autrijus also, Grin->C produce very small executable with fast code
20:05 obra "embrace and gengineer to create a pug made of perls
20:05 autrijus and more importantly: it has no RTS (linked runtime)
20:05 jabbot pugs - 2662 - eval_yaml
20:06 autrijus so, perfect.
20:06 shapr obra: I'm writing a blog entry about that actually...
20:06 * obra grins
20:06 shapr But I'm making the case that there is just programming, and you can call it whatever you like.
20:07 * Limbic_Region patiently waits for a "the most productive day in Pugs yet...." journal entry
20:08 autrijus rofl.
20:08 brentdax has joined #perl6
20:09 autrijus congrats, you just made to my journal.
20:11 justatheory has quit IRC (Read error: 145 (Connection timed out))
20:11 shapr I think I'm going to try to take the same approach with my paying Python work btw. I'm going to embrace and gengineer.
20:12 Limbic_Region autrijus - out of curiosity, since I suggested installing the tab extenstions - has "undo close tab" saved your butt yet?
20:12 Aankhen`` has quit IRC ("Induhvidual quote: "The smell of indifference was deafening." [Time wasted online: 12hrs 24mins 42secs]")
20:14 autrijus Limbic_Region: no, not yet
20:15 autrijus pmichaud: hey. the plan is to port PGE to perl6 right?
20:15 autrijus eventually that is
20:15 pmichaud eventually, probably
20:15 autrijus I think Pugs can run something like PGE now.
20:15 pmichaud the parser could be better written in perl 6
20:15 autrijus someone wants to try a port?
20:15 Shillo Hmm, while we're on the topic, is GLR compatible with Perl6 rules spec?
20:15 pmichaud I dunno about the code generator though
20:16 autrijus pmichaud: the codegen can gen p6.
20:16 pmichaud the code generator might be just as easy in pir
20:16 autrijus I think gen p6 is easy.
20:16 Shillo In other words, are there any requirements on the order-of-evaluation in embedded closures?
20:16 pmichaud I'm not so sure that generating p6 is the best way to go here
20:16 pmichaud it could be
20:17 autrijus oh, if the genned p6 can emit fast-enough imc
20:17 autrijus then that's probably a good idea
20:17 autrijus iirc, the point of p6 with its type annotations is to gen fast code :)
20:17 Shillo autrijus: Is it possible to generate a readable Perl6?
20:17 autrijus Shillo: sure, why not
20:17 autrijus Shillo: if you look at PGE's code and PGE's codegen
20:17 Shillo Er, I mean, with less effort then writing it from scratch
20:18 autrijus the IMC it gens is very p6ish
20:18 Shillo Hmm, uh, sorry. My mind skipped tracks.
20:18 autrijus compared to, say, p5ish :)
20:18 Shillo I was actually thinking about compiling Haskell into Perl6 for some reason. Buh.
20:18 pmichaud the big difference I can see is that I'd expect a p6 gen to contain Parrot subroutine calls, whereas PGE's gen does bsr/ret
20:18 hlen_ has joined #perl6
20:19 autrijus pmichaud: bsr/ret has p6 equiv, no?
20:19 * Shillo <-- not at his best, the last 2-3 days.
20:19 autrijus that is, .goto()
20:19 autrijus &Continuation.goto(), to be precise
20:19 pmichaud umm, isn't a continuation in this case going to be the same as a Parrot continuation?
20:19 Shillo autrijus: Actually, what -is- a subcontinuation?
20:20 autrijus pmichaud: yes. am I misunderstanding what you're using bsr/ret for?
20:20 autrijus Shillo: it is like a continuation, but instead of capturing up until program termination
20:20 autrijus it captures until a certain delimiter.
20:20 wilx has joined #perl6
20:20 autrijus Shillo: Pugs uses subconts heavily.
20:20 pmichaud I'm using bsr/ret so that I get very fast subroutine call execution and don't have to do lots of register swaps/saves/restores
20:21 justatheory has joined #perl6
20:21 justatheory has quit IRC (Remote closed the connection)
20:21 autrijus Shillo: a subroutine call, for example, creates a delimiter, then passes the continuation to the subroutine as &?CALLER_CONTINUATION
20:21 pmichaud in parrot, every call to   sub(something)   generates lots of set instructions that move values from one register to another
20:21 justatheory has joined #perl6
20:21 autrijus Shillo: the return() primitive is essentially invoking that continuation and yielding a value.
20:22 pmichaud but since every one of my subroutines has exactly the same arguments and return value, it seems weird to be generating all of those invokes/continuations
20:22 justatheory autrijus!
20:22 autrijus Shillo: and error handling is done by invoking the escaping continuation as well. they are guaranteed to stop at the subroutine call boundary at resetT
20:22 autrijus hey justatheory
20:22 justatheory heya
20:22 justatheory So, pugs doesn't compile for me. I sent another failure today.
20:22 autrijus justatheory: how?
20:22 Shillo has quit IRC (Remote closed the connection)
20:22 autrijus pmichaud: true. can it be iteratorized or tail called?
20:22 justatheory autrijus: One sec.
20:23 autrijus pmichaud: or, maybe perl6 can contain inline parrot :D
20:23 pmichaud it can be tailcalled, but that just helps us on return
20:23 pmichaud well, if p6 has inline parrot then that's basically what I have now -- i.e., we could move the generator into p6 (and that's probably worthwhile) but I think the generated code itself may still need to be pir
20:24 justatheory autrijus: Well, my latest failure for 6.2.2 hasn't shown up yet.
20:24 justatheory But here's the one for 6.2.1: http://www.nntp.perl.org/group/perl.cpan.testers/200958
20:24 Shillo has joined #perl6
20:24 * Shillo grrrrrrrs. Aparently a key combo crashes X, intermittently, and I can't find out which.
20:25 shapr Shillo: just log your keys
20:25 * Shillo 's typing is quite noisy.
20:25 Shillo Involves CTRL-ALT-something_right_handed
20:25 jabbot pugs - 2663 - * fix uninitialized value errors when bu
20:25 autrijus pmichaud: ok. I'm just curious about inline code
20:25 integral CTRL-ALT-BACKSPACE?
20:25 Shillo shapr: I might decide to. Once I track the other source of crashes.
20:26 autrijus pmichaud: that is, embedded p6 code inside rules
20:26 Shillo integral: Nope.
20:26 Shillo integral: That'd be too easy. ;)
20:26 integral ;-)
20:26 pmichaud autrijus:  oh, that will be handled as a standard parrot subroutine call.  Same with subrules
20:26 autrijus oh.
20:26 autrijus well then, there's nothing really parrot specific :)
20:26 pmichaud the idea is to  use inline parrot for the things that really need to be fast  (i.e., matching individual tokens), while the more expensive and harder to optimize things will fall back to standard p6 semantics
20:27 autrijus right.
20:27 justatheory autrijus: Hrm, looks like the cpan-testers archive is lagging...
20:27 autrijus it may be worthwhile to identify exactly where p6 can't generate fast code
20:27 autrijus whilst imc can
20:27 Shillo integral: That combo will stay with me forever. Nothing sets a long term memory like disaster. I pressed CTRL-ALT-BS on a DEC station that had 8 MB of RAM, while it was swapping like crazy. Took the admin a month to recover the HD. :)
20:27 autrijus because that may help p6 into a better language for low level operations
20:27 autrijus which I'd very much like to see.
20:27 pmichaud well, here's my thinking on this
20:28 autrijus justatheory: select gcc at 3.3?
20:28 pmichaud at some point we'll end up optimizing the expression engine to the point where it can parse things faster than the imc parser I've written by hand
20:28 autrijus right.
20:28 justatheory autrijus: Here's the latest: http://rafb.net/paste/results/iWPHna72.html
20:28 justatheory That's on Tiger.
20:28 pmichaud at that point, it's worthwhile to rebuild the pge parser in p6
20:28 Limbic_Region home time
20:28 autrijus justatheory: try #haskell? :-/
20:28 Limbic_Region has quit IRC ("home")
20:28 justatheory autrijus: It uses gcc?
20:28 autrijus justatheory: I think you need gcc3.3
20:28 pmichaud then we can look at rebuiilding the codegen portion in p6 as well
20:28 justatheory I thought it used ghc
20:29 autrijus see GHC page
20:29 autrijus justatheory: GHC in optimization mode is just a C generator
20:29 justatheory ah
20:29 pmichaud but somehow I think the low-level codegen stuff will remain imc/pir for some time to come
20:29 autrijus pmichaud: okie.
20:29 pmichaud but hey, it'll be easy soon enough to prove me wrong :)
20:29 autrijus :)
20:29 autrijus pmichaud++
20:29 * justatheory goes to eat some lunch...
20:30 autrijus justatheory: but really, try gcc_select :)
20:30 justatheory ok
20:37 l-fy has quit IRC (Read error: 60 (Operation timed out))
20:42 Shillo has quit IRC (Remote closed the connection)
20:43 Shillo has joined #perl6
20:43 * Shillo blushes. Yes, it was CTRL-ALT-BS.
20:44 Shillo I managed to press it without really realising what I did. Note to self: Don't prepare to do CTRL-ALT-LEFT (switches virtual desktop) while in the middle of backspacing a line. ;)
20:48 wilx lol
20:48 jhorwitz autrijus: ping
20:49 autrijus jhorwitz: pong
20:50 jhorwitz Makefile.PL changes in r2664
20:50 jhorwitz queries parrot directly -- try it out when you get the chance to verify it works.
20:51 jhorwitz (and anyone else w/ parrot)
20:51 autrijus k.
20:51 * justatheory starts make with gcc3.3...
20:51 l-fy has joined #perl6
20:51 hlen_ guys, every 20 days or so i've been asking this question.. are the ==> and <== operators coming soon?
20:52 autrijus jhorwitz:
20:52 autrijus ghc-6.4: unrecognised flags: -Wl,-E
20:52 autrijus Usage: For basic information, try the `--help' option.
20:52 autrijus hlen_: not as far as I know... you want to take a stab?
20:53 hlen_ autrijus, sorry, no knowledge, and little time
20:53 autrijus ah. well. :-/
20:53 autrijus jhorwitz: ghc can't take generic GCC flags.
20:54 autrijus jhorwitz: you need to strip so only -I -L -l are left
20:54 jhorwitz autrijus: got it -- didn't have that problem on my end
20:55 jhorwitz autrijus: what flags are you seeing?
20:56 autrijus -Wl,-E
20:57 jhorwitz okay then.
20:57 * jhorwitz gets to fixin'...
20:58 metaperl_ which SYNOPSIS shows how strings can have functions interpolated in them
20:59 pmichaud functions?  You mean which synopsis does interpolation?  S02 I think
20:59 * metaperl_ checks S02 again
20:59 pmichaud yeah, S02
20:59 pmichaud the answer is "use curlies"  :-)
21:00 PerlJam metaperl_: It's just  "{ foo() }" though
21:00 pmichaud in fact, you can search for that :)
21:00 pmichaud hiya, pj
21:00 PerlJam greets pm
21:01 metaperl_ I saw somewhere where it showed all sorts of ways to double quote a string and it had several cases of function interpolation...
21:01 l-fy has quit IRC (Read error: 60 (Operation timed out))
21:01 pmichaud there's  "..."  and <<...>>
21:01 metaperl_ under literals in S02 it seems to discuss it
21:05 Shillo Whoa, ghc bootstrap done. Less than 90 minutes! :)
21:05 autrijus Shillo: nice
21:05 autrijus you have a Fast Machine.
21:05 Shillo :))))
21:05 jabbot pugs - 2664 - * query parrot's configuration for requi
21:06 Shillo It still runs into a wall from time to time. :)
21:06 Shillo Need to debug that and then I'd say I have a l33t g34r :)
21:06 justatheory autrijus: Looks like select_gcc 3.3 did the trick. Running make test...
21:09 autrijus justatheory: cool!
21:09 autrijus wow, 5am.
21:09 justatheory Looks like it's compiling faster than Emacs still, which is good. ;-)
21:09 autrijus a voice somewhere says I should sleep
21:10 justatheory autrijus: You *sleep*?
21:10 autrijus I try to.
21:10 metaperl_ you are getting sleeeeeeeeeeeeeeeeeeeeppy. sleeeeepy.....
21:11 justatheory autrijus: You're someone's hero: http://www.justatheory.com/computers/programming/javascript/test_simple_purpose.html#tb
21:11 Shillo autrijus: What's the time over there? :)
21:11 autrijus 5:10am
21:12 autrijus so, zzz.
21:13 * autrijus waves &
21:13 Shillo Oif. Laters.
21:14 iblechbot has quit IRC (Operation timed out)
21:14 hlen_ has quit IRC ("#debian_ - for a better freenode")
21:15 jabbot pugs - 2665 - * strip non-GHC flags from imported parr
21:16 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.2/20050317]")
21:16 metaperl_ what special variable in p6 will determine how interpolated array elements are separated?
21:17 metaperl_ $" is p5...
21:18 PerlJam metaperl_: I don't think there is one.
21:18 pmichaud it's not a variable, it's an adverb
21:19 metaperl_ hmm
21:19 pmichaud oh, I'm wrong
21:19 pmichaud it's a method on the array
21:19 pmichaud just a sec
21:19 PerlJam @foo.separator(':')   ?
21:19 lambdabot Unknown command, try @listcommands.
21:19 pmichaud no, I'm thinking of .as(...)
21:21 pmichaud @array.as('%s', ':') or somesuch
21:21 lambdabot Unknown command, try @listcommands.
21:21 PerlJam I thought Larry said that it's easy enough to do  "{@foo.join ':'}" or something
21:22 pmichaud yeah, that's another way
21:22 wolverian @foo.join(':') you mean :)
21:22 lambdabot Unknown command, try @listcommands.
21:22 wolverian oh shush
21:22 PerlJam wolverian: indeed.  
21:23 brentdax You know something's wrong when you're seriously considering using an Acme:: module in real code.
21:23 PerlJam oh, I guess curlies aren't needed then:   "These are my @foo.join(':')"
21:23 brentdax (Need to curse an object in a threaded program so it won't run its destructor.)
21:24 meppl has joined #perl6
21:24 pmichaud pj: yeah, the curlies aren't needed there
21:25 PerlJam pm: the (potential) long look ahead for brackets to decide whether or not to interpolate is somewhat bothersome though
21:25 pmichaud I think it's just one step
21:25 pmichaud oh, you're right, it's not
21:26 pmichaud I'm sure we'll be able to come up with a reasonable rule to cover that case :-)
21:28 PerlJam I think {} are cheap, so why not {@foo}  instead of @foo[] for interpolation and lose the $sigil.thingy.that.ends.in('a bracketing construct') entirely?
21:29 G2 has quit IRC ("oops")
21:29 PerlJam I guess some people have aversion to the shift key and the common case will most likely be @foo[]
21:31 theorb has joined #perl6
21:32 pmichaud because {@foo} and @foo[] produce different results
21:33 PerlJam they do?
21:33 pmichaud @foo[] puts spaces between elements, {@foo} doesn't
21:33 lambdabot Unknown command, try @listcommands.
21:35 pmichaud I think I read that somewhere
21:35 PerlJam That's strange
21:35 PerlJam the results of subroutines are interpolates as if they were arrays
21:35 theorb has quit IRC (Remote closed the connection)
21:36 theorb has joined #perl6
21:36 pmichaud the rsults of bare subroutines are interpolated
21:36 PerlJam {} is almost a subroutine  :)
21:36 pmichaud it's a closure called in string context
21:36 pmichaud and @array in string context produces all of the elements next to each other
21:36 pmichaud with no separators
21:36 PerlJam oh.  yeah, I'm just reading S02 now.
21:37 PerlJam {} gives scalar context
21:37 PerlJam so it would be {*@foo} to replace @foo[]
21:37 PerlJam or {list @foo}
21:39 pmichaud A bare closure also interpolates in double-quotish context. It may not be followed by any dereferencers, since you can always put them inside the closure. The expression inside is evaluated in scalar (string) context. You can force list context on the expression using either the * or list operator if necessary.
21:39 pmichaud   @foo in string context is the concatenation of its elements
21:41 Shillo Uh, when is string context distinct from scalar context?
21:41 PerlJam still ... it'd be nice to know what to do with the thing you're parsing from the beginning rather than having to find the end.
21:41 PerlJam Shillo: string context is a type of scalar context.
21:41 wolverian Shillo: it's distinct even in perl5!
21:41 pmichaud when interpolating inside of a double quoted string, I suspect
21:42 Jonathan__ has joined #perl6
21:42 wolverian PerlJam: I agree. {}s are even visually more distinctive.
21:43 pmichaud well, one is always welcome to use curlies in their strings :-)
21:43 wolverian (and both curlies and brackets need an extra key on this keyboard)
21:43 PerlJam Anyway,  it's like sentences in english ...  you have to scan ahead to see how to read them sometimes because they may be exclamatory (for instance) but you don't know until you hit the end.  If you're reading out loud at the time, they tend to come as emphasizing the last few words rather than the whole sentence.
21:43 PerlJam (where by "emphasizing " I mean either exclaiming or querying)
21:44 wolverian pmichaud: true enough. :)
21:44 pmichaud there's lots of languages where you have to wait until the end to get the full meaning of the sentence
21:44 PerlJam I think I'll use @foo[] over {*@foo} given the current syntactic rules :)
21:44 PerlJam pmichaud: sure, but never is it a *feature*.  Always a bug.  :-)
21:45 pmichaud isn't German the language where the verbs often come at the end?  ;-)
21:46 wolverian maybe we should just use a sigil that isn't used in e-mail addresses for arrays...
21:46 PerlJam wolverian: bzzt!
21:46 wolverian :)
21:46 Shillo Going. Later, all. :)
21:46 Shillo has left "Leaving"
21:47 wolverian how about :? that's not used much yet.
21:47 PerlJam I know!  Let's get rid of @ and % and just use $.  While we're at it, let's unify arrays and hashes into a single data type.
21:47 wolverian you're funnier. :)
21:48 wolverian let's get rid of namespaces while we're at it. they just overcomplicate things.
21:48 pmichaud PerlJam: uh... didn't we already do that?
21:48 PerlJam pmichaud: which "we"?  I didn't do it.
21:48 pmichaud at least as far as getting rid of @ and %?  They aren't required :-)
21:48 PerlJam perl hasn't done it (yet)
21:48 hlafarge has quit IRC (Read error: 110 (Connection timed out))
21:48 wolverian hmm. true.
21:48 wolverian forgot that.
21:49 mj has quit IRC (Read error: 104 (Connection reset by peer))
21:49 PerlJam pmichaud: so now every php programmer can now write perl as if it were php.  I see how Larry is co-opting mindshare now ...  :-)
21:49 wolverian my @foo is Scalar; # hmm.
21:49 pmichaud pj: this was one of the expressions of dismay at the dfw perl mongers meeting last week :-)
21:49 pmichaud "it looks like PHP!"
21:49 Jonathan_ has quit IRC (Read error: 60 (Operation timed out))
21:50 wolverian is & a ref-taker only or is it a sigil as well?
21:50 PerlJam "ref-taker"?
21:50 wolverian &foo; # ref to foo
21:50 pmichaud ummm, &foo is a subroutine, yes?
21:51 pmichaud & is the subroutine sigil
21:51 wolverian er. yes. my point is that can I do: my &foo = sub { ... };
21:51 PerlJam right.
21:52 PerlJam And you can apparently do  "&foo()" too  ;-)
21:52 wolverian I assume that's a yes then!
21:52 PerlJam wolverian: certainly
21:52 wolverian okay, good. my logic brains aren't up this late. sorry for bothering. and thanks :)
21:53 PerlJam Though I think you really want my &foo := sub { ... }
21:53 wolverian why?
21:53 PerlJam And you may want my &foo ::= sub { ... }
21:53 PerlJam wolverian: I believe = makes a copy while := will only alias.
21:54 PerlJam perhaps it's a cheap copy though so it mayn't make a difference
21:54 wolverian I certainly hope anonymous-to-named copies are cheap :)
21:55 wolverian (and the other kind, but those aren't as common. unless we learn to use := more.)
22:01 theorb has quit IRC (Read error: 145 (Connection timed out))
22:03 wolverian my $foo = "bar"; # copy?
22:05 theorb has joined #perl6
22:08 theorb has quit IRC (Client Quit)
22:10 Lopo has quit IRC (Read error: 60 (Operation timed out))
22:20 theorb has joined #perl6
22:24 Lopo has joined #perl6
22:32 meppl perl6 looks like php?
22:32 meppl he?
22:33 pmichaud one can use $-sigils for almost any variable/datatype
22:33 meppl joke?
22:33 Khisanth oooh finally ghc-bin 6.4
22:33 pmichaud no, I'm serious
22:33 pmichaud $foo = [ 1, 2, 3 ]
22:33 pmichaud $foo[0], $foo[1], $foo[2], etc.
22:33 Khisanth you can drop all the sigils then :)
22:34 pmichaud $foo = hash { a => 0, b => 2, c => 4 }
22:34 pmichaud $foo{'a'}, $foo{'b'}, etc.
22:34 Khisanth $foo<a>!
22:34 pmichaud yes, but I was demonstrating that it still looks a lot like PHP :-)
22:34 Khisanth pmichaud: but it's not $foo['0'] :)
22:35 pmichaud er, you mean that $foo['a'] won't work.  You're right there, of course -- but still it means someone can be a lot less sigil-bound if desired
22:36 meppl php is a young language which adopted syntax-rules from other languages
22:36 meppl for example "strint1"."string2"
22:36 meppl from perl
22:37 theorb meppl, perl did a lot of that too.
22:37 meppl yes
22:37 theorb Oh, and I suspect that you can create an ArrayHashMonster datatype fairly easily, though you'll have to decorate your "my"s to use it.
22:38 theorb (You can create one in perl5 -- MJD has done so.  I wouldn't recommend it, of course.)
22:39 arcady has joined #perl6
22:47 metaperl__ has joined #perl6
22:47 ninereasons pugs M parrot/examples/mops/mops.p6 # op/s:        0.0010911074740861974904528096017457719585
22:47 simcop2387 has quit IRC (Read error: 145 (Connection timed out))
22:48 ninereasons perl parrot/examples/mops/mops.pl # M op/s:        0.602409638554217
22:48 ninereasons (that is, both are "M op/s:" )
22:49 [1]metaperl_ has joined #perl6
22:51 [1]metaperl_ is now known as me
22:51 me is now known as metaperler
22:55 [1]metaperl_ has joined #perl6
22:58 l-fy has joined #perl6
22:59 [1]metaperl_ is now known as meta_perl
22:59 metaperl_ has quit IRC (Read error: 113 (No route to host))
23:00 pasteling "revdiablo" at 24.75.156.86 pasted "array references getting flattened?" (3 lines, 62B) at http://sial.org/pbot/9895
23:00 revdiablo is that wrong, or am I going crazy? :)
23:01 wolverian looks wrong.
23:01 wolverian (check tests.)
23:01 revdiablo should I write a test and put it somewhere?
23:01 wolverian if there isn't one for that, yes.
23:02 revdiablo ok, I'll look to see if there's one already
23:02 wolverian t/builtins/arrays/push.t probably
23:03 wolverian unless it's a more general flattening error
23:03 ninereasons i bet if you write it as \[ 1..5] it will behave as you expected
23:04 revdiablo ninereasons: same thing, gets flattened
23:04 ninereasons nope
23:04 ninereasons yep to you, revdiablo
23:04 ninereasons nope to me.
23:04 revdiablo I don't see anything in push.t
23:04 revdiablo perhaps it's something more general?
23:05 revdiablo ah, there's something in t/pugsbugs
23:05 revdiablo flattening_in_map
23:05 revdiablo but this looks like a more general thing
23:06 ninereasons imho it seems like a nice fit to test for it in push.t, though.
23:06 revdiablo arrayrefs are getting flattened in any list context?
23:06 metaperl__ has quit IRC (Read error: 110 (Connection timed out))
23:06 wolverian pugs> sub foo (@a) { say @a[1] } foo [1,[2]]
23:06 wolverian 2
23:06 wolverian illegal flattening there too
23:06 revdiablo ninereasons: ok, I'll add a test or two in push.t
23:07 wolverian [1,[2]] on its own doesn't flatten
23:07 wolverian looks like it flattens in subcalls
23:08 ninereasons it seems like list contexts generally are a bit flurby and unpredictable
23:08 wolverian flurby++
23:10 metaperler has quit IRC (Read error: 110 (Connection timed out))
23:13 revdiablo well, I added to push.t ... if anyone has some suggestions for a more general place, I'll add there too
23:15 jabbot pugs - 2666 - tests for nested arrayrefs
23:18 revdiablo nested arrayrefs seem to be working in hashes, foo => [ ... ], doesnt cause the flattening
23:20 wolverian even when passed to a sub?
23:20 revdiablo I didn't try passing to a sub
23:20 wolverian that's where it happens
23:22 Limbic_Region has joined #perl6
23:23 Juerd rehi
23:23 Juerd I'm back home
23:23 wolverian welcome back :)
23:24 Juerd Talks on pugs-developments-in-the-past-few-hours and perl 6 context were both received positively
23:24 theorb Cool, Juerd.
23:24 Juerd People were very impressed at the speed of development of Pugs
23:24 * theorb grins.
23:24 theorb Not that I had anything to do with it, but it's still nice to bask in reflected glory.
23:24 Juerd "And since when was all this added you said?"
23:25 Juerd "Since we ordered dinner, 18:15"
23:26 revdiablo wolverian: wait, it's flattening when not in a sub call too
23:26 revdiablo except when there's a , in the hash definition list
23:27 revdiablo so 'my %hash = (k => [ qw(1 2 3 4 5) ]); say %hash<k>[2]' vs 'my %hash = (k => [ qw(1 2 3 4 5) ],); say %hash<k>[2]'
23:27 Juerd 3 vs 3?
23:28 revdiablo I'm getting undef in the first case
23:28 Juerd (RHS of %hash = is in list context already)
23:28 Juerd revdiablo: That's a bug, I think.
23:28 revdiablo I know what it *should* be :)
23:28 wolverian me too.
23:28 wolverian (r2646)
23:28 revdiablo Juerd: yeah, there's some weird flattening going on
23:29 Juerd flattening of what?
23:29 revdiablo the arrayref
23:29 Juerd That would be weird indeed.
23:29 revdiablo $ pugs -e 'my %hash = (k => [ qw(1 2 3 4 5) ]); say %hash<4>'
23:29 revdiablo 5
23:29 wolverian hmm. %hash<k>[0] in the first case is set to 0
23:30 wolverian it should be an arrayref, I think
23:30 revdiablo well, the tests I added in push.t exercise this, so maybe that's enough
23:31 ninereasons This all looks so familiar.  an unfixed fix, unless I'm misremembering
23:32 Juerd revdiablo: What does %hash = (key => want) result in?
23:34 theorb The pair constructor gives scalar context to both sides, or should, leastways.
23:34 Juerd Yes, it should
23:34 revdiablo $ pugs -e 'my %hash = (foo => want); say %hash<foo>'
23:34 revdiablo Scalar (Any)
23:35 wolverian weird.
23:36 wolverian pugs> my %h = (k => [want]); say %h<k>, ", ", %h<k>[0]
23:36 wolverian List (Any), List (Any)
23:36 revdiablo yeah, it does this weird subscript collapsing thing too
23:37 revdiablo $ pugs -e 'my @a = 1 .. 5; say @a[0][0][0]'
23:37 revdiablo 1
23:37 ninereasons my %hash_k = (k => [ qw(1 2 3 4 5)])
23:37 ninereasons say %hash_k.perl
23:37 ninereasons \(\('2', '3'), \('4', '5'), \('k', '1'))
23:38 ninereasons my %hash_j = (j => [ qw(1 2 3 4 5)], )
23:38 ninereasons say %hash_j.perl
23:38 ninereasons \(\('j', ('1', '2', '3', '4', '5')))
23:38 wolverian haha, what?!
23:38 theorb Hmm, seems like [] is behaving like () should.
23:38 wolverian that is broken.
23:39 revdiablo I wonder if that comma works with push too
23:39 Limbic_Region has quit IRC ("leafChat IRC client: http://www.leafdigital.com/Software/leafChat/")
23:39 revdiablo nope
23:39 revdiablo :)
23:40 theorb Tests!
23:41 revdiablo is that you volunteering? :)
23:41 theorb No.
23:41 theorb I'm trying to get a working copy of jhc.
23:41 larsen has quit IRC ("later")
23:41 Odin_ is now known as Odin-LAP
23:42 revdiablo I already put a test in push.t that demonstrates the improper flattening
23:42 ninereasons does the Grin thing mean that we might be moving away from ghc, to jhc ?  or, what does it mean?
23:42 theorb It's possible.
23:43 theorb jhc is currently quite incomplete.
23:43 theorb However, it's a better platform to build a haskell->perl compiler on, and thus obtain self-hosing.
23:43 ninereasons pugs seems to be genetically attracted to the edges of worlds
23:44 theorb Yup.
23:44 Odin-LAP That fits, doesn't it?
23:44 theorb Fun, isn't it?
23:45 Odin-LAP Perl6 is kinda on the edge of language design...
23:45 theorb s/on/over/
23:45 ninereasons yes, it is fun. but very hard to keep up with (and still be productive in the real world)
23:45 theorb There's a real world?
23:45 Odin-LAP theorb: Hmm. Dunno. The jury's out regarding Lisp vs. P6. ;p
23:46 ninereasons don't make me doubt it .. i'm barely hanging on theorb
23:46 lambdabot has quit IRC ("new code")
23:46 ninereasons :-)
23:46 Odin-LAP 'real world'? That thing with all the depressing stuff and other people and suchlike?
23:46 Odin-LAP You mean people actually *want* to stay there?
23:47 shapr They do serve food.
23:47 ninereasons mm spaghetti
23:48 * theorb is hoping that he'll be able to survive interaction with real people on thursday.
23:48 theorb (Visiting London.)
23:48 ninereasons mm figgy pudding
23:48 theorb At least they speak English (of a sort).
23:48 Odin-LAP shapr: That's overrated.
23:49 theorb Odin-LAP: They also serve beer, and more potent libations.
23:49 Jonathan__ Mmmm...beer. :) Time for sleep, night all.
23:49 Jonathan__ has quit IRC ("Leaving")
23:50 Odin-LAP theorb: Meh. I live in a country where there's an alcohol monopoly, and it's illegal to obtain alcohol under twenty. When that's the 'real world' I think I prefer the virtual one. ;)
23:51 theorb Where do you live, Odin?
23:51 Odin-LAP Iceland.
23:51 ninereasons cool.  
23:52 Odin-LAP Indeed.
23:52 Odin-LAP The temperature very rarely reaches 17°C. ;)
23:52 Odin-LAP ... in the peak of the summer, that is.
23:52 theorb Icy, one might even say...
23:53 ninereasons I love the geysers.
23:54 brentdax has left
23:54 * Odin-LAP advises not going too close.
23:56 ninereasons hmm news to me: this page (http://www.wyojones.com/how_geysers_got_their_names.htm ) says that Great Geysir is mostly dormant.
23:57 ninereasons people-damaged.  very sad.
23:58 Odin-LAP Hm. People-damaged?
23:58 Odin-LAP Any specifics given?
23:58 ninereasons soap, rocks and other things.
23:58 ninereasons tossed in to try to stimulate an eruption.
23:59 Odin-LAP I don't think anyone knows the exact reason it stopped.

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

Perl 6 | Reference Documentation | Rakudo