Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-07-26

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:05 [particle] is there a MANIFEST for pugs?
00:05 * [particle] is adding prove6.bat so windows folks can C as well
00:10 svnbot6 r11789 | particle++ | add prove6.bat so windows users can test perl6 today!
00:10 svnbot6 r11789 | particle++ | run C<util\prove6 -v t/> or your favorite C<prove> command.
00:16 Bit-Man joined perl6
00:27 nekokak joined perl6
00:30 clkao whoot
00:37 audreyt particle++
00:38 * audreyt finally finished outline for her talk
00:38 audreyt just need to fill code in
00:38 clkao hi audreyt
00:38 clkao how's it going?
00:39 audreyt going well
00:39 audreyt care to review my draft a bit?
00:39 audreyt (uploading)
00:39 audreyt it's curious that I'm hacking Jifty and you are hacking Perl6 :)
00:40 audreyt mm bad influences on each other
00:40 audreyt http://pugs.blogs.com/talks/oscon-rhox-draft.pdf
00:41 audreyt (very early draft)
00:41 lollan joined perl6
00:42 clkao audreyt: seen my use.perl journal? you might want to link to that if you happen to do pugs blogging
00:42 jabbot clkao: I havn't seen my, clkao
00:42 clkao it kind of excites some people ;)
00:42 audreyt clkao: I already did that last night ;)
00:42 audreyt http://pugs.blogs.com/pugs/2006/07/v6pm_920_tests_.html
00:42 clkao gr
00:42 clkao alright
00:42 audreyt it is very exciting
00:42 clkao sorry i didn't notice because i was drinking ;)
00:45 Dr_Pi How long is t/perl5/method.t supposed to take? It appears to be hanging.
00:45 audreyt then it's prbably hanging
00:46 * audreyt goes filling in more code so the slides can make sense
00:46 clkao audreyt: oh i meant to ask you something
00:46 audreyt mmm?
00:46 clkao isa_ok({ 'one' => 1 }, 'Hash');
00:46 clkao how is this Hash not Code ?
00:49 pochi joined perl6
00:53 lollan joined perl6
00:53 audreyt it's always Code
00:53 audreyt some Code are folded into Hash
00:54 audreyt See S06
00:54 audreyt Anonymous hashes vs blocks
00:54 audreyt C<{...}> is always a block.  However, if it is completely empty or
00:54 audreyt consists of a single list, the first element of which is either a hash
00:54 audreyt or a pair, it is executed immediately to compose a Hash object.
00:55 clkao audreyt: see t/02-test-pm/1-basic.t
00:56 clkao mmmm
00:56 clkao ok the rule is a bit crazy
00:57 audreyt indeed
00:57 audreyt implementation is at src/Pugs/Parser/Util.hs
00:57 clkao what tio do?
00:57 audreyt line 159
00:57 audreyt extractHash :: Exp -> Maybe Exp
00:57 clkao i can impelemnt that in perl emit easiy
00:57 clkao but i just don't feel very sane
00:59 * clkao ponders about using autobox
00:59 dduncan joined perl6
01:04 dduncan ping audreyt
01:05 dduncan I see you last posted 7 mins ago, so I don't imagine you're far away from seeing this?
01:06 clkao dduncan: i htink you should just ask whatever yo uwanted to ask
01:06 dduncan yes .
01:06 dduncan audreyt, where are you now .
01:07 dduncan I'd like to meet when we can
01:08 dduncan I'm currently in E141 I think, where OSCAMP is
01:08 dduncan in an hour olr less, for this evening's events, I've marked a seat right in front of the podium
01:11 dduncan for Larry's Onion and Damian's Davinci Code
01:11 dduncan I'll save you a good seat if you want it
01:12 dduncan I marked the second row, leftmost seat
01:13 dduncan (exactly where I sat last year)
01:13 dduncan doh
01:14 clkao gr
01:25 xdg joined perl6
01:26 myavuzselim left perl6
01:38 hikozaemon joined perl6
01:42 dolmans joined perl6
01:42 vel joined perl6
01:42 wolverian joined perl6
01:47 chip___ joined perl6
01:47 PerlJam joined perl6
01:47 leo joined perl6
01:47 pmurias joined perl6
01:47 pmichaud joined perl6
01:47 webmind joined perl6
01:47 Juerd joined perl6
01:48 dduncan joined perl6
01:56 markstos joined perl6
01:58 dduncan joined perl6
02:00 pasteling "markstos" at 12.176.101.89 pasted "I'm trying to port CGI::Application to Perl6, but I can't get it to even compile. It dies with an out of memory error. Click for details." (9 lines, 744B) at http://sial.org/pbot/18626
02:01 markstos Yup. I wonder if it could be solved by using a lazy data structure in Pugs::Runtime::Rule, so it doesn't try to put so much into memory at once.
02:06 justatheory joined perl6
02:12 chip___ is now known as chip
02:29 diederich joined perl6
02:29 diederich yes
02:30 Diederich joined perl6
02:31 Diederich anyone home?
02:31 rodi nobody here but us chickens...
02:32 obra We're all in larry's keynote
02:32 Diederich oh cool!
02:32 Diederich so this is where the magic happens?  :-)
02:33 Diederich how's the keynote going?  I'd give my left eye-tooth to see one of his talks.
02:36 Khisanth channeling Odin? :)
02:38 Diederich well, at least someone tell me when it's over!
02:40 markstos left perl6
02:44 ingy hola
02:44 Diederich howdy!
02:45 ingy :)
02:45 Diederich is this the author of IO::All?
02:45 ingy oh... yes this is
02:45 ingy who is that?
02:45 Diederich (You'll have to excuse me, this is the first time I've been in direct contact with a lot of Perl luminaries)
02:45 dduncan go to #oscon on perl.org
02:45 dduncan live Larry commentary
02:45 Diederich o?
02:46 dduncan I think they are viceoing it this time
02:46 Diederich I've been using Perl since 1993, and I've never talked to any of you guys. :)
02:46 Diederich n
02:46 SamB dduncan: then who is that TimToady person?
02:47 SamB ... or are you implicating that he can be in two places at a time?
02:48 Diederich dduncan, what port is IRC running on perl.org?
02:50 dduncan the normal one?
02:50 dduncan 6667
02:50 Diederich telnet perl.org 6667
02:50 Diederich that gives me no route to host :(
02:52 dduncan try irc.perl.org specifically
02:52 dduncan anyway, Larry's onion just ended
02:52 Diederich sorry I'm so dense, it's been a very, very long time since I've used IRC
02:53 dduncan he also used some of audreyt's snazzy diagrams
02:53 Diederich I can't wait to read all about it
02:56 Diederich be back in a little while
03:12 TreyHarris is all of Pugs quintuply-licensed under the five licenses shown under LICENSE/, or are parts of it licensed differently from other parts?
03:15 xdg joined perl6
03:20 dduncan different parts
03:20 amnesiac joined perl6
03:20 dduncan see the README, I think
04:38 lisppaste3 joined perl6
04:46 traecer joined perl6
04:48 mako132 joined perl6
05:10 kanru joined perl6
05:10 dolmans "abc" ~~ ("abc","123") makes false in pugs, is the language changed or i misunderstood?
05:13 tessier__ joined perl6
05:13 tessier__ Wow
05:13 tessier__ So...why are 119 people interested in a perl interpreter written in haskell?
05:15 dolmans tessier__: i am interested in a perl 6 interpreter, it occasionally implemented in haskell.
05:16 tessier__ You mean it is coincidentally implemented in haskell?
05:17 dolmans no, i just don't care.
05:17 tessier__ hrm
05:17 tessier__ There is still a perl6 interpreter implemented in C right?
05:18 dolmans don't know it.
05:21 justatheory joined perl6
05:22 Kattana perl6 is implimented in magic and pure thought.
05:22 dolmans :-P
05:25 FurnaceBoy I guess the position of "Perl6 in C" implementor is open, tessier__
05:26 tessier__ So Larry Wall is a haskell coder now?
05:26 tessier__ Or is perl6 not a canonical perl?
05:26 * tessier__ is confused
05:27 FurnaceBoy if Larry's involvement makes it canonical, it's canonical :-)
05:27 FurnaceBoy in fact, that's a great adjective.
05:27 FurnaceBoy the Synopses are the Canon :-)
05:27 traecer The Perl 6 interpreter will eventually be coded to run in the Parrot virtual machine
05:28 traecer But there is also currently Pugs, which implements some (a lot) of Perl 6 in Haskell
05:29 traecer The short answer to why 2 efforts is the Parrot VM was taking too long
05:29 traecer Pugs allows people to start working with some Perl 6 today, so when the final Perl 6 interpreter is ready, people won't be lost
05:44 TreyHarris ?eval "abc" ~~ ("abc","123")
05:44 TreyHarris oops, where did evalbot go?
05:47 TreyHarris dolmans: your thinking it should be true matches my reading of S03.  at least written as ("abc", "123") ~~ "abc" definitely should--it's right there in S03.  the "matching code", 'any(("abc","123")) eq "abc"', *does* work
05:50 TreyHarris dolmans: it's :todo
05:51 cognominal joined perl6
05:53 TreyHarris dolman: see http://svn.perl.org/perl6/pugs/trunk/t/operators/smartmatch.t at "/Array\s+Str\s+array\s+contains\s+string\s+match"
05:53 dolmans TreyHarris: yes, and "abc" ~~ any("abc","123") works either.
05:53 * dolmans browsing
05:54 TreyHarris dolmans: works too?  or doesn't work either?
05:54 dolmans works too.
05:59 buetow joined perl6
06:03 tessier__ FurnaceBoy: Yeah, canonical is a cool word. :)
06:03 * tessier__ likes to sound erudite
06:03 tessier__ Although I eschew obfuscation.
06:04 tessier__ traecer: There are 2 implementations of perl 6? One in Haskell and one for the parrot virtual machine right? Is parrot itself the language in which perl6 is being implemented in for the parrot virtual machine?
06:05 tessier__ Parrot is taking too long so they went with haskell and it was implemented faster...so why continue with parrot?
06:14 Kattana parrots goal isnt to implement perl6.
06:17 traecer Parrot's goal is to be a virtual machine for several dynamically-typed languages, including Perl 6
06:17 traecer Plus, Haskell is slow, from what I hear
06:18 dolmans p5's syntax `for $x (@a) {}' is gone? i'm annoyed typing for @a -> $x
06:18 traecer And also, one goal for Perl 6 is to ultimately self-host (though that's a looonnnggg way off)
06:18 traecer Actually, I thought for was still there
06:19 traecer oh I see what you mean.
06:19 traecer I'm not sure, I haven't read the Synopses lately
06:20 TreyHarris dolmans: for takes two arguments, the thing it's iterating and a block (possibly with arguments).  so yes, you need to write the pointy sub form; the other form won't parse.  just like you can't write "grep { ... } @array" anymore.
06:22 TreyHarris you could use a placeholder, though.  "for @a { ... $^x ... }"
06:25 TreyHarris tessier__, traecer: pugs targets many interpreters, including parrot (and javascript and perl5) as well as the haskell runtime.  the two implementations have effectively merged, AFAICT.
06:25 dolmans TreyHarris: yes i can. though i prefer the p5 for syntax's simplicity, i must coordinate myself to p6's arrow culture.
06:26 dolmans :-P
06:26 buetow At least no moew arrows in OOP :) $foo.method();
06:26 buetow s/moew/more/
06:26 TreyHarris dolmans: the syntax was a special case.  perl 6 is all about normalization.
06:27 TreyHarris traecer: btw, haskell isn't slow when properly used.
06:27 tessier__ yeah, haskell seems to fair exceptionally well in the programming language shootout
06:27 dolmans TreyHarris: i think so too.
06:28 traecer I remember speed being one of the complaints a long time ago.  I haven't really kept up with P6 development lately
06:30 dolmans tessier__: in my opinion haskell is suit for build a grammer parser, so it is sense to implement p6 in haskell. if you want to use it daily, it is a disaster.
06:30 tessier__ dolmans: Why a disaster for daily use? Lots of people seem to be loving it. Lindows recently announced they would be standardizing on it.
06:31 dolmans in daily use, you just want to do your work but not to do monad trick.
06:32 dolmans IMHO
06:32 TreyHarris when forced to be a procedural language, yes, haskell's a disaster. :-)
06:33 dolmans TreyHarris: this world is not a pure functional world, yes? there are too many status changed rapidly.
06:35 TreyHarris in any case, i'd ask audreyt her opinion, but i think that the intent is that, once p6-on-p6 is able to self-host, that development towards release would move from haskell to perl 6
06:36 dolmans perhaps haskell suit for building large scale software which i can't write.:-P
06:37 traecer left perl6
06:45 kcwu joined perl6
06:52 iblechbot joined perl6
07:38 elmex joined perl6
08:11 obra_work joined perl6
08:14 nothingmuch moosage
08:18 obra_work hey
08:19 obra_work is now known as obra
08:24 gaal wapititude
08:25 gaal nothingmuch: have you built obby 0.4 successfully? HEAD seems to be broken on some dependency, or maybe I'm not finding all the maint-build scripts I need to run.
08:25 gaal (missing inc/config.hpp in net6)
08:26 audreyt joined perl6
08:28 nothingmuch gaal: gentoo
08:29 obra gobby made me very sad
08:30 obra gaal/nothingmuch, you heard that larry described moose as one of his favorite perl6ish projects?
08:32 nothingmuch gaal: awesome!
08:32 nothingmuch err
08:32 nothingmuch obra: awesome!
08:32 nothingmuch but tell that to stevan =)
08:33 obra I will
08:33 obra but I'm sleeping soon
08:33 gaal nothingmuch: wahuddya mean, gentoo?
08:33 nothingmuch gaal: i meant gentoo compiled it for me
08:34 gaal nothingmuch: okay. was that a tarball or a checkout? I should probably just get the tarball.
08:36 nothingmuch package system
08:36 gaal k
08:36 nothingmuch e.g.  apt-get install gobby?
08:39 gaal nothingmuch: yes yes; debian didn't have 0.4, is all.
08:40 lumi Morning nothingmuch & gaal
08:40 gaal hey lumi
08:41 lumi gaal: ebby is completely missing obby's syncing brains!
08:41 gaal suck.
08:41 lumi Which is why it broke so badly
08:41 lumi Yeah, I'm writing it now
08:42 gaal ooh
08:43 hugues23 joined perl6
08:43 lumi Hopefully I'll have sth by tomorrow
08:43 gaal looks like we'll have an obbython, not a mopathon :)
08:46 lumi Mayhap, but an obby's a terrible thing to waste
08:50 lumi What should I read about mop now?
08:51 gaal Moose, Moose::Class, src/Pugs/MOP
08:51 gaal but bug nothingmuch and stevan about it :)
08:51 gaal re: obby, surely
08:54 nothingmuch joined perl6
08:56 gaal what's the ./configure switch to add an extra c include path?
08:58 gaal ah, CFLAGS=-I...
08:59 nothingmuch oh!
08:59 nothingmuch i have 0.3
09:04 revision17_ joined perl6
09:04 gaal we want to target 4, don't we
09:05 gaal I've built obby ok, but still futzing around with sobby
09:15 avar joined perl6
09:30 kanru joined perl6
09:55 dolmans is there another way to do `sort { $^a <=> $^b } @array', the $^ is tricky but hurt hands.
09:56 wolverian @array.sort(&infix:{'<=>'}) or so, I expect
09:56 lambdabot Unknown command, try @list
09:56 wolverian (dunno about current pugs)
09:57 dolmans wolverian: yes, it worked, i like that.
09:57 wolverian http://svn.openfoundry.org/pugs/docs/Perl6/Spec/Functions.pod
09:57 dolmans no, i don't like that syntax, it reminds me sort is method of array, i just hate oo. :-P
09:58 wolverian sort @array: ...;
09:59 wolverian sort {} @array works too, I think
09:59 gaal dolmans: what is it you don't like? the ^ ? sort -> $a, $b { $a <=> $b } @array
09:59 wolverian sort {+$_} @arr; is the same too
10:01 dolmans gaal: yes, ^ hurt hands and make me sicks. your version is understoodable to me.
10:01 dolmans wolverian: your new version sounds good too,
10:01 * xinming prefers `sort @array, {}`  then, we don't need to do sort on a closure in OO way. :-P
10:02 wolverian sorting a closure sounds rather useless :-)
10:02 xinming { $^a <=> $^b }.sort(@a) is ugly...
10:02 tup joined perl6
10:02 gaal you can also avoid the anonymous comparator entirely. sort &mycmp, @array
10:03 xinming the reasonable one is, @array.sory({ $^a <=> $^b });
10:03 wolverian wish there was a shorter syntax for bare infix ops than &infix:{'<=>'}
10:04 xinming gaal, but, for OO way, I think @array.sory is more reasonable.
10:04 wolverian that's what we have, yeah
10:04 gaal xinming: I thought dolmans was worried about the use of placeholder vars.
10:05 xinming wolverian, I think you can bind `>_<` to `<=>`  though, It doesn't save much typing, but you can type faster... :-)
10:06 wolverian xinming, true enough. :)
10:06 dolmans i remember my days on emacs, i rebind all @$%, :-P
10:07 xinming well, In fact, typing @$% these character isn't a big problem if you are familiar with keyboard.
10:07 dolmans perhaps my fingers is too hard.
10:08 dolmans s/is/were/
10:08 xinming BTW, After perl 6 released... I'd think to make True type using :-)  and False type using ':-('
10:08 xinming :-P
10:09 dolmans sounds a good idea.
10:10 xinming yes, It might be emotional version of perl 6.
10:10 xinming and also, the devel version... :-)
10:11 chris2 joined perl6
10:12 xinming s/devel/evil
10:12 dolmans and something else? perhaps orz for exception?
10:12 * xinming feels sorry for his poor English.
10:12 xinming dolmans, yes.
10:12 xinming I ever suggest that orz is used for running a system command
10:12 dolmans :-P
10:12 xinming "cat /etc/shadow".orz;  :-)
10:28 iblechbot joined perl6
10:30 BooK joined perl6
10:35 xinming Since bare words are considered sub calls in perl 6, so, will this be valid?  (a => 'letter')?
10:36 xinming I mean the a in left side. it's a key, will it obey the bareword-closure rule?
10:38 wolverian => is special afaik
10:40 xinming => is pair constructor, then, I wonder, what the proto of left hand side is...
10:40 wolverian told you it's magic! :)
10:41 xinming supper time... bbl.
10:41 xinming well, I don't think there would be magic wand for every perl grammer... ;)
10:41 xinming I'm writing test, So, I just want to be sure about this.
10:41 xinming and %hash util method in pugs lacks test.
10:46 Juerd wolverian: Every "special" in Perl 6 has some kind of *normal* grammar or prototype :)
10:46 Juerd wolverian: In that sense, things aren't so special anymore.
10:48 Juerd RFC: rename prefix:<=> to prefix:« >> »
10:49 Juerd >> has a visual association with various "next" symbols
10:49 Juerd Is less ugly combined with assignment ($foo = =$bar versus $foo = >>$bar)
10:50 Juerd AFAICT, doesn't clash
10:53 Juerd (terms aren't hyperable, are they?)
10:59 gaal &prefix:<☐> ::= method ($fh:) { $fh.close }
11:00 gaal &prefix:« >> » ::= method ($fh:) { $fh.seek(0, :end) }
11:01 Juerd Hmm?
11:01 gaal fastforward :)
11:01 clkao hurrah. there will be devel::cover hackathon
11:01 Juerd Are you serious?
11:01 gaal no :)
11:01 Juerd Ok :)
11:01 clkao 4
11:01 Juerd I was :)
11:17 * nothingmuch eyes gall
11:17 * nothingmuch smiles
11:17 nothingmuch (suspiciously!)
11:19 agentzh joined perl6
11:19 * gaal mooses
11:20 * agentzh grins
11:24 nothingmuch muahahahaa!
11:28 * theorbtwo grins conspiritorally.
11:50 xerox audrey slides are terrific :)
11:58 agentzh the slides are finished already?
12:15 bpphillips joined perl6
12:18 xerox Nope
12:31 frederico joined perl6
12:43 gaal nothingmuch: all the jupiter stuff is #if 0'ed...
12:44 nothingmuch ugh'
12:44 nothingmuch let's stick with the annotated example then
12:45 gaal oh. no: it's just shoved into the .hpp file :(
12:45 nothingmuch hmm?
12:45 nothingmuch y'know what?
12:45 nothingmuch we can just harass the authors on IRC =)
12:45 gaal d'you know ehere they are?
12:46 gaal I looked for a channel but didn't find one.
12:46 mauke_ joined perl6
12:46 gaal re: hpp: the code isn't in the cpp files, it's in ../inc/*.hpp
12:46 gaal It's the wonderful "inline all" mode of c/c++ development :)
13:01 mauke_ is now known as mauke
13:09 nothingmuch gaal: http://www.0x539.de/members.html
13:09 lambdabot Title: [ 0x539 dev group - Members ]
13:14 xerox Obby? Obby?
13:23 gaal nothingmuch: there's one other person besides me there now :/
13:24 gaal xerox: nothingmuch and I want to write a vim plugin
13:24 gaal and lumi is fixing the one for emacs
13:24 xerox Yes, we were going to try that with shapr today
13:25 gaal that=ebby?
13:25 xerox It would be really nice to have some open source collaborative editing tool which Works(tm)
13:26 gaal gobby (the reference implementation) does... but the editor itself isn't $FAVORITE
13:29 gaal xerox: does #haskell have a log?
13:29 fglock joined perl6
13:29 xerox gaal: yes
13:29 xerox @where logs
13:29 lambdabot http://tunes.org/~nef/logs/haskell/ http://meme.b9.com/cdates.html?channel=haskell
13:29 gaal thanks :)
13:34 fglock gaal: do you know of a plain english description of how the perl6 code emitter should work?
13:35 agentzh joined perl6
13:37 gaal sorry, no. and not a nonplain description, either
13:39 xdg joined perl6
13:39 fglock I want to write a sample emitter for the nodes already in p6-on-p6, so that I can test the data flow
13:40 fglock it should compile things like '1'
13:48 frederico_ joined perl6
13:48 agentzh fglock: is there much room to optimize P-C-R even further?
13:50 fglock agentzh: sure - there is a partial rewrite going on in misc/pX/fglock
13:50 agentzh fglock: great!
13:51 fglock I've not being working on it because I'm getting busy with p6-on-p6
13:51 agentzh i'll look closer into PCR when i finished reading the synopsese
13:52 fglock I've stopped in rewriting the numbered captures - that's pretty tough
13:52 gaal fglock, for now yaml-dump the nodes?
13:52 agentzh i can imagine. :=)
13:52 fglock agentzh: most of the other tests pass
13:53 agentzh fglock: okay
13:54 fglock gaal: I want to write the compiler framework, so that people can work on specific sections
13:54 fglock gaal: so it needs an optimizer and an emitter, even if they don't do much
13:54 iblechbot joined perl6
13:56 fglock gaal: I guess I'll use a multi sub to dispatch on $node.does
13:59 gaal fglock: reasonable. in haskell, it'd be a pattern match which is is a similar thing.
14:05 agentzh GC == Garbage Collection?
14:06 fglock agentzh: yes
14:08 agentzh fglock: how about DBC?
14:08 agentzh S04 says "C<POST> blocks are evaluated after everything else, to guarantee that even C<LEAVE> blocks can't violate DBC."
14:08 agentzh what is DBC there?
14:08 agentzh Database Constraints?
14:10 nothingmuch '/w 12
14:10 fglock maybe 'design by contract'
14:11 agentzh fglock: Hmm, very likely
14:11 nothingmuch yes, fglock is correct
14:11 nothingmuch PRE and POST in design by contract are hooks that validate at the start/end of methods (and in Perl 6 any blocks) that the input and output are correct
14:11 nothingmuch ideally DBC involves exporting a "contract" of declarative constraints
14:12 nothingmuch which are then used to generate the pre/post hooks during development
14:12 agentzh aye
14:12 nothingmuch the point is that PRE/POST run at the very ends
14:13 nothingmuch since enter/leave may affect the predicate in e.g. PRE and POST which verifies that this block can be invoked or was did what it was supposed to do
14:13 agentzh if it was not supposed to do, an exception is thrown, right?
14:15 agentzh * if it is not what supposed to do
14:17 * agentzh is making a patch to S04...
14:19 fglock I'm making the directory tree for p6-on-p6 - I've got Grammar/ for the parser, Emitter/ for the code generator; what would be a good name for a place to put optimizers and other ast transformations?
14:20 [particle] Optimizer/
14:20 f0rth joined perl6
14:20 fglock thanks :)
14:20 [particle] why don't you call the passer dir Parser/ ?
14:21 vel joined perl6
14:21 fglock it's called Grammar in the other compilers, so I'm just reusing the name
14:21 agentzh what will happen to "print if $foo" if there's a user-defined prefix:<if>?
14:23 [particle] the result of C<if $foo> will be printed
14:23 [particle] (i expect)
14:23 fglock the problem is that 'if' is a valid 'expression terminator'
14:23 [particle] fglock: that's what's confused me so far... the grammar is just an input format/file
14:24 [particle] fglock: the parser applies the grammar to the input stream
14:24 agentzh [particle]: currently S04 claims that it's a syntax error and i think it's odd too.
14:25 [particle] agentzh: the best way to find out is to write a test :)
14:25 agentzh :)
14:25 agentzh will do
14:26 fglock agentzh: also, what happens if you define prefix:<;> ?
14:27 agentzh fglock: wow, that's really scary. testing...
14:27 [particle] what is ; defined as... term?
14:29 fglock ';' can be a parameter that you pass to the expression parser, that tells it what it should expect to end the expression
14:30 agentzh proto prefix:<if> ($arg) { say $args; }
14:30 agentzh does it look sane?
14:30 agentzh i got syntax error when using pugs
14:30 [particle] $arg => $args
14:31 agentzh okay
14:31 agentzh but still the same error...
14:31 agentzh ***
14:31 agentzh    unexpected "{"
14:31 agentzh    expecting comment, operator, ":", ",", postfix conditional, postfix loop, po
14:31 agentzh stfix iteration, ";" or end of input
14:31 agentzh    at test.p6 line 3, column 26
14:31 fglock [particle]: I think it is more like 'the compiler applies the grammar to the input stream' - the 'compiler' is the front-end program to the other modules
14:32 [particle] the parser loads the grammar and extracts data from the input stream
14:34 fglock mm, the Grammar directory only contains grammars anyway
14:35 agentzh I second [particle]'s opinion, Parser/ sounds better than Grammar/
14:35 [particle] fglock: well, then that does sound appropriate
14:35 [particle] if it contains grammar files
14:36 [particle] there should be a module called Parser, which does the grammar loading and input processing
14:36 agentzh i'm wondering if pugs supports operator overloading...
14:36 scw_ joined perl6
14:36 scw_ joined perl6
14:38 * agentzh gives up
14:41 audreyt ?eval sub infix:<+> (Str $x, Str $y) { $x ~ $y }; "jifty " + "RHOX"
14:41 audreyt oy
14:41 agentzh audreyt: s/sub/proto/?
14:41 nothingmuch gaal: 21:50 or 22:50 ?
14:42 nothingmuch (arrival at train station)
14:42 audreyt s/sub/mult/
14:42 audreyt if you want other + to still work
14:42 amnesiac joined perl6
14:42 agentzh audreyt: S03 makes use of the "proto prefix:<...>" syntax
14:42 audreyt agentzh: proto is the prototype of multis
14:42 audreyt you declare a proto once
14:42 audreyt then you amend it with multis
14:42 evalbot_11793 joined perl6
14:43 cjeris joined perl6
14:43 agentzh audreyt: gotcha
14:43 svnbot6 joined perl6
14:43 glasser joined perl6
14:43 audreyt ?eval infix:<+> (Str $x, Str $y) { $x ~ $y }; "jifty " + "RHOX"
14:43 evalbot_11793 Error:  unexpected "$" expecting comment, "(", ":", operator or ")"
14:43 audreyt ?eval multi infix:<+> (Str $x, Str $y) { $x ~ $y }; "jifty " + "RHOX"
14:43 evalbot_11793 "jifty RHOX"
14:43 audreyt there we go.
14:43 audreyt ?eval multi infix:<CONCAT_WITH> (Str $x, Str $y) { $x ~ $y }; "jifty " CONCAT_WITH "RHOX"
14:43 evalbot_11793 "jifty RHOX"
14:44 audreyt as you can see, perl6 doesn't merely have "operator overloading"
14:44 audreyt but actually you can throw random operators at it.
14:44 agentzh but why can't pugs even recognize "proto prefix:<->"?
14:44 agentzh audreyt: yes, i've just defined a "foo" prefix operator. :=)
14:45 audreyt because you didn't write a test for it :)
14:45 [particle] ?eval multi infix:<super cool> (Str $x, Str $y) { $x ~ $y }; "jifty " super cool "RHOX"
14:45 evalbot_11793 "jifty RHOX"
14:45 [particle] ooh, embedded whitespace in ops. that's fun!
14:45 agentzh yes!
14:45 audreyt [particle]: perfect for DSLs
14:45 audreyt agentzh: write a test for proto_subs.t in t/subroutines?
14:46 audreyt if it's not tested, it doesn't happen :)
14:46 agentzh ?eval multi prefix:<if> ($args) { say @arg; }
14:46 evalbot_11793 undef
14:46 agentzh oops
14:46 audreyt (see multi_subs.t in t/subroutines/ for how to write it)
14:46 svnbot6 r11794 | fglock++ | v6-Compiler - added HACKING file
14:47 agentzh ?eval multi prefix:<if> ($arg) { say $arg }; print if 123;
14:47 evalbot_11793 OUTPUT[123 1] Bool::True
14:47 agentzh audreyt: okay
14:47 agentzh ?eval print if 123;
14:47 evalbot_11793 OUTPUT[] Bool::True
14:47 audreyt the ?eval doesn't carry context
14:47 audreyt from one line to another
14:47 agentzh audreyt: is it a bug?
14:48 audreyt no
14:48 fglock audreyt: would you comment on what I currently have in v6-Compiler? it's mostly an empty framework, to be filled-in
14:48 audreyt if it preserves context from line to line
14:48 * amnesiac lurks
14:48 audreyt it will turn into a MUD, or a MOO, of some kind
14:48 nothingmuch audreyt: when is/was your talk?
14:48 agentzh S04 claims that "print if 123" will be a syntax error if there's a prefix:<if> defined by the user
14:48 audreyt nothingmuch: in 6 hours
14:48 audreyt so I actually need to shut network down and work on it
14:48 audreyt agentzh: test that too
14:48 audreyt and link to the spec using L<> syntax
14:48 audreyt (see other tests for now)
14:48 audreyt s/now/how/
14:49 agentzh will do
14:49 audreyt yay
14:49 audreyt agentzh++
14:49 agentzh :)
14:49 nothingmuch audreyt: 6 hours? that's forever ;-)
14:49 audreyt fglock: I think it's sane. I also agree that having it run from end-to-end in both Hs and P5 is important
14:50 audreyt fglock: because then both can migrate piecemeal into it
14:50 nothingmuch good luck!
14:50 audreyt collaborative de-scaffolding
14:50 fglock audreyt: yes - and Parrot too :)
14:50 audreyt well, yeah, but someone needs to work out MMD and metaobject protocol for Parrot before that can happen
14:51 * audreyt looks at [particle]  :)
14:51 * [particle] looks around
14:51 * [particle] has nowhere to hide
14:51 fglock audreyt: we could write the libs in Perl6 and emit to Parrot
14:51 [particle] audreyt: the discussions have started (sunday at pre-oscon parrot hackathon)
14:51 xinming audreyt, hmm,  (a => 'a')  is this valid?
14:51 audreyt fglock: sure, it's already done that way in pugs -CPIR
14:51 audreyt xinming: yes
14:52 xinming audreyt, since a isn't quoted.
14:52 xinming audreyt, hmm, is '=>' an infix?
14:52 fglock so we could just reuse the pugs-emitted libs
14:52 xerox audreyt: the slides are great :)
14:52 fglock for the bootstrap
14:52 audreyt fglock: but the emitted PIR still has to somehow to MMD
14:52 audreyt and somehow observe the .meta protocol
14:52 audreyt otherwise you don't have a target to emit to
14:53 audreyt i.e. it's the equivalent to Sub::Multi and Class::MOP layer that v6.pm uses in its targetting
14:53 audreyt otherwise we're stuck in perl4 level emitting
14:53 audreyt the same situation as the current pugs -CPIR is in
14:53 TreyHarris agentzh: to return to the question you asked which was never answered (what should failure to meet DBC criteria do, throw an exception?): the usual answer is "yes, when developing and testing, but you can usually disable DBC assertions completely when running in prod, since they're supposed to be complete and thus are often quite expensive"
14:54 audreyt in any case... I'll be back and around more after my talk :)
14:54 audreyt xerox: ooh thanks :D
14:54 audreyt *wave* &
14:54 TreyHarris audreyt: good luck!
14:54 xinming audreyt, bye. :-)
14:54 fglock lunch &
14:54 audreyt fglock: (but I agree we should use gaal+'s work to make the PIR emitter and AST available to P6)
14:55 audreyt (and emit whatever we can to PIR that way)
14:57 amnesiac PEER and ASST
14:57 agentzh xinming: the left side of => gets auto-quote according to S02 or S03.
14:57 agentzh *autoquoted
14:57 xinming agentzh, Ok, thanks
14:58 agentzh ...if the LHS of => is a bare word
14:58 agentzh xinming: np :)
15:02 stephanepayrard_ joined perl6
15:02 justatheory joined perl6
15:02 pasteling "agentzh" at 221.208.173.84 pasted "Here's my patch to S04. Please do some sanity check before I sent it to p6-l" (199 lines, 8.7K) at http://sial.org/pbot/18632
15:03 agentzh oops! s/sent/send/
15:06 cjeris agentzh: 150, 821, 876, 899 appear to contain fresh typos - dropped out words?
15:06 agentzh cjeris: looking...
15:07 agentzh oh, that's my bad...
15:07 agentzh cjeris: thanks for pointing them out.
15:08 cjeris np
15:15 nothingmuch clkao: are you awesome?
15:18 TreyHarris nothingmuch: isn't that the sort of determination that's usually made extrinsically?
15:18 nothingmuch TreyHarris: i'm entrapping himn
15:19 nothingmuch if he says no i can give him a way to be awesome
15:19 nothingmuch and if he says yes then he has to show me how
15:19 nothingmuch and in both ways i get the same benefit
15:19 TreyHarris ah, and if he says "i don't know, you tell me?"
15:19 nothingmuch then i give him two options
15:19 nothingmuch =)
15:20 nothingmuch regardless of the current state if he does what I want he will become awesome, and if he doesn't he will lose awesomeness
15:20 nothingmuch so ... =)
15:20 nothingmuch but sshhh, don't tell him, i want him to fall for it
15:20 gaal nothingmuch: the earilier one is better for me, if ok with you
15:21 nothingmuch gaal: yes
15:21 nothingmuch oh btw
15:21 gaal groovy.
15:21 nothingmuch i crashed my puter
15:21 nothingmuch and lost the bus number
15:22 gaal from hashalom, 63. from merkaz, 5, 18, 61, 62
15:23 * agentzh finds making patches very difficult
15:23 gaal agentzh: technically? just vi away, then do 'svk diff'
15:23 gaal or do you mean editing specs is hard?
15:23 gaal of course it is :)
15:24 gaal bbiab&
15:28 arguile joined perl6
15:29 agentzh joined perl6
15:29 agentzh http://www.pandorabots.com/pandora/talk?botid=f5d922d97e345aa1
15:29 lambdabot Title: A. L. I. C. E. The Artificial Linguistic Internet Computer Entity - chatbot - ch ...
15:30 agentzh maybe we should bind this alicebot to our perl6faqbot in the future
15:30 agentzh that will be damn cool
15:31 agentzh there's even a perl version of alicebot which is free of charge.
15:32 kanru joined perl6
15:42 thepler joined perl6
15:47 Jedai joined perl6
15:55 pasteling "agentzh" at 221.208.173.84 pasted "Modified version of the previous patch for S04. Thanks cjeris for pointing out my stupid mistakes. I was using "substitution" when searching texts in my editor." (176 lines, 7.9K) at http://sial.org/pbot/18634
15:56 agentzh i've double checked this one. hopefully there will be a powerful Synopses parser soon. :)
15:57 agentzh editing synopses is much much harder than writing code. :(
15:57 cjeris agentzh: 521 you lost the sentence merge, 23 s/is a matter of/are a matter of/
15:57 agentzh looking...
15:58 agentzh cjeris: is "are" okay there?
15:58 agentzh cjeris: "... are a..." seems odd
15:59 cjeris agentzh: right, "are matters of".
15:59 agentzh okay
15:59 agentzh applying...
16:00 agentzh applied
16:01 * agentzh sees why small patches are usually preferred over large ones
16:05 mako132_ joined perl6
16:11 daxim joined perl6
16:11 agentzh ?eval multi prefix:<foo> ($arg) { say "Foolish $arg!" } print foo 'agent'
16:11 evalbot_11793 is now known as evalbot_11794
16:11 evalbot_11794 OUTPUT[Foolish agent! 1] Bool::True
16:12 agentzh ?eval proto prefix:<foo> ($arg) { say "Foolish $arg!" } print foo 'agent'
16:12 evalbot_11794 Error:  unexpected "{" expecting comment, operator, ":", ",", postfix conditional, postfix loop, postfix iteration, ";" or end of input
16:12 agentzh so this is a bug
16:12 [particle] that proto isn't recognized?
16:12 [particle] is that the bug you mean?
16:12 agentzh yeah
16:13 agentzh proto definitions don't even compile
16:13 agentzh audreyt said that's because there're no corresponding tests for that
16:14 [particle] strange
16:14 [particle] ?eval proto postcircumfix:<foo> () {...}
16:14 evalbot_11794 Error:  unexpected "{" expecting comment, operator, ":", ",", postfix conditional, postfix loop, postfix iteration, ";" or end of input
16:14 [particle] so it seems
16:14 agentzh i'd try to add some tests to the pugs tree
16:15 agentzh ?eval proto abc() {...}
16:15 evalbot_11794 Error:  unexpected "{" expecting comment, operator, ":", ",", postfix conditional, postfix loop, postfix iteration, ";" or end of input
16:17 gaal mooooooooooooooose.
16:17 iblechbot joined perl6
16:17 agentzh excuse me, how can i run a specific portion of the pugs test suit?
16:18 gaal agentzh: use 'prove':
16:18 gaal export HARNESS_PERL=./pugs
16:18 gaal export PERL6LIB=blib6/lib
16:18 gaal prove t/some/section
16:18 agentzh gaal: oh, that's it! thanks for reminding
16:19 gaal sure thing. if you like you can also use the yaml harness on specific parts.
16:19 daxim I've installed the fedora rpms for hs-plugins, c2hs, cpphs, DrIFT and greencard on suse10
16:19 daxim hopefully it doesn't crap out
16:19 gaal none of these things is required for pugs
16:20 gaal though hs-plugins gives you a limited eval :lang<haskell>
16:20 chris2 joined perl6
16:20 gaal and DrIFT lets you help us hack :)
16:20 daxim doesn't matter, if it doesn't work, I can remove the packages cleanly
16:21 gaal actually to use drift you don't need it installed
16:21 gaal you need it as a sister directory to pugs.
16:22 daxim is that documented somewhere?
16:23 gaal daxim: it's for developers only, so not really
16:24 gaal drift is only used to generate some files, but typical users simply get the ones drifters create for them.
16:24 daxim aha
16:24 Aankhen`` joined perl6
16:24 gaal but if you're interested: untar the drift source and rename it to 'DrIFT' (no version number)
16:25 gaal so standing in the pugs working dir, ../DrIFT/src is the good stuff.
16:25 gaal then run util/claim-drift.pl
16:25 gaal and then you can generate instances (Instance.hs files) yourself.
16:25 gaal once again, only needed if you're into metaprogramming.
16:26 agentzh it seems to me that pugs' test suit is rather incomplete. :(
16:27 agentzh so it's a very good chance to contribute. ;-)
16:27 gaal agentzh: it'll need to double, at least
16:27 gaal indeed :)
16:27 agentzh i'd like to try to double it in the next month or two. :=)
16:28 gaal :index intersperse
16:28 gaal @index intersperse
16:28 lambdabot Data.List
16:37 marmic joined perl6
16:39 miyagawa joined perl6
16:43 swaroop joined perl6
16:44 justatheory joined perl6
16:47 svnbot6 r11795 | agentz++ | [t/subroutines/multi_sub.t]
16:47 svnbot6 r11795 | agentz++ | added tests for "proto" definitions
16:50 dduncan joined perl6
16:52 justatheory joined perl6
16:53 rodi joined perl6
17:00 cognominal joined perl6
17:00 justatheory joined perl6
17:05 svnbot6 r11796 | agentz++ | [t/subroutines/multi_sub.t]
17:05 svnbot6 r11796 | agentz++ | more links to the Synopses
17:08 nothingmuch_ joined perl6
17:08 nothingmuch_ gaal: problem
17:08 nothingmuch_ my dad and I had a communication breakdown
17:08 nothingmuch_ he offerred to drive me
17:08 nothingmuch_ but misunderstood the hour
17:08 nothingmuch_ and i've now missed my bus
17:08 nothingmuch_ so i have to take the 22:50 one
17:08 nothingmuch_ but i'll take a cab so i arrive earlier
17:10 nothingmuch joined perl6
17:11 nothingmuch_ ?
17:11 Termy joined perl6
17:11 nothingmuch joined perl6
17:12 nothingmuch audreyt: ?
17:13 nothingmuch err
17:13 nothingmuch gaal: ?
17:13 gaal hullo
17:13 nothingmuch is that ok?
17:13 gaal cab from the station? let me find a number for you
17:14 gaal sure it's okay :) sorry it didn't go smoother
17:14 nothingmuch should i just find one on the street
17:15 gaal that works too, but if you get tired of waiting why not have one handy: 03-6993322 or 03-5283131
17:15 gaal probably you can get one on the street in no time though
17:15 nothingmuch gaal: because my phone really really sucks =)
17:15 nothingmuch anymoose
17:16 gaal see /msg
17:16 nelt joined perl6
17:17 hexmode joined perl6
17:18 stevan joined perl6
17:18 gaal okay why is this a parse error?    PosClass 17 [42] "Moose"
17:18 gaal PosClass is in scope
17:19 svnbot6 r11797 | audreyt++ | * multi_sub.t: avoid duplicate function name "foo"
17:19 audreyt because it's typeclass used as constructor?
17:19 gaal nope, it's a constructor
17:19 gaal misc/pX/gaal/SimpleMod.hs
17:20 audreyt it compiles for me
17:20 gaal with a stupid name, but still :)
17:20 gaal I'm hacking it
17:20 audreyt moose = PosClass 17 [42] "Moose"
17:20 audreyt worksforme
17:20 gaal don't want to commit yet becuase it'll btb
17:20 audreyt did you give it a name?
17:20 gaal    putStrLn $ asPerl6Object $ PosClass 17 [42] "Moose"
17:21 audreyt is asPerl6Object in scope? :)
17:21 gaal asPerl6Object :: a -> String
17:21 gaal yes.
17:21 audreyt main :: IO ()
17:21 audreyt main = putStrLn $ asPerl6Object $ PosClass 17 [42] "Moose"
17:21 audreyt asPerl6Object :: a -> String
17:21 audreyt asPerl6Object = const "moose"
17:21 audreyt worksfomre
17:21 gaal I've changed it since.. sec, let me put up a patch.
17:22 justatheory joined perl6
17:22 audreyt actually, I need to go back to slides :)
17:22 svnbot6 r11798 | audreyt++ | * Pugs.Parser: parse for "proto".  For now it just means "sub"
17:22 svnbot6 r11798 | audreyt++ |   until we switch to CapInternals.
17:22 svnbot6 r11798 | audreyt++ |   multi_sub.t now passes again. (agentzh++)
17:22 gaal don't you have a talk to give?
17:22 audreyt agentzh: your new tests now pass
17:22 gaal heh
17:22 agentzh gaal: (!)
17:23 agentzh apparently i need to roll more. :=)
17:23 agentzh gaal++ gaal++ gaal++
17:23 gaal why's everybody confusing me with audreyt today?
17:23 gaal I'm not that smart :)
17:24 agentzh yes, you are
17:24 gaal agentzh: it's audreyt who consumed all your tests :)
17:24 agentzh really?
17:24 * agentzh backlogs
17:25 gaal look: 20:22 < svnbot6> r11798 | audreyt++ |   multi_sub.t now passes again. (agentzh++)
17:25 agentzh sorry, my mistake. ;-)
17:25 agentzh audreyt++
17:27 Dr_Pi If I want to test t/perl5/method.t by itself, do I just type pugs method.t?
17:27 bradleym joined perl6
17:27 gaal multi &postfix:<++> (Gaal $moose) { $audreyt++ }   # runs into the mutability of ++ problem
17:28 agentzh agentzh: use 'prove':
17:28 agentzh export HARNESS_PERL=./pugs
17:28 agentzh export PERL6LIB=blib6/lib
17:28 agentzh prove t/some/section
17:28 agentzh Dr_Pi: see above
17:29 gaal audreyt: if you get a minute, http://perlcabal.org/~gaal/tmp/weird.patch
17:29 agentzh Dr_Pi: but i think ``pugs t/some/test.t'' is also okay
17:29 Steve_p joined perl6
17:29 gaal but after drifting SimpleMod.Instances, you need to manually insert 'import Data.List' into it
17:30 gaal ...I didn't want to add that to drift.pl just yet
17:32 gaal anyway, we're one likely-silly hurdle away from duming simple but arbitrary Hs data as P6 objects :-)
17:34 gaal Dr_Pi: yes pugs t.t is okay, if a little verbose and w/o nice summary line at the end.
17:37 aufrank joined perl6
17:41 mako132_ joined perl6
17:41 agentzh true
17:41 bernhard joined perl6
17:42 agentzh oh, no...
17:42 agentzh perl Makefile.PL segfaults at "Writing Makefile for WTemplate"
17:43 elmex joined perl6
17:43 agentzh i think i saw the same problem days before
17:43 agentzh any idea?
17:44 gaal ahh! solved my weird problem
17:44 agentzh gaal: congrats
17:45 gaal heh. i forgot the function name - had only the signature
17:45 gaal ghc gave a confusing error
17:45 aufrank is any of us #perl6 folk from chicago?
17:45 agentzh oh, my problem has also got solved.
17:46 gaal hmm, agentzh, I didn't see that segfault, how was it fixed?
17:46 agentzh it just took minutes to finish
17:46 agentzh weird
17:47 agentzh gaal: i got an error while making
17:48 pasteling "agentzh" at 221.208.173.84 pasted "Win32 building failure" (40 lines, 1.3K) at http://sial.org/pbot/18638
17:48 nothingmuch joined perl6
17:48 gaal whee, dumping of positionals works
17:49 gaal agentzh: hmm, that's new
17:49 agentzh i was using "nmake unoptimized"
17:49 agentzh i'm now trying normal "nmake"
17:50 agentzh to see if the problem will go away
17:50 agentzh nope, it's the same error. :(
17:51 gaal sorry for the lame suggestion, but make clean and start again?
17:51 agentzh i've already performed "nmake realclean"
17:51 justatheory joined perl6
17:52 * agentzh curses Win32
17:53 ruoso joined perl6
17:53 agentzh even "realclean" has errors. alas.
17:54 gaal looks like something is closing your stdio, but I've no idea what it can be
17:54 pasteling "agentzh" at 221.208.173.84 pasted "Errors when performing "nmake realclean" on Win32" (9 lines, 436B) at http://sial.org/pbot/18639
17:55 larsen joined perl6
17:55 gaal urp??
17:55 agentzh it's really really annoying...
17:56 gaal you can always make a clean co...
17:56 * agentzh is sad.
17:57 agentzh ?eval proto prefix:<foo> ($arg) { $arg+1 } print foo 3
17:57 evalbot_11794 is now known as evalbot_11798
17:57 evalbot_11798 OUTPUT[4] Bool::True
17:57 agentzh yay! i can always use evalbot
17:58 agentzh although i cannot use it to run pugs' test suit
17:58 agentzh thanks audreyt++ for adding "proto" support to pugs
17:59 audreyt draft #2 up
17:59 audreyt 50% finished!
17:59 audreyt (2hr to go)
17:59 audreyt # http://pugs.blogs.com/oscon-rhox-draft.pdf
17:59 agentzh audreyt: go ahead!
18:00 xerox New slides?
18:01 audreyt xerox: yeah
18:01 audreyt populated with code for the first half
18:01 xerox audreyt++
18:01 audreyt now working on second half
18:01 audreyt feedback welcome
18:01 xerox It's so unfortunate that the talks aren't put online afterwards...
18:01 audreyt you mean video?
18:01 xerox Yep!
18:02 * agentzh looks at the Pugs Janitor Tasks posted by audreyt++
18:02 agentzh well, anyway, end of day for me &
18:02 audreyt agentzh++ # good night
18:03 agentzh audreyt: night
18:03 gaal audreyt: good luck with the talk!
18:03 audreyt thanks! (I'll need it)
18:05 salty-horse joined perl6
18:08 thepler joined perl6
18:12 lumi audreyt: slide 74, s/do/does/
18:13 TimToady audreyt: 117 ~~ s/Hoes/How/
18:15 wolverian heh
18:15 lumi audreyt: 79 s/Hoes/How/
18:15 lumi In fact, s/Hoes/How/g might be appropriate..
18:15 audreyt did that
18:15 audreyt where is the "do"?
18:16 lumi "Which users do this change affect?"
18:16 audreyt k, changed to "Which users does this affect?"
18:17 gaal firefox is a lousy wget
18:17 wolverian audreyt, what's with the /=/, by the way?
18:17 audreyt I started this slides to show "useful utilities"
18:17 audreyt but it seems to become more and more Damianesque
18:17 audreyt "bend perl to evil purposes"
18:18 audreyt wolverian: /=/ is going to be Jifty's .meta URI space
18:18 audreyt all reflections go there
18:18 wolverian ah. nice
18:18 wolverian jifty is rails2 :)
18:18 audreyt mm rails6
18:18 audreyt by yeah, obra was heavily inspired by DHH
18:19 audreyt because last year's oscon DHH said "only ruby can create mini languages like this"
18:19 audreyt and obra was like, "sir, I accept the challenge"
18:19 audreyt ...and the rest is jifty
18:20 wolverian so the reflection api is completely automatic?
18:20 lumi Are slide 99 and 100 identical?
18:21 lumi Or better, last two phases of slide 41
18:21 audreyt might be, that's fine
18:21 audreyt extra newline
18:21 audreyt fixed, thanks
18:21 audreyt wolverian: yes.
18:21 audreyt wolverian: thanks to Class::MOP and friends
18:22 audreyt "Perl 6 Now" etc :)
18:23 wolverian yummy
18:28 wolverian hey! where's XML::All? :)
18:28 audreyt in the kwiki.org svn repo
18:28 audreyt not ready for prime time
18:28 audreyt not enough tests
18:28 audreyt will release after the talk
18:28 wolverian ah, ok
18:29 audreyt relatively mundane, too, compared to the XML::Literal magic
18:29 audreyt (it's in http://svn.kwiki.org/audreyt)
18:29 lambdabot Title: Revision 137: /
18:30 wolverian no moose? the world is ending!
18:31 audreyt hmm?
18:31 audreyt XML::All doesn't use moose
18:31 audreyt it's not an object
18:31 audreyt it's a inside-out katamari
18:31 wolverian that's a very apt name
18:31 wolverian audreyt++ # crazy hacking
18:31 audreyt another of those "overload everything" things (see also Scalar::Defer)
18:32 audreyt I blame TimToady, actually
18:32 audreyt it was Capture implemented in Perl5
18:32 gaal does order of overloading everything matter?
18:32 audreyt Capture was meant to be used like that
18:32 audreyt gaal: no
18:35 FurnaceBoy TT has a lot to answer for
18:36 gaal what is ......?
18:36 gaal ugh, that didn't paste well did it
18:36 audreyt chinese in the slides are for flavour
18:36 gaal the han in user 1
18:36 audreyt "System Admin"
18:37 thepler joined perl6
18:37 xdg joined perl6
18:37 stephanepayrard_ joined perl6
18:38 gaal audreyt: the GET for actions as in slide 44 is demo data?
18:38 audreyt surely
18:39 audreyt the full schema is much, much, much larger.
18:39 audreyt anything wrong with the data?
18:39 obra hi
18:39 gaal no; just wondering where you store the schematic metadata
18:39 audreyt hi obra
18:39 gaal of the demo
18:39 gaal hey obra
18:40 justatheory joined perl6
18:40 audreyt only 7 slides to go
18:40 obra audreyt: nice
18:40 audreyt gaal: oh, it's all in RPS::Model
18:40 audreyt I just commented out some "column"
18:40 audreyt and then it became smaller
18:40 xdg audreyt: I like how you're doing near-real time blogging of your slide progress.  :)
18:40 audreyt all the rows still work
18:40 audreyt xdg: :D
18:40 audreyt xdg: Class::InsideOut rocks
18:40 audreyt I use it for all my katamaris
18:40 xdg Thanks.
18:40 audreyt xdg: Scalar::Defer wouldn't be possible without it
18:41 xdg I figured it out when I got my CPANTS is_prereq point
18:41 gaal xdg, hi :)
18:41 audreyt xdg: I have a patch for Data::Dum::Streamer
18:41 audreyt remind me after my talk
18:41 xdg audreyt: for DDS?  Or for C::IO to support DDS?
18:41 audreyt CIO on DDS
18:41 xdg Cool.
18:41 audreyt it's handcoded currently for Pugs::Runtime::Match
18:41 xdg It almost went into 1.00 but dmq still has some singleton issues
18:41 audreyt (which is also C::IO)
18:42 gaal ooh, cool zshlike paths on 46
18:42 audreyt oh! so you have some protocode already?
18:42 audreyt send it to me :)
18:42 xdg I've got half a patch in an svn branch somewhere I think
18:42 audreyt ok. please dig it out
18:42 audreyt and I'll see if I can merge
18:42 audreyt because YAML::syck will also support DDS_freeze
18:42 * xdg checks repository...
18:42 audreyt (the 1st and 3rd arg)
18:42 audreyt I want my katamaris be YAMLable and JSONable :)
18:42 xdg http://dagolden.com/svn/public/CPAN/Class-InsideOut/branches/DDS-support/
18:42 lambdabot Title: Revision 664: /CPAN/Class-InsideOut/branches/DDS-support
18:43 audreyt danke
18:43 * audreyt goes back to slides
18:43 xdg gaal: hi!
18:43 xdg btw, I'm looking for win32 compiler experts to help Vanilla/Strawberry
18:43 xdg audreyt: good luck!
18:44 hcarty joined perl6
18:45 audreyt thanks!
18:45 Termy joined perl6
18:47 b_jonas joined perl6
18:47 spinclad my gv doesn't always like this pdf; i often have to hit 'stop interpreter'
18:48 wolverian evince works nicely here (libpoppler)
18:48 [particle] katamari?
18:48 thepler joined perl6
18:48 * [particle] was hoping for a factoid
18:49 wolverian [particle], http://en.wikipedia.org/wiki/Katamari#Controls
18:49 wolverian the second paragraph on that page explains the katamari better, I guess
18:50 spinclad evince?
18:50 Eimi joined perl6
18:50 wolverian spinclad, http://www.gnome.org/projects/evince/
18:50 spinclad (libpoppler?)
18:50 lambdabot Title: Evince &#150; Simply a document viewer
18:50 gaal spinclad: fwiw my acroread doesn't love it either...
18:51 wolverian spinclad, libpoppler is the backend library, forked from xpdf
18:51 xdg audreyt: should I forward email trail between me and dmq on DDS?
18:51 audreyt sure
18:51 wolverian haskell papers need syntax colouring
18:53 spinclad 141: reminds me a bit of a neolithic madonna
18:57 spinclad wait, how did TimToady2 get into this?
18:57 wolverian how many timtoadies do we have?
18:58 spinclad (slide 169)
18:58 wolverian oh ;)
18:59 spinclad 177 == 178 (but fillin not reached here yet, i guess)
19:03 spinclad shiny!
19:06 vel joined perl6
19:08 audreyt 4 slides to go...
19:09 obra audreyt++
19:10 dolmen joined perl6
19:11 gaal wtf? instance (PLit a) => PLit (Eval a) where plShow (Eval x) = plShow x
19:11 gaal Expecting a function type, but found `[Char]'
19:12 gaal Expected type: a -> b, Inferred type: String
19:12 gaal In the second argument of `(.)', namely `plShow x'
19:12 gaal (.) ?
19:12 gaal I have the (bogus) data Eval a = Eval a
19:12 [particle] plShow (x) ??
19:12 audreyt what's signature of plShow?
19:12 gaal could it be confusing constructir?
19:13 gaal class PLit where plShow :: a -> String
19:14 gaal class Show a => PLit a, more precisely.
19:14 gaal [particle]: nah!
19:18 [particle] gaal: i know less haskell than i do apl
19:18 beppu joined perl6
19:20 gaal [particle]: the one thing you should know is that they like functions as much as they like golf. no parens for function application! :-)
19:21 * [particle] waits for a haskell grammar written in perl6 rules
19:21 gaal okay, the crazy hypothesis that ghc was mixing up datatype with constructor is falsified; changing to data Eval a = UEval a the problem persists.
19:21 gaal [particle]: much, much easier than a perl6 grammar in Parsec
19:21 * [particle] dreams about compiling haskell down to javascript
19:22 tup joined perl6
19:22 [particle] *ahem*
19:22 * gaal contemplates writing Paddock, a haskell documentor that isn't broken for all those ghc extensions
19:22 wolverian heh
19:23 gaal so this is seriously weird, but I think audrey will give a talk and nothingmuch and I will meet and have sushi before this is fixed.
19:24 bobuntu joined perl6
19:25 dduncan joined perl6
19:25 spinclad wolverian++  # evince
19:25 wolverian :)
19:26 spinclad tho i still get a few black bars for some of the graphix
19:26 spinclad but so much nicer to actually see most of it
19:28 wolverian hm, graphics are fine here
19:28 gaal nothingmuch sends all of you his love.
19:29 gaal bbl &
19:29 spinclad slides 7 and 8 (Erdo''sing 2 and 3) here
19:32 spinclad all the rest are fine
19:33 obra audreyt: when are you headed to the conf center?
19:33 * wolverian checks
19:33 wolverian work here
19:33 wolverian (big pictures of $! and $Job, respectively)(
19:33 wolverian s,\(,,
19:37 aufrank audreyt: are -- comments parsed in the jifty schemas, or are those presentation-only comments?
19:38 wolverian I _knew_ there was something weird there. didn't realise it's s,#,--, :)
19:38 aufrank yeah, it's haskell comment syntax
19:38 aufrank well, one of the haskell comment syntaxes anyway
19:40 audreyt actually those are SQL
19:40 audreyt comments
19:40 audreyt obra: going there in 20 mins
19:41 wolverian sql has comments? ... wow.
19:41 audreyt and it's done!
19:41 audreyt http://pugs.blogs.com/talks/oscon-rhox.pdf
19:41 aufrank audreyt++
19:41 wolverian congrats :)
19:41 audreyt feedback still welcome
19:41 audreyt I can fix my atalk during obra's jifty talk :)
19:41 audreyt (same room, immediately before me)
19:41 aufrank yeah, he just ditched me in #jifty to go give a talk.  the nerve of some people ;)
19:46 coumbes joined perl6
19:47 aufrank joined perl6
19:47 dduncan hello audreyt
19:49 hcarty left perl6
19:49 spinclad odd that a number of the graphix (the magic cards and the IBM logo) extend downward, mirrored
19:50 spinclad not a bad effect
19:50 dduncan to you and anyone else intetested ...
19:50 dduncan 'm writing this to let you know that I've organized a discussion about the semantic web and related topics in the OSCAMP room (E146) today that                                                      starts about when your Web 2.0 talk ends and goes until at least 5:00.
19:51 dduncan look forward to meeting
19:51 dduncan er, people at oscon that is
19:55 dduncan oh, I'm looking at your pdf now ...
19:56 cognominal joined perl6
19:58 TreyHarris probably a stupid question, but what is "erdosing"?  (sorry, still haven't figured out how to type accented characters in irssi)
19:59 dduncan also, please check and/or reply by email if I"m signed off ... back in a bit
19:59 wolverian TreyHarris, http://en.wikipedia.org/wiki/Erdos#Biography (third paragraph)
20:01 TreyHarris wolverian: thanks.  of course i've heard of Erdos, but I didn't know he had been verbed :-)
20:01 TreyHarris I also wasn't aware of his itinerantism
20:06 spinclad on 186, surely C<<$item->name>> and C<<$item->description>>, not C<$collection> ?
20:06 spinclad audreyt: ^
20:06 Eimi left perl6
20:07 aufrank audreyt: slide 130:  print $$xml #a
20:07 aufrank why is that #a?
20:07 aufrank I would have guessed #23
20:08 aufrank whoops # 123
20:08 aufrank I guess it prints the type of element ($xml is an anchor)
20:09 lisppaste3 joined perl6
20:15 spinclad audreyt++
20:17 aufrank audreyt++ # just finished reading the slides :)
20:19 bpphillips left perl6
20:26 stephanepayrard_ joined perl6
20:32 dduncan joined perl6
20:32 audreyt spinclad: fixed, thanks
20:32 audreyt and yes, ${} is the tagname
20:35 mako132_ joined perl6
20:37 thepler joined perl6
20:37 cognominal joined perl6
20:39 xerox audreyt: ping
20:40 xerox audreyt: I spotted a `moose' in http://hackage.haskell.org/darcs/cabal-server-install/create-index.hs so I believe you have something to do with it :-)  Is it the put software?  Do you know how to build it?
20:45 audreyt xerox: yes, but my talk is coming up in <1hr
20:45 audreyt please let's deal with this affterwards
20:46 xerox Oh sure!
20:47 gaal moooooose
20:47 salty-horse joined perl6
20:48 kolibrie yay!  I'm invited to speak at Pittsburgh Perl Workshop - http://pghpw.org
20:48 lambdabot Title: Pittsburgh Perl Workshop - 2006-09-23 - About
20:48 gaal whee
20:49 * gaal antlers
20:49 kolibrie now I have to make sure I know what I'm talking about
20:50 gaal a moose in cabal? couldn't be
20:50 justatheory joined perl6
20:50 kolibrie gaal: }:)
20:51 wolverian ]:) # trimmed moose
20:59 SageLT joined perl6
21:00 spinclad (:E
21:05 thepler joined perl6
21:07 dduncan audreyt, fyi, reinstalling svk made the pull work, so thank you for figuing that out
21:08 audreyt dduncan: cool!
21:08 audreyt dduncan++ # it's wonderful to finally meet you in person
21:08 dduncan indeed
21:08 dduncan in the interest of continuing that, I invite you to the oscamp room after your talk
21:09 audreyt yup
21:12 kanru2 joined perl6
21:14 fglock_ joined perl6
21:22 kolibrie audreyt: wow  # XML::All in-place modification
21:24 audreyt kolibrie: it's actually the easiest part
21:24 audreyt it's just XML::Twig
21:24 audreyt XML::Twig is very much underappreciated :)
21:25 fglock_ joined perl6
21:28 fglock_ v6.pm is using too much ram again - Native.pm no longer compiles :(
21:28 kolibrie audreyt: I'll have to look at it more closely
21:31 fglock_ circular references might be a problem with things like { return $/ does xxx }
21:31 svnbot6 r11799 | Sage++ | Heredocs now translate (<<End -> q:to/End/ and friends).
21:31 svnbot6 r11799 | Sage++ | All functions that need to can now handle Heredocs.
21:31 svnbot6 r11799 | Sage++ | Some minor cleanups and revisions, mostly comments, formatting, and cleaning up the code that actually calls the parser.
21:33 dduncan left perl6
21:34 justatheory joined perl6
21:38 svnbot6 r11800 | Sage++ | Major updates to the parser used by the translator:
21:38 svnbot6 r11800 | Sage++ | Heredocs now parse correctly. This includes the start, end, and contents.
21:38 svnbot6 r11800 | Sage++ | Blocks with the chomp modifier (|+) now parse correctly, even inside Heredocs.
21:38 svnbot6 r11800 | Sage++ | Between these two changes, I believe the parser can handle anything in a valid P5AST. This means the Perl 5 -> Perl 6 translator should now at least partially translate any yaml output from MAD_SKILLS. I believe the translator will now handle all of /t, but I have yet to run a full test.
21:38 mako132_ joined perl6
21:38 wolverian whoa! sage++
21:38 SageLT Been working jard. ;)
21:38 SageLT *hard
21:39 vel joined perl6
21:43 TimToady sage += rand(100) :)
21:47 Eimi joined perl6
21:51 gaal can datatypes limit members by class? data Show a => DT a = V1 a
21:52 fglock_ I guess I'll rewrite the rule compiler to p6 instead of refactoring the current one
21:53 gaal I'm trying to find a way to give a class constraint on polymorphic type begotten elsewhere. that isn't very clear, so:
21:54 gaal class MyShow a where myShow :: a -> String
21:55 Termy joined perl6
21:55 gaal and also, a DrIFTed class NewClass with showElems :: NewClass a => a -> String
21:56 gaal showElems can do for example Maybe a, as long as NewClass a, because there's an instance for Maybe
21:56 gaal the problem is this:
21:57 gaal I can't really drift showElems, because the various constructors it faces have fields that I have no way of associating with class MyShow
21:57 gaal so if I had    showElems (Maybe a) = "Maybe.new(" ++ (myShow a) ++ ")"
21:58 gaal the compiler croaks with "cannot deduce MyShow a from constraint (NewClass a), (NewClass (Maybe a))
21:58 gaal and it's right...
21:58 gaal but I don't see a workaround at present.
21:59 gaal now, I need myShow, because it polymorphically does things correctly on different types
22:00 gaal I wish there were a way to say "all types have are instances of this new class; here's the default method implementations."
22:00 * gaal falls asleep thingking of polymorphic lambdas
22:01 gaal better get myself to bed
22:04 froh-doh joined perl6
22:12 nothingmuch /w 9
22:15 Eimi joined perl6
22:25 mako132_ joined perl6
22:27 Kattana joined perl6
22:38 nelt joined perl6
22:42 thepler joined perl6
22:48 clkao seen sage
22:48 jabbot clkao: I havn't seen sage, clkao
22:50 dduncan joined perl6
22:57 markstos joined perl6
23:03 miyagawa joined perl6
23:06 clkao whta's this proto thing about
23:14 thepler joined perl6
23:25 [particle] clkao: you mean proto prefix:<foo> () { ... }
23:25 svnbot6 r11801 | clkao++ | Parse signature term type correctly.
23:26 justatheory joined perl6
23:26 mako132_ joined perl6
23:28 mako132_ is now known as maco132
23:43 FurnaceBoy joined perl6

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

Perl 6 | Reference Documentation | Rakudo