Camelia, the Perl 6 bug

IRC log for #perl6, 2006-04-27

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:17 buu Oh god, the reset function
00:26 justathe1ry joined perl6
00:38 axarob joined perl6
00:45 justathe1ry is now known as justatheory
01:07 Khisanth joined perl6
01:28 sanu790 joined perl6
01:30 sanu790 hi all
01:30 jserv-- joined perl6
01:30 sanu790 hello
01:30 sanu790 is anyone alive in this server
01:30 jsiracusa I LIVE!
01:30 TimToady nobody here but us chickens...
01:31 jsiracusa is now known as siracusa
01:31 sanu790 lol
01:31 sanu790 how is it going chicken
01:31 TimToady everything is all clucked up.
01:32 sanu790 what?
01:32 siracusa why do you encourage him
01:33 sanu790 what does perl6 mean?
01:33 TimToady perl5++
01:34 wolverian that doesn't bode well
01:34 TimToady well, actually, it's perl7--
01:34 sanu790 lol
01:35 wolverian now that's swell. did you see that Paul Graham mentioned perl6 in a recent (at least I think it's recent) interview? of course, all he said about it was that "it's even more like lisp [than ruby]". I don't think he ever says anything else about any language.
01:36 wolverian (I mean, he always just compares them to lisp. I did not mean that he says that every language is more like lisp than ruby.)
01:36 sanu790 lol
01:37 mugwump sub postfix:<++>(Str where rx:/perl5/) { "perl7"-- }
01:38 sanu790 so what do you ppls discuss here
01:38 TimToady perl 6 design and development
01:39 TimToady we specifically try to avoid discussing perl 5 problems here.
01:39 wolverian mugwump, that should be a multi, probably.
01:39 sanu790 which country are you from
01:39 mugwump yeah, I figured that after I wrote it.  It also does the wrong thing with "fooperl5ish"++
01:39 TimToady chicken's aint from turkey
01:39 wolverian I guess 'where "perl5"' might work.
01:39 sanu790 it is in europe and asia right?
01:39 siracusa see what you've started
01:40 TimToady s/'s ain/s ain'/
01:40 sanu790 I have no idea about perl5
01:40 TimToady would you like to help with perl 6?
01:40 sanu790 what the hell is that
01:41 sanu790 bye
01:41 sanu790 I don't get this room
01:41 sanu790 cya later
01:41 sanu790 left perl6
01:41 mugwump gotta love irc
01:42 TimToady bock bock
01:42 wolverian good seeds today
01:42 TimToady definitely up to scratch
01:42 siracusa just think of how confused he would have been had you started to explain Perl 6 to him
01:42 siracusa (or her)
01:43 particle_ is now known as chicken
01:43 chicken is now known as chicken_
01:43 chicken_ is now known as particle_
01:44 wolverian chicken particles, mmm
01:45 wolverian I guess I'll have to take a course on shakespeare. this stuff is just too thick for me without someone forcing me to read it.
01:47 TimToady chicken nuggets, as you like it...
01:47 wolverian they had those back then? neat.
01:47 pjcj joined perl6
01:47 TimToady what did you think "a pound of flesh" was?
01:49 buu TimToady: Can I have a string prepend operator?
01:49 wolverian a pound of flesh.
01:49 PerlJam buu: All is fair if you predeclare
01:49 particle_ wolverian: it's all about metaphor.
01:49 buu PerlJam: Hrm..
01:49 TimToady yes, we'll call it "reset"...
01:49 buu PerlJam: But I want it to be sexy and optimized
01:49 buu TimToady: Reset eh?
01:49 TimToady sorry, bad joke...
01:49 wolverian buu, read the backbuffer ..
01:49 particle_ reset 'my', 'interpreter';
01:50 buu wolverian: No I get it.
01:50 buu wassercrats was in here.
01:50 particle_ ?eval reset
01:50 buu eval: reset()
01:50 p5evalbot buu: Return: 1
01:50 evalbot_10082 Error: No such sub: "&reset"
01:50 buu heh
01:50 wolverian particle_, I'm not very comfortable with metaphors. I feel excluded around them.
01:50 buu I thought that got taken out of 5.8 =[
01:50 Quell joined perl6
01:50 buu What is string append now anyway?
01:51 particle_ ~
01:51 wolverian ?eval my $foo = "foo"; $foo ~= " bar";
01:51 buu ~= you mean?
01:51 evalbot_10082 \"foo bar"
01:51 particle_ yep
01:51 buu Heh, we could almost do _= as a prepend
01:51 wolverian finally there's a parser that's slower than me.
01:52 TimToady so _ would mean reverse the args and append? :)
01:52 particle_ ~= also looks like assign in binary context
01:52 Quell joined perl6
01:52 buu TimToady: Heh, not quite
01:52 buu $x_=$y =:= "$y$x"
01:53 PerlJam buu: isn't that what he said?
01:53 buu I guess
01:53 wolverian flip infix:<~>
01:53 buu But 'reverse the args' sounds like it would modify $y, not $x
01:53 particle_ how about #= :)
01:53 wolverian $x.prepend($y)
01:54 wolverian so, uh, is there a flip()? :)
01:55 wolverian (haskellish)
01:55 theorbtwo ($x, $y) = ($y, $x) still works, AFAIK.
01:56 PerlJam buu: how about just  $x = "$y$x" ?   That looks like a good prepend operator.
01:56 wolverian &sub.flip(@foo) =:= &sub(@foo.reverse)
01:56 Quell joined perl6
01:57 particle_ flip @off;
01:57 Quell joined perl6
01:59 wolverian sleep 5`hours;
02:00 buu PerlJam: But it is ugly
02:01 buu PerlJam: And I dislike repeating the variable
02:14 justatheory joined perl6
02:26 f0rth joined perl6
02:27 weinig|away is now known as weinig
02:31 KingDillyDilly joined perl6
02:32 KingDillyDilly Best information on the future of the reset function that I've found: http://groups.google.com/group/per​l.perl6.language/browse_frm/thread​/b83fa0819060ca02/e86555009e886e36
02:36 KingDillyDilly Which sounds like it would be temporary in Perl 6 and go away once it's gone from Perl 5.
02:37 nothingmuch remember the translator
02:37 nothingmuch it's a compatibility library
02:37 nothingmuch on top of the Perl 6 standard library
02:39 KingDillyDilly So it would work with long-ago deprecated versions of Perl 5? Anyway, it's not an important function even to me.
02:43 weinig is now known as weinig|sleep
02:43 KingDillyDilly I'm glad I do CGI so I can install whatever Perl I want. I remember I was in a bookstore trying to decide what programming language to learn. If there had been a Perl 5 and Perl 6 book, I'd pick up the Perl 6 book, read that Perl 5 isn't going anywhere, be confused, and probably buy Perl 6. I think most people would do that.
02:44 KingDillyDilly But now I feel I can stick with Perl 5 because my scripts won't run on other people's Perl.
02:54 q[uri]_ joined perl6
02:59 KingDillyDilly ...but at the same time, I want to be current and have skills that people need, so I'll probably be deciding to switch from Perl 5.
03:02 Quell joined perl6
03:04 xinming KingDillyDilly: that's nonsense... No matter what perl 6 promised.... It still has a long way to go.  And will you wait for 5 year again for perl 6? Maybe, there might be a candiate release this year.... Maybe next... and maybe the next year after next year... will you wait?   Perl 5 is there, and works fine most times.  Perl 6, at least, there is a long way to become production use...
03:07 KingDillyDilly Perl 5 works absolutely fine for me right now, but it's possible in two years Perl 6 or Python or something will be a much more desired language to know.
03:08 arcady ruby seems like the Cool New Thing at the moment
03:08 KingDillyDilly So I'm not sure about starting any new projects with Perl 5, unless they're not really big.
03:09 KingDillyDilly My web host doesn't support Ruby, I don't think.
03:09 arcady you have to work with what you have, right now. because there will always be something better just over the horizon
03:09 mugwump I don't feel so bad writing Perl 5, so long as I'm using Moose.pm
03:09 q[uri]__ joined perl6
03:10 Quell joined perl6
03:13 Quell joined perl6
03:14 saorge_ joined perl6
03:15 KingDillyDilly I've been looking for predictions. I found http://freshmeat.net/articles/view/1339 but it's kind of old and very long. Maybe I'll look for something about Python's prospects for the future. But I'll be sticking with Perl 5 for now. I have no major projects planned. Just further developing current Perl 5 scripts.
03:17 mako132_ joined perl6
03:19 * KingDillyDilly doesn't consider that an anti-Perl 6 webpage. There are comments at the bottom that disagree with the essay.
03:19 spinclad whatever
03:20 audreyt KingDillyDilly: hey
03:20 audreyt rindolf (Shlomi Fish)
03:20 KingDillyDilly The author's bio at the bottom of the essay isn't very impressive.
03:20 audreyt that author is now a Pugs committer
03:21 audreyt and has contributed several tests
03:21 audreyt as well as spotting corner cases in the language
03:21 Quell joined perl6
03:21 audreyt and has written examples/qotw/008e/graham.p6
03:21 audreyt etc
03:22 KingDillyDilly Look at this...I try being nice and put down the author of an anti-Perl 6 article, and it backfires.
03:22 audreyt so, that article is probably 1)outdated 2)not very relevant
03:23 audreyt before 2005, the CPAN community isn't in general very happy about Perl 6
03:23 audreyt me included
03:23 audreyt I wouldn't say it's "happy" now, but we've been slowly gaining goodwill.
03:23 Quell joined perl6
03:23 stevan__ joined perl6
03:34 KingDillyDilly All I need is good documentation and the ability to somehow do what I want and that's enough. (basically)
03:35 KingDillyDilly Tempting modules that I can't figure out ot won't run in Windows because they're not pure perl are --.
03:37 audreyt re the win32 thing
03:37 audreyt which module are you talking about? :)
03:38 audreyt # http://www.cpan.org/modules/by-authors/id/S/S​T/STENNIE/camelpack/perl-camelpack-5.8.7.exe
03:38 audreyt this small installer sets up everything you need to build non-pureperl modules
03:41 KingDillyDilly Maybe it was Perlcc. I ended up using TinyPerl because it was the only free executable maker I could figure out, but I don't trust it's author. It was two or three years ago. Thanks for the link.
03:42 KingDillyDilly I know Perlcc sucks anyway.
03:45 audreyt I know someone who started a free executable maker.
03:45 audreyt http://search.cpan.org/dist/PAR/
03:45 audreyt (my previous project before Pugs)
03:45 FurnaceBoy_ joined perl6
03:45 audreyt it's... fairly widely used, I think
03:46 KingDillyDilly Me too. The author of TinyPerl inexplicably plugged the guy's really bad executable maker.
03:47 KingDillyDilly Oh...PAR...yeah...been there, tried that. I think that's what I couldn't understand.
03:47 audreyt !
03:47 audreyt pp your_script_here.pl
03:47 audreyt that's all :p
03:47 KingDillyDilly Basically tried everything that was free 2-3 years ago.
03:49 KingDillyDilly I won't pick apart the docs. Don't want to review again them especially since I don't need them. I'll bookmark this chat page.
03:50 audreyt # http://search.cpan.org/~smueller/PAR/script/pp
03:50 audreyt I'm sorry then. I hope our documentation for PAR has improved in those 2-3 years
03:50 KingDillyDilly Get back to Perl 6 talk before another flame war starts.
03:50 audreyt sure :)
03:54 KingDillyDilly I vaguely remember not even being sure Par was to be used as a regular module. It seemed really weird to me. But that's no reflection on you because I didn't know anything.
03:55 * spinclad sits on hands
04:04 KingDillyDilly Well, as long as nobody's speaking, I couldn't help looking at the docs for PAR. I bet two years ago I was looking for a way to specify an output file so I know where the executable would be saved. Still couldn't find a way now, but I didn't really look hard.
04:05 KingDillyDilly Wouldn't have known what "# Pack 'hello' into executable 'a.out'" means. Still don't
04:10 audreyt er.
04:10 audreyt pp -o out hello.pl
04:10 audreyt that's, like, that next line.
04:10 audreyt    % pp hello                  # Pack 'hello' into executable 'a.out'
04:10 audreyt    % pp -o hello hello.pl      # Pack 'hello.pl' into executable 'hello'
04:11 audreyt also, the line above reads
04:11 audreyt Note: When running on Microsoft Windows, the a.out below will be replaced by a.exe instead.
04:11 audreyt spinclad: hi!
04:11 FurnaceBoy_ he can't answer right now
04:11 * audreyt is releasing Locale::Maketext::{Lexicon,Simple}
04:12 audreyt let's see if the CPAN toolchain can recognize the MIT license in META.yml...
04:14 KingDillyDilly Well, I don't really know what was going through my mind then, but maybe "hellp" didn't look like a variable and didn't look like code and I didn't know what it was.
04:14 KingDillyDilly s/hellp/hello/
04:17 KingDillyDilly The comment makes sense now. :-/
04:17 audreyt I'll fix the extensions
04:18 audreyt thanks for the feedback
04:18 KingDillyDilly Would have helped if "hello" was "hello.pl" I guess.
04:18 audreyt how would you like to be credited in AUTHORS?
04:18 audreyt (yup, going to make that change)
04:18 KingDillyDilly As "Wassercrats...the man who terrorized PerlMonks.
04:19 KingDillyDilly But, no, don't credit me.
04:21 audreyt ok... as you wish :)
04:22 audreyt done
04:22 audreyt thanks!
04:23 KingDillyDilly Always glad to complain. :)
04:23 khisanth_ joined perl6
04:25 audreyt I think clkao will absolutely love you ;)
04:25 KingDillyDilly Well, my work is done here.
04:25 audreyt (it's known that audrey projects, such as PAR/Pugs, is primarily motivated by appreciation, while clkao's projects is motivated by complaints)
04:26 KingDillyDilly Oh. I'll seek out more of clkao's work then.
04:26 KingDillyDilly left perl6
04:30 svnbot6 r10095 | spinclad++ | - first tweaks to optable.h
04:32 * audreyt looks forward seeing KDD on #svk
04:32 spinclad audreyt: hey
04:33 spinclad sorry, wasn't attending the trollfest
04:33 FurnaceBoy_ he'd be a hit on #svn too
04:33 FurnaceBoy_ they have ... ways of dealing with the type
04:36 spinclad audreyt: i've seen what judy's about, and ci'd some minimal non-fixes to optable.h
04:38 spinclad i think my next steps are to look over patrick's code.
04:38 audreyt yup
04:38 audreyt https://svn.perl.org/parrot/branches/​pge-pm/compilers/pge/PGE/OPTable.pir
04:39 spinclad on the whole, i expect to push for pushing just the very core into C... but no concrete proposals yet
04:39 audreyt OPTable is 519 lines PIR
04:40 audreyt which is likely less than that in C
04:40 spinclad oh, right, not the whole of PGE.  heh.
04:40 mugwump just think of all the extra SPEEEEEEEED you'd get from writing it in C
04:40 q[uri] joined perl6
04:40 mugwump when are you rewriting pugs in C, audreyt ?
04:40 * FurnaceBoy_ ducks
04:41 mugwump :)
04:41 spinclad speed in writing it, yes?
04:41 * FurnaceBoy_ lies prostrate
04:41 mugwump nonono, "doing it right" takes longer you see.  but you get a "real" application at the end
04:41 audreyt mugwump: it makes sense to put the hotspot bottleneck code in C
04:42 audreyt also, maximizes sharing between pir/p5/hs
04:42 spinclad and one hopes the glue code won't overwhelm the content
04:43 audreyt certainly FFI and XS is fast enough
04:43 audreyt and Parrot NCI should be fine as well
04:43 audreyt if it's not fine, just wrap it in a .pmc
04:43 audreyt and vtable would be fine.
04:44 audreyt I think it also makes sense to have default "ws" callbacks
04:44 audreyt that parses perl6 comments
04:44 audreyt but that's for future
04:44 audreyt for now static loop would do very well :)
04:45 spinclad FFI, XS, NCI:  all the best tools.  my resume will be unbeatable.
04:45 audreyt :D
04:52 * audreyt finally realized KDD = Wasssercrats
04:52 audreyt (and read the backlog)
04:53 audreyt why is it that I never got the chance to participate in a trollfest?
04:53 audreyt I'd prefer them over licensefests :)
04:53 * audreyt goes back hacking parsec into pieces, hopefully this is the last batch
04:54 FurnaceBoy_ oh, there'll be no shortage of future opportunities, I fear
04:55 spinclad apropos of nothing, do you think we could get a couple of ops bits in here?  they could come in handy now and then...
04:56 audreyt I believe /ignore over /op...
04:56 audreyt and freenode has realadmins
04:56 audreyt for really noncommunicable destructive behaviours
04:57 audreyt so... maybe not :)
04:57 * audreyt was almost kicked out of #perl by lathos the first time she got there
04:57 audreyt (so I'm quite wary of ophood)
04:58 LumberCartel joined perl6
05:00 spinclad yeah, the tension over using ophood wisely (or at all) just adds to the tension over marginal characters
05:01 spinclad and being marginal in responding to them
05:02 audreyt yeah, so (as you may have noticed) I'd like to unraise this tension :)
05:02 pdcawley joined perl6
05:04 spinclad i have noticed, and that you do so better than me
05:05 audreyt maybe it's because of the estrogens...
05:05 * FurnaceBoy_ wonders where he can get some of em
05:06 audreyt try not to take them without doctor supervision...
05:06 audreyt ...but if you really want, there's plenty of online ordering outlets.
05:06 FurnaceBoy_ what, in the room?
05:06 FurnaceBoy_ :)
05:06 audreyt lol
05:07 LumberCartel You should advocate online ordering outlets that were written with Perl.
05:09 audreyt but how do I really know they are written with Perl?
05:09 spinclad [oestrogens] could be...  i do know that when my anger buttons get pushed, i can direct some of the energy usefully, but a lot is still directed towards the other person.
05:09 LumberCartel Look for Camel tracks.
05:10 mugwump that everthatsdfasdfkjhadsfasdfasdf
05:10 mugwump bah
05:11 spinclad .oO{example?}
05:12 KingDillyDilly joined perl6
05:12 spinclad .oO{example}
05:13 stevan_ joined perl6
05:15 KingDillyDilly FurnaceBoy: the type who does what? I though you didn't remember anything.
05:16 spinclad ?
05:17 KingDillyDilly When I said "All I need is good documentation and the ability to somehow do what  I want and that's enough. (basically)" I was thinking of FurnaceBoy, spinclad, and a few others, the likes of which I don't want in the community.
05:18 KingDillyDilly When I said "basically"
05:18 audreyt KingDillyDilly: I understand. I agree good docs is a must - the docs/Perl6/Overview/ tree can be improved
05:18 audreyt and docs/Perl6/Tutorial/ and API/ is missing
05:19 audreyt KingDillyDilly: if you have some time to look over the overview tree:
05:19 audreyt http://svn.openfoundry.org​/pugs/docs/Perl6/Overview/
05:19 audreyt before we upload it to CPAN
05:19 KingDillyDilly Ok, ok...
05:19 audreyt and commit improvements to them
05:19 audreyt I'd be very happy
05:20 audreyt if you don't yet have a commit bit (the username/passwd to check into pugs repository), tell me your email address and I'll send you one.
05:23 LumberCartel I'm looking forward to getting into Perl6, and especially anticipating mod_perl6.
05:23 KingDillyDilly Yeah, well, get back to your camel hunt. Don't want a commit bit.
05:23 KingDillyDilly left perl6
05:23 audreyt oh well :)
05:23 audreyt it worked better with rindolf...
05:23 LumberCartel Those overview docs are the first I've seen of Perl6, and so far the File stuff looks better.
05:24 audreyt LumberCartel: cool. mod_parrot supports pugs bindings for some time now, but we don't yet have a ModPerl::* module tree
05:24 LumberCartel Yikes!  Built-in functions are empty for now?  I would love to offer to help, but I've not looked into Perl6 at all.
05:24 audreyt the more near-term way would be compiling perl 6 to perl5
05:24 audreyt and use mod_perl
05:24 LumberCartel Heheh.
05:25 audreyt that's okay, 14 months ago I know nothing about perl6 as well :)
05:25 LumberCartel I use mod_perl heavily now.
05:25 audreyt for builtin functions there is
05:25 audreyt http://svn.openfoundry.org/pugs​/docs/Perl6/Spec/Functions.pod
05:25 audreyt but it's heavily disorganized
05:25 audreyt should be split into per-class bits and put into API
05:26 LumberCartel Similar to Perl5's built-in functions list?
05:26 audreyt yeah, except perl 6's objects sometimes have methods that is not exposed as functions
05:27 audreyt like @array.elems
05:27 audreyt you can still write elems(@array)
05:27 audreyt but elems(1,2,3,4,5) wouldn't work
05:27 audreyt as it's really a method call on the array, not a general global function
05:27 LumberCartel So the requirements for the documentation will require more sophistication then.
05:27 audreyt indeed
05:27 LumberCartel What about documenting them separately?
05:27 LumberCartel Sort of how it's done with Java?
05:28 audreyt cf. http://www.ruby-doc.org/core/classes/Array.html
05:28 audreyt I like that style a lot
05:28 audreyt and that's what I think the docs/Perl6/API/Array.pod should contain
05:28 LumberCartel That's sort of what I meant.
05:28 audreyt nod
05:28 audreyt the size of perlfunc.pod is already a problem with perl5
05:29 audreyt and it's going to be worse if we don't refactor out...
05:29 audreyt so, an easy first-step task is to split Functions.pod above
05:29 audreyt by class boundaries
05:29 LumberCartel Perhaps it's time to start using subdirectories to split the files apart.
05:29 audreyt and commit them into separate .pod using docs/ tree
05:29 audreyt docs/Perl6/API/
05:29 audreyt I mean
05:29 audreyt would you be interested in doing that? :)
05:29 LumberCartel I don't see a problem with deeper directory structures, especially since most Operating Systems these days can handle very deep trees.
05:30 LumberCartel I would be...
05:30 audreyt cool! your email?
05:30 audreyt I'll send you a commit bit :)
05:30 LumberCartel ...once I've had a chance to learn some more about Perl6.
05:30 audreyt aww
05:30 LumberCartel I'm going to create a special eMail for Perl6 stuff, I'll be right back...
05:31 audreyt k
05:31 TimToady seems fine to classify even MMD functions by first arg...
05:32 LumberCartel I need a functioning Perl6 interpreter to experiment with.
05:33 arcady I think pugs is pretty functioning
05:33 arcady then again, my test of functioning is if it do 2 + 2
05:34 LumberCartel I'm not expecting production quality, just something to play around with.
05:34 LumberCartel arcady:  What's the matter, 1 + 1 isn't good enough for you?  ;-)
05:34 audreyt LumberCartel: you can check out pugs with
05:35 audreyt svn co http://svn.openfoundry.org/pugs
05:35 audreyt cd pugs ; perl Makefile.PL ; make
05:35 audreyt (wait a while, say 15 minutes)
05:35 audreyt and then you'll have a ./pugs to play with
05:35 audreyt ("make install" should also work)
05:36 LumberCartel I can wait, that's no problem.
05:36 audreyt waiting for the GHC compiler, not for humans :)
05:36 audreyt so, what's your email?
05:37 audreyt TimToady: I think for MMD that biases toward the first arg, like push(), that's fine
05:37 audreyt to classify it under Array.pod
05:37 audreyt otherwise probably makes sense to list it under the Role that mandates the interface
05:37 TimToady SMD is just slightly more biased. )
05:37 audreyt like the comparisons
05:37 TimToady :)
05:37 audreyt sure, but infix:<+> doesn't not bias toward the first arg :)
05:37 TimToady cross refs are fine...
05:38 audreyt yay
05:39 TimToady but people don't know how to do MMD lookups in an index yet...
05:39 spinclad if it's clear which arg to index it under, i could see putting the main doc for a function as close to the root as applies, with entries on classes/roles that add something notable
05:40 audreyt right.
05:40 audreyt agreed
05:41 arcady though cross references are good
05:42 arcady one of the things that annoys me in ruby's docs is that I know what methods, say, Array has
05:42 arcady but then have to figure out which of them come from mixins
05:42 arcady to actually look up the docs for them
05:43 LumberCartel Sorry audreyt, I had something urgent to deal with.  Anyway, my eMail address is:  [email@hidden.address]
05:43 audreyt sent. welcome aboard!
05:43 LumberCartel Thanks!
05:43 spinclad yay!
05:43 audreyt please test your commit to http://svn.openfoundry.org/pugs/ by adding yourself to AUTHORS
05:43 LumberCartel And there it is...
05:43 audreyt I need to run to $job
05:44 audreyt be back in an hour or so
05:44 LumberCartel Thanks Audrey...
05:44 audreyt thank _you_ :)
05:44 audreyt &
05:44 Quell joined perl6
05:44 LumberCartel Oh, with regards to which sections to document functions in, what's wrong with documenting the same in multiple places?
05:44 LumberCartel With some sort of an alias?
05:45 audreyt LumberCartel: if the doc changes we'dneed to change many places?
05:45 audreyt better to use L<> for now
05:45 LumberCartel This way if someone's looking for a function that fits into two categories, they'll be able to find it faster no matter which category they look into?
05:45 audreyt until ingy & dconway implements =include
05:45 LumberCartel That's why I'm mentioning aliases.
05:45 audreyt sure, then
05:45 TimToady =does is more like it...
05:45 audreyt that's the way it should be
05:45 audreyt =does then.
05:45 LumberCartel Have one set for the actual documentation, and multiple things can reference it.
05:46 TimToady can de-genericize the role's doc while it's at it.
05:46 LumberCartel Ah, but that will require a lot of changes on the client side where a server or scripting isn't in effect.
05:46 TimToady as long as the derived text is marked well, it can be dealt with.
05:47 LumberCartel This will obviously require careful planning.
05:47 LumberCartel Am I correct to assume that the documentation hasn't really be considered very deeply yet?
05:47 audreyt it would require swarm tactics and nonstop refactoring :)
05:47 audreyt LumberCartel: that is correct.
05:48 LumberCartel So we sort of have an empty slate to work with in the context of organization.
05:48 audreyt btw, if I'm not around to hand out commit bits, people are more than welcome to rt.openfoundry.org
05:48 audreyt and nvite people using the UI in http://rt.openfoundry.org/Foundry​/Project/Admin/Members/?Queue=270
05:48 audreyt LumberCartel: yes. Skud did some initial sketch
05:49 audreyt see docs/Perl6/README and docs/Perl6/Doc.pod
05:49 LumberCartel My real name is Randolf Richardson.
05:49 audreyt but please feel free to add or change the README
05:49 audreyt gotcha.
05:49 LumberCartel I'm going to make a concerted effort to understand the updating procedures first because others will obviously be making contributions too.
05:49 audreyt cool
05:50 TimToady this whole thing is predicated on plunging ahead fearlessly.
05:50 LumberCartel Is there a system like CVS that you're using now?  I'm not advocating CVS.
05:50 audreyt yes, it's called Subversion
05:50 LumberCartel Larry Wall style, right?
05:50 audreyt svn co http://svn.openfoundry.org/
05:50 audreyt well, consider that TimToady _is_ Larry Wall...
05:50 audreyt not very surprising :)
05:50 audreyt svn co http://svn.openfoundry.org/pugs/
05:50 audreyt sorry, that line above is the command to use
05:51 spinclad our style is to commit early and often, and merge on collisions
05:51 audreyt but really, gotta run. see you in a bit &
05:51 LumberCartel Okay.  I haven't used any of those versioning systems so far, so this will be a learning curve for me.  Oh well, it's about time I dived into the 21st century I guess.  =)
05:51 LumberCartel Thanks a lot.
05:51 LumberCartel I'll see you around.
05:52 gaal oops, audreyt, I keep missing you
05:52 TimToady though all things considered, if you have a choice between plunging ahead fearlessly stupidly like Larry Wall, or plunging ahead fearlessly cleverly like Audrey Tang, I know which to pick... :)
05:52 gaal morning all :)
05:52 spinclad (just like highway traffic)
05:52 audreyt gaal: I miss you too, but I really gotta run :)
05:52 audreyt &
05:52 gaal bye
05:52 LumberCartel audreyt:  Zai Jian!
05:53 LumberCartel afk
05:55 LumberCartel Good night everyone.  Happy tree felling!
05:55 spinclad sweet dreams
05:59 pdcawley joined perl6
06:02 gaal there was a question floated here a while ago, I don't think I saw the answer to. say I have a few multis with the same name, how do I bind something to one of them?
06:03 gaal and, can I .wrap one variant?
06:03 gaal and, do we in fact call them variants?
06:03 gaal ugh, that's three questions.
06:04 spinclad good questions though
06:04 Cryptic_K joined perl6
06:04 gaal spinclad: the first one was yours, wasn't it?
06:07 audreyt use variant selectors
06:07 audreyt multi f (Int $x) {...}
06:07 audreyt multi f (Str $x) { ... }
06:07 audreyt think &f as a passthru proto
06:08 audreyt &f:(Int) is a variant selector
06:08 audreyt shorthand for &f.variant(Int)
06:08 spinclad gaal: don't think so, maybe i've forgotten
06:08 audreyt just like &f\(3) is &f.assuming(3)
06:08 svnbot6 r10096 | audreyt++ | * Parser.Operator: -e -w etc should be under "named" not
06:08 svnbot6 r10096 | audreyt++ |   "symbolic" prec level.
06:08 audreyt each selected variant is in itself another Sub object
06:08 audreyt (or Method object)
06:08 audreyt which are mutable
06:08 audreyt so you can indeed .wrap them.
06:08 audreyt you can also .wrap the toplevel &f if you want.
06:08 audreyt end of explanation
06:09 audreyt (and yes I'm still primping ;))
06:09 TimToady :)
06:09 TimToady I presume we can wrap something that's partially selected...
06:09 audreyt sure... but then the MMD engine has to consider those wraps separately
06:09 TimToady sort of a .assuming on the dispatch process
06:10 audreyt yup
06:10 audreyt that's fine w/ me
06:10 audreyt the ordering though
06:10 audreyt is not guaranteed beyond the usual LTR positionals
06:10 gaal does the wrapper have to have the same proto as the wrapee?
06:10 audreyt (because &f\(y=>3) can trigger a variant)
06:11 audreyt gaal: a compatible one, I think, as in subtype-of
06:11 audreyt as in "all that binds here must still bind here"
06:11 gaal and, once wrapped, isn't a variant guaranteed inaccessible except of through the wrap?
06:11 audreyt the wrap is modifying a mutable doubly-linked list
06:11 gaal so MMD must be wrap-blind
06:11 audreyt so to the MMD it's as if the variant havn't chanced
06:12 audreyt the question is whether you can wrap the subset selected
06:12 audreyt which means a separate non-blind process
06:12 audreyt and a more elaborate data structure
06:12 audreyt but I think if we spec so that a wrapped subset-selection just distribute back to its concrete members
06:12 gaal hmm, yes, which may need to introduce more variants no? or possibly change mmd selection
06:13 audreyt i.e. &f.wrap is really .wrap (recursively) to all its variants
06:13 audreyt then that works transparently
06:13 TimToady until you add a new one...
06:13 audreyt and is I think easier to teach people.
06:13 spinclad can we unwrap (and can we unwrap one of several wraps)?
06:13 audreyt TimToady: yes, but the new one should arguably not be affected...
06:13 audreyt TimToady: basically I'd like to distinguish &f.wrap with &f:(Something).wrap
06:13 TimToady depends how AOPish you're thinking of it...
06:14 audreyt the first changes the toplevel and affects newly introduced
06:14 audreyt but the later is really a shallow set
06:14 audreyt it can't (easily) have identity
06:14 audreyt but if you think full wupport for that is needed
06:14 TimToady it's more like a rule-defined set rather than enumerated, but we can leave it go for now.
06:14 audreyt I can certainly figure out a data structure that supports it :)
06:14 audreyt *nod*
06:15 audreyt whew
06:15 gaal sub cristmas (Code &f) { 1 while &f.=unwrap != &f }
06:15 PseudoPlacebo joined perl6
06:15 audreyt is the opposite of === =!=? ;)
06:16 gaal yeah and with an h somewhere up there too
06:16 gaal and a more binding form of .= I suppose?
06:16 spinclad but &f.=anything == &f always
06:16 audreyt ===, please :)
06:17 audreyt @a.=push; # not == @a anymore
06:17 audreyt I mean .=push(1)
06:17 spinclad or else unspecified as to order of eval
06:17 audreyt it's not sure how code numifies, anyway.
06:17 audreyt probably an error, I hope, though arity makes some limited sense.
06:18 audreyt or maybe just .id.
06:18 audreyt (the perl5 way)
06:18 TimToady Obviously, it should return its Godel number or some such...
06:19 audreyt that's entirely too obvious...
06:19 spinclad @a.=push(1) # still == the new @a
06:19 audreyt .perl.as(buf); # Godel number, yay
06:19 TimToady that's why I said "or some such", just to throw you off...
06:19 audreyt spinclad: oh sure
06:20 gaal audreyt: modulo '...'
06:20 audreyt gaal: Illegal modulus undefined
06:22 gaal .perl:recurse_limit{undef}​.as:type<buf>:filter<bz2>
06:22 gaal or something.
06:22 audreyt I prefer something :)
06:22 audreyt &
06:24 Quell joined perl6
06:31 Cryptic_K joined perl6
06:31 marmic joined perl6
06:33 ghenry joined perl6
06:46 Quell joined perl6
06:49 iblechbot joined perl6
06:56 hugues23 joined perl6
06:57 KingDiamond joined perl6
06:58 Cryptic_K joined perl6
07:06 premshree_ joined perl6
07:06 rgs joined perl6
07:38 drrho joined perl6
07:48 nail__ joined perl6
07:48 drrho joined perl6
07:48 iblechbot joined perl6
07:48 stevan_ joined perl6
07:48 q[uri] joined perl6
07:48 jserv-- joined perl6
07:48 SamB joined perl6
07:48 perlbot joined perl6
07:48 obra joined perl6
07:48 qwacky joined perl6
07:48 miyagawa joined perl6
07:48 sri_ joined perl6
07:48 hcchien joined perl6
07:48 rmoriz joined perl6
07:48 rashakil joined perl6
07:48 amv joined perl6
07:48 buu joined perl6
07:48 tcliou joined perl6
07:48 Soga joined perl6
07:48 gaal joined perl6
07:48 PerlJam joined perl6
07:48 oozy joined perl6
07:48 SubStack joined perl6
07:48 dbrock joined perl6
07:48 arguile joined perl6
07:48 Odin- joined perl6
07:48 Grrrr joined perl6
07:48 xern joined perl6
07:48 scw joined perl6
07:48 weinig|sleep joined perl6
07:48 nothingmuch joined perl6
07:48 arcady joined perl6
07:48 hlen joined perl6
07:48 ruz joined perl6
07:48 merlyn joined perl6
07:48 kane-xs joined perl6
07:48 Aragone joined perl6
07:48 drbean joined perl6
07:48 mugwump joined perl6
07:48 theorbtwo joined perl6
07:48 dvtoo joined perl6
07:48 p5evalbot joined perl6
07:48 meppl joined perl6
07:48 Gothmog_ joined perl6
07:48 broquaint joined perl6
07:48 jabbot joined perl6
07:48 kcwu joined perl6
07:48 webmind joined perl6
07:48 wolverian joined perl6
07:48 knewt joined perl6
07:48 masak joined perl6
07:48 jiing_ joined perl6
07:48 rw-rw-r-- joined perl6
07:48 cookys joined perl6
07:48 orafu joined perl6
07:48 Maddingue joined perl6
07:48 gugod joined perl6
07:48 ingy joined perl6
07:48 locksy joined perl6
07:48 TreyHarris joined perl6
07:48 Aankhen`` joined perl6
07:48 marmic_ joined perl6
07:48 obra joined perl6
07:48 revdiablo joined perl6
07:48 buu_ joined perl6
07:48 chip joined perl6
07:48 xerox joined perl6
07:48 rgs_ joined perl6
07:48 qmole_ joined perl6
07:48 integral_ joined perl6
07:48 pmichaud_ joined perl6
07:49 DesreveR joined perl6
07:53 elmex joined perl6
07:53 GeJ_ joined perl6
07:55 geoffb joined perl6
07:58 KingDiamond joined perl6
08:00 rgs_ is now known as rgs
08:04 Shabble_ joined perl6
08:14 scook0 joined perl6
08:25 Aragone is now known as Arathorn
08:31 GeJ_ is now known as GeJ
08:49 scook0 joined perl6
10:05 kanru joined perl6
10:05 meppl joined perl6
10:13 dakkar joined perl6
10:19 cdpruden joined perl6
10:41 meppl guten morgen
10:46 hugues23 joined perl6
10:53 ruz joined perl6
11:03 * dakkar is away: pranzo
11:11 integral_ is now known as integral
11:16 Odin-LAP joined perl6
12:09 froh-doh joined perl6
12:14 Limbic_Region joined perl6
12:22 iblechbot joined perl6
12:25 * dakkar is back (gone 01:21:29)
12:29 audreyt scw++
12:29 audreyt http://yaphb.blogspot.com/
12:29 audreyt # " Yet Another Pugs Hacker's Blog "
12:33 szbalint hey audreyt
12:33 szbalint I've received an email from openfoundry that you made me an 'admin' on the project, was that intentional (didn't you mean someone else?)
12:39 audreyt that was intentional
12:39 audreyt http://rt.openfoundry.org/Foundry​/Project/Admin/Members/?Queue=270
12:39 audreyt you can log in openfoundry and invite people over
12:40 audreyt and hand out commit bits in #perl6
12:40 audreyt I do that (handing out metacommitter bits to #perl6 regulars) now and then
12:41 audreyt to minimize time from a newcomer's arrival and receiving a commit bit
12:41 audreyt don't hesitate to preemptively send invitations even before the newcomer asked for it :)
12:42 * xinming would sell the every commit bit for $ 5.... :-D
12:43 audreyt nothingmuch did that in OSDC.il...
12:43 audreyt in an auction
12:44 nothingmuch yeah
12:44 nothingmuch but i sold it to my darcs repo too
12:44 nothingmuch and we made it very clear that you can get them for free =)
12:44 xinming No, I don't mean auction... I mean sell it over the internet... :-P
12:44 audreyt like, ebay? :p
12:45 nothingmuch oh
12:45 nothingmuch hmm
12:45 nothingmuch that is deceiving
12:45 nothingmuch i think
12:45 lichtkind joined perl6
12:46 audreyt probably not a good idea :)
12:46 xinming nothingmuch: yes, that's deceiving...  :-)
12:46 nothingmuch you could make a pyramid scheme
12:46 jsiracusa joined perl6
12:46 nothingmuch for every comitter you invite you get 50% of your investment back
12:46 nothingmuch =D
12:46 szbalint audreyt: oh cool
12:46 szbalint :)
12:47 nothingmuch (50% of what's left)
12:48 xinming nothingmuch: It's illegal in China, If you do that... Something like 传销 ,  Sorry, I don't know how to say in English. :-)
12:48 xinming wait for someone will translate it... :-)
12:49 nothingmuch =)
12:49 audreyt multilevel marketing
12:50 xinming audreyt: I see I am admin, But I don't know where to send the invite... :-/
12:51 nothingmuch in the box for "invite external staff"
12:51 audreyt xinming: in the url above
12:51 nothingmuch under the member administration pane
12:51 audreyt login first, then http://rt.openfoundry.org/Foundry​/Project/Admin/Members/?Queue=270
12:51 audreyt then type in email, click "invite"
12:51 audreyt that's all
12:51 audreyt normally it's very obvious
12:51 audreyt but the pugs project page's member list is a bit long
12:51 audreyt (cough)
12:51 audreyt so you may need to scroll down to see it
12:52 xinming found it. :-)
12:54 theorbtwo "multilevel marketing" is a nice term for "pyrimad scheme".
12:55 audreyt I think pyramids are too nice to be associated with this :)
12:55 audreyt and scheme is nice too, but that's in another context
12:56 xinming audreyt: do you know about why 'multilevel marketing' will be banned here?
12:56 audreyt I have no idea
12:57 audreyt I suspect because it's rather hard to ensure government control of product/service quality
12:58 xinming hmm,  å°±æ˜¯ï¼Œä¸Šçº¿éƒ½åœ¨éª—下线的钱,ç„​¶åŽè®©ä¸‹çº¿ç»§ç»­éª—自己的朋友, 拉朋友和关系好的兄弟, 把他们的钱骗了以后。。。 继续这样拉。。。
12:58 xinming sorry, I don't know how to say that, that's why I use Chinese. :-)
12:58 audreyt I know what it is :)
12:59 xinming audreyt: that's one reason, but the more important is the reason I told you....
12:59 scook0 joined perl6
12:59 audreyt sure, that it will encourage dishonesty and one-off transactions instead of long term commitment
13:01 xinming audreyt: class A is A { };    <---  This error is reported at compile time or runtime?
13:03 xinming I mean, it will reported when it sees `class A is A` or, when A.new is invoked
13:03 audreyt I suspect compile time is the correct answer
13:03 audreyt you can certainly test for it
13:04 xinming IMO, if it is detected as compile time, "perl 6" is not so dynamic...
13:05 audreyt well, "dynamic" means what you can do with it
13:05 audreyt regardless of what you want to do with a class
13:05 audreyt a circular inheritance doesn't really makes it easier to do something
13:05 audreyt I think perl6 is "dynamic if needed, static if possible"
13:06 audreyt i.e. if a static analysis doesn't prevent dynamic functionality, only improves the performance or error-detection
13:06 audreyt then we go ahead and do it statically
13:06 audreyt it's the same as perl5 really
13:20 particle_ joined perl6
13:40 Limbic_Region audreyt - the Win32 error was a perl error when I promised to track it down and fix it - last night when I synced up and built, it became a new error (ghc internals - please send message off to ...)
13:40 Limbic_Region something about undefined symbols
13:41 Limbic_Region I didn't have time to do the research but I wanted to let you know I didn't forget our deal
13:41 Limbic_Region I ended up not using Judy though
13:41 Limbic_Region as saucy as she is - she was a bit too much
13:41 Limbic_Region I realized I could waste 4k and use an array as my hash since all my values were known to be less than 1K
13:42 pdcawley joined perl6
13:42 audreyt sure
13:42 xerox is now known as xerox-
13:42 audreyt is that faster, though?
13:43 Limbic_Region of course - no inserts or deletes
13:43 audreyt have you benchmarked? :)
13:43 audreyt I suspect Judy uses a bitmap underneath too
13:43 audreyt but arrays are easier to deal with
13:43 audreyt so you are probably fine
13:44 Limbic_Region I would be amazed if Judy actually outperformed a native type
13:44 Limbic_Region plus - no function call
13:46 aeon__ joined perl6
13:47 cdpruden joined perl6
13:50 audreyt the J1U etc are inlined macros  :)
13:51 audreyt but yeah, probably won't be faster than a native type, for this small a key space.
13:51 autark joined perl6
13:51 audreyt re undefined symbols, that's probably an incrremental build
13:51 audreyt nuke dist/ and try again
13:52 vel joined perl6
13:52 audreyt obra: add http://yaphb.blogspot.com/ to planet?
13:56 xinming joined perl6
13:56 audreyt another $job day tomorrow... and then it'd be weekend
13:56 * audreyt journals and sleeps :)
13:56 audreyt *wave* &
13:58 dakkar g'night
14:00 xinming G'night...
14:00 lichtkind :) night
14:02 frederico joined perl6
14:03 scw audreyt: how can you find it out so fast
14:03 audreyt egogoogling of course
14:04 audreyt (blogsearch.google.com)
14:04 audreyt I can write about this in my journal, surely? :)
14:04 jserv-- joined perl6
14:05 scw audreyt: sure
14:05 scw audreyt: That'll also encourage me on writing :)
14:06 macroron joined perl6
14:06 audreyt nice :)
14:07 chris2 joined perl6
14:07 scw audreyt: BTW, IIRC, you mentioned that we can only use a limited subset of perl 6 in the production rule
14:07 audreyt to simplify parsing, yes
14:08 audreyt $obj.method is probably not practical
14:08 scw does it means that there is already some tool on translating?
14:08 audreyt there is already a simple ->p5 tool
14:09 audreyt misc/pX/Common/Pugs-Compiler-Rul​e/lib/Pugs/Emitter/Rule/Perl5.pm
14:09 audreyt line 184
14:09 audreyt just 4 lines, very crude
14:09 audreyt which is why fglock and I think it's better to parse the minip6 separately
14:09 audreyt and gen p5+haskell from the same place
14:10 audreyt so line 184 can invoke your P::C::MP6
14:10 audreyt just like my .hs preprocessor can invoke the same thing
14:10 audreyt does that make sense?
14:10 scw Oh, it's already there...
14:10 scw but it doesn't translates ~ to . :(
14:10 audreyt I wouldn't call it "there"...
14:11 audreyt it doesn't handle anything other than one level deref
14:11 audreyt we need at least a function-call form, and recognize known literals
14:11 scw you mean "parse" it with out a parser?
14:12 audreyt I mean we'd need to use a real parser to parse minip6 chunks in {closure}
14:12 audreyt instead of treating it as p5 and fix some brackets
14:12 audreyt because that makes it perl5-specific and not sharable with PIR or Haskell
14:13 audreyt so a uniform parser is quite important
14:14 scw So, ain't I going to translate rule to haskell?
14:14 audreyt sure, but that is
14:14 audreyt Pugs::Emitter::Rule::Parsec
14:14 audreyt it needs to be supported by MiniP6
14:14 scw but before that we need MiniP6
14:14 audreyt both are needed
14:14 audreyt yes
14:14 scw got it
14:15 audreyt otherwise we can't usefully do production
14:15 audreyt we can parse into Match, but that's not fun to work with
14:15 scw can I do this: write a *mixed* rule whose production rules are in perl5
14:16 scw those rule translates miniP6 to haskell (?)
14:16 scw then P::E::R::Parsec
14:17 scw but that's weird, since after the module is used, the mixed rule itself is invalid input for it
14:20 audreyt you can parse perl5 with PPI
14:20 audreyt but I'm not sure it makes so much sense...
14:20 audreyt the idea of miniP6 is that it's for bootstrapping
14:20 audreyt once we get the first cycle running, we can use fullP6 to parse that
14:20 audreyt and existing productions needs no change
14:21 audreyt otoh, you described a level-0 bootstrap
14:21 audreyt namely using p5-productions to parse minip6
14:21 audreyt I guess it's fine... you can always do
14:22 audreyt rule foo { moose  :P5 (?{ ...production code in perl5! ... }) }
14:22 audreyt or, less awkwardly:
14:23 audreyt rule foo { moose { use v5; ...some perl5 code here... } }
14:23 audreyt I think I like "use v5" better
14:23 audreyt so yes, you can make P::E::R::P5 recognize this form
14:23 audreyt and pass it thru untranslated
14:23 audreyt and use those to parse minip6
14:23 scw and it still work when real perl6 is used
14:23 audreyt I think it does make a lot of sense
14:23 audreyt yes
14:24 audreyt because "use v5;" can be specced to mean "lexically this is p5 code"
14:24 scw ok, that's what I'll do
14:24 audreyt scw++ sc++ scw++
14:24 * particle_ hands audrey a 'w'
14:24 audreyt w!
14:25 scw should I then drop the w to match the sc++ then? :p
14:26 szbalint online version of three cheers? :)
14:27 gaal aloha
14:29 audreyt yo
14:32 gaal eep, you're asleep? i thouht we'd hack some :(
14:32 audreyt I guess I'm not asleep then
14:33 audreyt what do you feel like hacking on? Parser? Capture? Pad?
14:33 gaal uh, yay? :)
14:33 gaal parsec, sure, but i don't grok the recent changes yet
14:33 gaal don't stay up if you need to work tomorrow...
14:33 justatheory joined perl6
14:35 audreyt I think I'll recap the changes for you
14:36 audreyt look at Pugs/Parser/Types.hs
14:36 audreyt all the magick is in there
14:37 audreyt I redefined two key prims
14:37 audreyt "satisfy" and "string"
14:37 audreyt all CharParser is built on one of them
14:37 audreyt so they now register the last char's class in the UserState
14:37 audreyt namely ruleCharClass
14:37 audreyt so far so good?
14:38 gaal where's CharClass defined?
14:38 gaal got ir
14:38 audreyt line 89
14:38 gaal it
14:38 gaal okay
14:38 audreyt now, an unexciting job is
14:38 audreyt see if making the CharClass field lazy
14:38 audreyt can save time
14:38 audreyt I doubt it though
14:39 gaal time prove ; s/!//; time prove? :)
14:39 audreyt another idea is to avoid the statetransition
14:39 audreyt well, just pugs -c on Test.pm
14:39 audreyt you can avoid state transition
14:39 nothingmuch does anybody know how the accomodations for the chicago hackathon are going to turn out?
14:40 audreyt by only do the setstate
14:40 audreyt when an implicit param is true
14:40 audreyt i.e.
14:40 audreyt string :: (?trackClass :: Bool) -> String -> RuleParser String
14:41 audreyt that may not be the best idea
14:41 audreyt note that there is very limited use for "gets ruleCharClass"
14:41 audreyt just one place in line 1260
14:41 audreyt Parser.hs
14:41 particle_ nm: i think the SSL dorm will be the place, and it's good through sunday morning
14:41 audreyt to determine whether postfix applies to something
14:42 particle_ this is per obra, as of tuesday
14:42 audreyt so another idea is to somehow lookBehind one char
14:42 audreyt another idea (maybe better this time)
14:42 gaal lookBehind is in PArsec?
14:42 audreyt no it's not
14:43 audreyt I have a better idea now
14:43 audreyt just maintain a lazy userstate of Char
14:43 audreyt instead of casing every char for class
14:43 audreyt and then case that in line 1259
14:43 audreyt ch <- gets rulePreviousCharacter
14:43 audreyt it can be strict too if that helps perf
14:43 audreyt not sure
14:44 audreyt but should be faster than charclassing
14:44 audreyt in any case, once you get that working
14:44 audreyt write \b and <ws> combinators
14:44 audreyt I mean assertions
14:44 audreyt doesn't need to be fancy; just
14:44 audreyt getPrevCharClass :: RuleParser CharClass
14:45 audreyt can be helpful already
14:45 audreyt if you manage to go that far
14:45 audreyt then add another two states, rulePos and ruleNam
14:45 audreyt for captures
14:45 audreyt and write combinators to populate them
14:45 audreyt but by that time I think I'll be awake :)
14:46 gaal okay, I'll see what I can get to
14:46 audreyt (i.e. by the time you finish Pos/Nam populating)
14:46 audreyt captureNamed :: String -> RuleParser a -> RuleParser a
14:47 audreyt and you can reuse "Match" structure
14:47 audreyt or write one of your own... it can be just two SourcePos for .from and .to
14:48 gaal ? what's .from and .to? :)
14:48 audreyt $/.from and $/.to
14:48 lichtkind ?eval sub b {say}; b 'b';
14:48 audreyt registering the text ranges of the match
14:48 evalbot_10082 OUTPUT[ ] bool::true
14:48 audreyt see "data MatchRule" in src/Text/Parser/Rule.hs
14:49 lichtkind ?eval sub b {say}; b( 'b');
14:49 evalbot_10082 OUTPUT[ ] bool::true
14:49 audreyt $_ is not bound
14:49 audreyt ?eval sub b ($_) {say} b 'b'
14:49 evalbot_10082 OUTPUT[ ] bool::true
14:49 audreyt ?eval sub b {say @_} b 'b'
14:49 evalbot_10082 OUTPUT[b ] bool::true
14:49 audreyt ?eval sub b ($_) {say $_} b 'b'
14:49 evalbot_10082 OUTPUT[b ] bool::true
14:49 audreyt oy, I wonder if defaulting is borken
14:50 audreyt hm it works here
14:50 svnbot6 r10097 | scw++ | Pugs::Grammar::MimiPerl6 README, illustrates the goal of it
14:50 audreyt gaal: anyway, just play around :) the ultimate goal is to be able to write some part of parsec functions into p6 rules
14:50 audreyt I'll sleep now for real :)
14:51 gaal night
14:51 TimToady night
14:51 audreyt scw: your blog has been pugsblogged
14:51 lichtkind night
14:51 audreyt :) &
15:02 weinig|sleep is now known as weinig
15:02 xinming scw++   README is understandable. :-)
15:03 scw xinming: thanks :)
15:04 xinming scw: From your README, there is still some questions,  Is MiniPerl 6 always needed to self-hosting perl 6? or after the self-hosting, the MiniPerl 6 isn't needed.
15:05 scw xinming: it can be dropped
15:05 scw xinming: I think I refer to the grammar as "full perl 6 grammar" every time after thep 2?
15:05 scw s/thep/step
15:06 gaal data point, making ruleCharClass :: CharClass in RuleState lazy doesn't speed things up -- in fact it may slow 'em down.
15:09 xinming perl 6 rule whose production rules
15:09 xinming    are written in perl 5      <--  what does the phrase 'production rules' mean here?
15:10 Odin-LAP joined perl6
15:10 scw xinming: rule foo { moose { return 23 } }
15:11 scw The "{return 23}" is the production rule
15:11 lichtkind ?eval sub b ($_) {say $^a} b 'b'
15:11 scw Which will do some AST constructing work in a real grammar :)
15:11 evalbot_10082 Error:  unexpected "b" expecting comment Cannot mix placeholder variables with formal parameters
15:11 lichtkind ?eval sub b  {say $^a} b 'b'
15:11 evalbot_10082 Error: Undeclared variable: "$^a"
15:12 xinming lichtkind: I'd suggest to write the test.... As these will be used for testing self-hosting perl 6.
15:12 lichtkind yeah but i never wrote tests :)
15:12 amnesiac joined perl6
15:12 lichtkind and i dont have client to commit
15:12 xinming ...
15:12 xinming Ok, I'll write these later...
15:13 xinming lichtkind: paste all the bugs to pastebin.
15:13 xinming lichtkind: As I don't scroll back the chat log. :-)
15:14 xinming lichtkind: Don't you use Linux?  Most distributions can install subversion in their way easily.
15:14 lichtkind not currently still winXp
15:15 gaal lichtkind: svn is available on cygwin and also with native windows
15:15 xinming lichtkind: Ok, paste the bugs to pastebin please.  :-)
15:15 cognominal audreyt:   foo($x);     # not a provisional call; it's a method call on $x
15:16 cognominal did you meant "foo($x:)"?
15:16 lichtkind what is pastebin?
15:16 cognominal ho, she is gone :(
15:16 xinming cognominal: she goes to sleep.
15:16 xinming pasteling: url
15:17 xinming don't know if pasteling is or bot... :-P Sorry if troubled you.
15:17 xinming http://paste.lisp.org/new/perl6
15:17 xinming lichtkind: http://paste.lisp.org/new/perl6
15:18 xinming s/is or/is a/
15:19 lichtkind what is this bot for?
15:20 xinming lichtkind: if you post data in that site, the bot will tell us...
15:21 TimToady cognominal: single argument calls always assume SMD over MMD
15:21 lichtkind yes so far i guessed it but its a kind bugtracker or general info tracker?
15:21 TimToady so the : is assumed, or $x.foo() is assumed, same thing.
15:22 xinming lichtkind: No, It's just a waste-basket, which you can post anything.... and after a period, they'll dissappear...
15:24 ingy hola
15:25 ingy miyagawa-san is itmfhy
15:26 nothingmuch itmfhy?
15:26 * Steve_p blinks
15:26 lichtkind ?eval sub b {say $^a}; b 'b'
15:26 evalbot_10082 Error: Undeclared variable: "$^a"
15:26 TimToady < lichtkind> ?eval sub b  {say $^a} b 'b'
15:26 TimToady < lichtkind> ?eval sub b  {say $^a} b 'b'
15:26 TimToady placeholders arent allowed in normal subs, only bare blocks.
15:27 TimToady they're just a workaround for not having the possibility of a signature.
15:27 ingy miyagawa-san is in the mutha fsckin haus, yo
15:27 nothingmuch ingy: oh
15:27 nothingmuch =)
15:27 nothingmuch miyagawa: welcome to the house
15:27 miyagawa yay
15:27 nothingmuch oedipal complexes to your right
15:27 nothingmuch the bathroom is down the hall
15:27 ingy he just arrived in Taiwan
15:28 ingy nothingmuch: you funny
15:28 lichtkind xinming but why should i post there i it can only be seen for a moment and not when audrey is back?
15:30 xinming TimToady: my &ttt := { $^a.say }; ttt("bbbb");
15:30 xinming TimToady: Is that valid?
15:30 TimToady should be.
15:31 ingy xinming: in Perl 7 any stream of characters is valid syntax
15:31 TimToady ?eval my &ttt := { $^a.say }; ttt("bbbb");
15:31 xinming TimToady: hmm, how about we calling it using   ttt "bbbb" ?  (without parens)
15:31 evalbot_10082 OUTPUT[bbbb ] bool::true
15:32 TimToady that should work too, according to the recent rulings.
15:32 xinming ingy: perl 8 will be able to understand what we say, Is all valid syntax...
15:32 xinming :-)
15:32 xinming ?eval my &ttt := { $^a.say }; ttt "bbbb";
15:32 evalbot_10082 Error:  unexpected "\"" expecting comment, "(", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
15:32 TimToady well, if Perl 7 is specced as perfect, then Perl 8 has to be beyond perfect... :)
15:33 TimToady that's a bug
15:33 xinming TimToady: from example,   my &tmp := { ... };    isn't   =======  sub tmp { ... } ?
15:34 TimToady my &tmp should be good enough to declare tmp just like sub.
15:34 TimToady the definition doesn't happen till := runs, though.
15:35 TimToady kind of an autoload situation without the auto part.
15:35 TimToady the recent "provisional call" changes also mean that
15:35 TimToady ttt "bbbb"; my &ttt ::= { $^a.say };
15:36 TimToady should work, but note the ::=
15:36 elmex joined perl6
15:36 xinming that's why I wonder, why can't place holder work in sub, but in a "manual" sub.    :-)
15:36 TimToady := would pass compilation
15:36 TimToady but would fail at runtime
15:36 TimToady because at ttt call time it wouldn't have bound it yet.
15:36 xinming Ok, I think I understand.
15:37 xinming ::= is runtime binding, so that works, but for  :=,  It isn't.
15:37 TimToady we don't want to encourage people to use placeholders for anything but short bare blocks.
15:37 TimToady you mean ::= is compile time
15:37 xinming ???
15:37 * xinming goes to check synopsis
15:37 TimToady := is runtime binding
15:39 TimToady another way to look at it is that placeholder variables autogenerate a signature, and if there's already a signature it's a conflict.
15:39 hexmode joined perl6
15:41 FurnaceBoy joined perl6
15:43 xinming so, for compile-time binding.  placeholder will become positional arguments internally. why does runtime-binding will fail?  IMO, pointy-sub will be able to generate the signature. there is no signature for a closure.
15:43 xinming s/will//
15:44 TimToady the run-time binding is fine if it happens soon enough, but in my example it doesn't.
15:44 TimToady pointy sub is just a different way to add a signature to a block.
15:46 TimToady there is no difference between { $^a <=> $^b } and -> $a, $b { $a <=> $b }
15:46 TimToady except that if you introspect it, the parameter names have caret
15:47 TimToady the -> form also has the possibility of adding type declarations to the parameters.
15:48 TimToady but both forms are considered blocks rather than routines, so they are both transparent to a "return".
15:58 obra audreyt: send me mail about the add to planetsix? i can't do it from here
15:59 kolibrie joined perl6
15:59 TimToady scw: your blog seems to be written a month in the future.  :)
16:00 xern joined perl6
16:05 FurnaceBoy does it mention any lottery numbers?
16:06 TimToady scw: perhaps you are really not in +0800 timezone but in the +075200 timezone?
16:06 TimToady unfortunately, no...
16:07 TimToady maybe scw already won the lottery and spent all the money on a time machine...
16:08 gaal yay, it starts on my birthday
16:08 gaal will start, that is
16:10 FurnaceBoy :)
16:10 FurnaceBoy yeah that should work ... that's about as plausible as going backwards to fix something
16:11 FurnaceBoy hmm, extended timezones.
16:11 FurnaceBoy makes one wonder how we will handle extraplanetary zones
16:11 FurnaceBoy we should make sure Perl6 is ready
16:12 TimToady this is actually the mini-timemachine that will be used to bootstrap the TimeMachine 6, which will be used to go 582 years into the future and kidnap Audrey.
16:12 gaal %TZ
16:12 FurnaceBoy :-)))
16:12 FurnaceBoy I *knew* she was from the Future!
16:12 FurnaceBoy it all starts to make sense...
16:12 FurnaceBoy she must be very frustrated, having seen and used Perl 17...
16:12 FurnaceBoy she knows we need baby steps
16:13 TimToady no, she was stuck in a timeline with Python 9000.
16:13 FurnaceBoy LOL!
16:13 pmichaud_ TimToady: I have a question about :pos and :continue arguments (more)
16:13 TimToady <hides>
16:13 TimToady :)
16:13 FurnaceBoy Is that the language that has never been known to make a mistake?
16:14 pmichaud_ TimToady: last week we discussed that :ratchet and :words adverbs would be evaluated at compile-time -- is the same true for :continue and :pos ?
16:14 TimToady I'm sorry FurnaceBoy, I can't allow you to do that,
16:14 FurnaceBoy "def Daisy() # Daisy, give me your answer do..."
16:14 * particle_ uses an io call to flush out timtoady *squeak* *squeak*
16:14 TimToady er, yeah.  Oops.
16:15 pmichaud_ I don't have a problem (from an impl perspective) if some adverbs are compile-time and others are run-time
16:15 FurnaceBoy the scary thing, TT, is that HAL was born in Urbana(Champaign?) Illinois, where the supercomputing centre *IS* ... and Wolfram Research is located
16:16 * FurnaceBoy puts on tinfoil hat
16:17 theorbtwo ...and clearly Wolfram & Heart ^W^W is evil.
16:18 TimToady possibly :pos{ $x } would give us run-time semantics, being a closure.
16:18 TimToady but it needs to be thunk through from a general adverb policy perspective.
16:18 Toaster joined perl6
16:21 xinming TimToady: thanks for your "tutorial" on the difference between binding a closure and a sub. :-)
16:21 FurnaceBoy theorbtwo, it was just closing the circle on a discussion of Mathematica we had here recently ... TT would like Perl6 not to lack anything neat that Mma does, language wise ;-)
16:22 svnbot6 r10098 | yiyihu++ | Small fix in self_inheritance.t
16:22 svnbot6 r10097 | scw++ | Pugs::Grammar::MimiPerl6 README, illustrates the goal of it
16:23 pmichaud_ <rambling thoughts>   :pos at runtime is neat and useful -- subrules can especially make use of it.  evaluating :words and :ratchet at runtime is evil, because it greatly reduces the opportunities for optimization (more)
16:23 svnbot6 r10099 | yiyihu++ | Added a test for testing closure binding with placeholder variables according to a bug lichtkind++ found...
16:24 lichtkind thanks yiyihu but i thought this was no bug according to Tims revealings
16:24 pmichaud_ <more>  I don't think it would be too difficult for the rules compiler to optimize if the adverb is obviously a constant, otherwise defer to runtime.  (And perhaps we say that some adverbs cannot be deferred.)
16:25 xinming lichtkind: my &ttt := { $^a.say }; ttt "bbbb";   ;-)
16:25 xinming lichtkind: this should be valid, It is just call ttt with "bbbb" without parens.
16:26 lichtkind xinming but pugs didnt it?
16:26 xinming ?eval my &ttt := { $^a.say }; ttt "bbbb";
16:26 evalbot_10082 Error:  unexpected "\"" expecting comment, "(", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
16:26 lichtkind ok
16:31 TimToady if all adverbs are really named arguments, then it's really only macros that are ambiguous, since other subs are by definition deferred till runtime.
16:31 lichtkind i thought about to take over the p6summeriesies but there are 2 major cons: im no native speaker and i still have an bigger perl project tagged on my leg
16:31 lichtkind but i would like to help
16:33 Arathorn is now known as Aragone
16:35 Aankhen`` joined perl6
16:35 pmichaud_ well, of the various answers I was expecting, "Oops" wasn't one of them.  :-)
16:36 pmichaud_ for the time being I'll implement assuming some are compile-time and others are run-time, I'll work out the details afterwards.
16:48 TimToady perhaps macro named args auto-evaluate at compile time when given a type that is incompatible with AST.
16:54 TimToady or maybe everything just comes in AST and the macro simply evaluates some of them.
16:55 TimToady but probably the former is better.
16:56 TimToady If a macro declares Bool :$flag it should probably Just Work.  They can always leave out the Bool to get the AST.
16:57 theorbtwo I like it.
16:57 r0nny joined perl6
16:57 theorbtwo Why only the named, though?
16:58 TimToady Hey, I thought this channel had /goodquestions disabled...
16:59 theorbtwo Nice to know that I can still come up with them from time to time.
16:59 TimToady so if all your macros are types non-AST, it's just an immediate subroutine.  Hmm.
16:59 TimToady void macros.  Yum.
17:01 TimToady so basically keyword "macro" calls immediately and changes the *default* typology of parameters and return values.  Explicit types can override though.  Seems cool.
17:02 TimToady makes me wonder if ASTs should have their own sigil, though...
17:03 TimToady this "incompatible with AST" criterion is ill defined.
17:03 spinclad make 'flatten' mean eval?
17:04 spinclad (not quite right)
17:04 TimToady An AST is rather like a Capture.
17:05 spinclad haskell would use !, but that's something else here
17:05 * pmichaud_ 's implementations of ASTs are all Captures already :-)
17:06 pmichaud_ PGE uses Captures for its AST, and the current perl6 implementation basically does the same
17:06 pmichaud_ (presuming that Match isa Capture)
17:06 TimToady so what would be a clear way of marking a macro signature for auto-evaluation of an AST parameter?
17:07 TimToady that is, marking a particular component to be auto-evaled?
17:07 pmichaud_ how about changing the macro keyword?
17:07 pmichaud_ oh, for a particular component
17:07 pmichaud_ hmmm
17:07 TimToady I think the default should be autoeval unless marked AST somehow.
17:08 spinclad does 'Bool !$name' mean something else already?
17:08 TimToady which is why I was floating a sigil, but that might be too violent.
17:08 spinclad 'Bool !:$name', even
17:08 TimToady does that mean an AST that will eventually return boolean?
17:08 pmichaud_ somehow I think that sigil is too violent
17:09 TimToady or an AST of subtype Bool?
17:09 spinclad no, that returns it now, because you're evaling it
17:09 TimToady I think that might be the wrong default.
17:09 TimToady does it make sense to type an AST other than as "AST" or a subtype of it?
17:10 particle_ does immedieate
17:10 spinclad is immediate
17:10 * spinclad is immediate
17:11 TimToady I'm saying that maybe immediate should be the default, if it's easy enough to mark ASTs somehow.
17:11 spinclad is evaled
17:11 TimToady the ASTs are the special thing.
17:11 TimToady and should look special.
17:11 spinclad .oO( is AST )
17:12 TimToady that would work.
17:12 spinclad AST :$name
17:12 TimToady that would work differently
17:12 TimToady the latter is probably more proper
17:13 spinclad except some functions pass around AST at runtime, so you couldn't write a compiler properly
17:13 TimToady it returns an AST
17:13 TimToady why not?
17:14 spinclad because it's got lots of runtime things typed as AST, which would be a flag for compile-time eval, when they're not actually ready
17:14 TimToady It's only macros that would autoeval.
17:15 spinclad so 'is AST' makes more sense to me
17:15 TimToady that would turn the variable into a container type of sorts.
17:16 spinclad (take a macro meant for manipulating AST's at runtime...)
17:18 spinclad (sorry, a macro that wants to eval an argument to its compile-time AST value)
17:18 TimToady still don't quite follow...
17:21 spinclad macro foo (Bool :$flag #(evaled)#, AST :$tree #(evals to a piece of code)#, :$body is AST #(a quoted piece of code)# )
17:21 spinclad don't know if that makes enough sense
17:22 TimToady Yes, I see where you're going.  Let me think about it some more.
17:23 pmichaud_ TimToady: please do, but I'm not in a hurry for it atm.  From the PGE perspective it just means there will be a way to have some adverbs evaled at compile time and others at runtime, which I think is the right approach
17:23 pmichaud_ we (mostly you) can work out the syntactic details when we need to commit :-)
17:23 TimToady I just have a feeling that we want normal evaluation to look normal, and make non-normal look abnormal somehow.
17:24 TimToady but not verbose, because in a sense *that's* the default for macros...
17:24 TimToady so most args will be labelled as abnormal.
17:27 spinclad .oO( macro foo (Bool :$flag, AST :$tree, =:$body)  #( = marking non-normal )# )
17:27 TimToady a different sigil would allow easy differentiation in a quasi-quote interpolation...
17:29 hexmode joined perl6
17:29 froh-doh joined perl6
17:31 TimToady .oO( macro foo (Bool :$flag, AST :$tree, :&&body) )
17:33 TimToady my goodness, the left side of macro infix:<&&> would be a &&cond
17:33 spinclad it's a sign from heaven!  ship it!
17:34 TimToady well, it's of some small mnemonic value, anyway...
17:34 pmichaud_ it could also be a sign from the nether world.  :-)
17:34 TimToady wouldn't conflict with the actual && operator, since term vs operator
17:34 spinclad heretic!  blasphemer!
17:35 TimToady well, something to stew on for a while.  At least there's prior art with @@.
17:35 TimToady (admittedly recent)
17:35 pmichaud_ "@@" looks like eyes to me.  So does && in the font I'm using :-|
17:35 pmichaud_ actually so does ":", now that I think about it.  :-)
17:35 TimToady aye, aye!
17:35 TimToady you sure you don't just have a reflective screen?
17:36 particle_ 8-)
17:36 spinclad *<8*O))
17:37 TimToady my screen seems to have some of those reflective LCDs that rotate the image 90°...
17:38 ruoso joined perl6
17:38 TimToady only looks more like B-{)
17:39 spinclad is that that TFT stuff?  i've got one too
17:39 TimToady so maybe @@ is something like an array, while && is something like code...
17:39 particle_ ** is something like whatever...
17:39 TimToady but I want it Right Now!!!
17:40 TimToady I want the world, I want the whole world, I want it now!!!
17:40 spinclad tree-shaped code, like multi-dimmed arrays
17:40 particle_ i don't want the world, i just want *your* half
17:40 TimToady so maybe (*) should be named World, as in gimme the...
17:40 TimToady 0..* is half the universe
17:40 spinclad *..0 is the other half
17:40 TimToady *..^0
17:41 particle_ ^-*
17:41 particle_ or is that -^*
17:41 TimToady can you negate a range?
17:41 pmichaud_ hmmm...   ".." looks like eyes to me, too.
17:41 TimToady hmm...
17:42 pmichaud_ "Perl6:  The Smiley Language!"
17:42 spinclad 0..* is a black eye
17:42 TimToady you need to chop those fishheads off before you cook 'em, Patrick...
17:42 particle_ negating a range seems kewl: @foo[^*] = @foo[-^*]
17:44 TimToady I...hesitate to think what uses the PDLers will put * to...
17:44 pmichaud_ lunchtime
17:44 TimToady I need to vamoose too.  Finally over this fever, I think...
17:45 pmichaud_ thanks once again for the rapid response, TimToady
17:45 TimToady so no excuse to stay away from $job.
17:45 TimToady sure thing.
17:45 * pmichaud_ is glad TimToady is over the fever -- pmichaud can't keep up with the synopsis changes that result
17:45 pmichaud_ :-)
17:45 fglock joined perl6
17:45 TimToady later &
17:46 * spinclad is amazed that fever-dreams made such good synopsis-fodder
17:48 gaal okay, I don't understand how come, but all the speedup ideas for the one-char lookbehind are actually slower than storing a state.
17:49 particle_ perhaps storing a state has been prematurely optimized :)
17:49 gaal hmmm come to think of it, none of these is even correct, including the current one! (unicode ws)
17:53 shachaf joined perl6
17:57 nurey joined perl6
17:57 nurey left perl6
18:03 Eimi joined perl6
18:52 dduncan joined perl6
18:56 vel joined perl6
19:00 KingDiamond joined perl6
19:03 dduncan ping mugwump
19:04 vel joined perl6
19:05 dduncan or to whomever knows ... I have a question about the Set data type
19:05 aufrank joined perl6
19:05 PerlJam dduncan: I probably don't know, but I can speculate right along with you :-)
19:05 dduncan and that is ... is ext/Set/lib/Set.pm meant to implement the built-in Set type referred to in S06?
19:06 dduncan I can understand if ext/Set/ is out of date, but I was wondering if that is the intent
19:07 dduncan if so, then I notice that S06 lists the Set type as being an immutable type, but the current Set.pm has some methods which mutate existing objects, such as insert()
19:07 PerlJam dduncan: WEll, the POD sdoes say "Sets for Perl 6"
19:07 PerlJam s/sd/d/
19:07 dduncan will that removed, or will there be multiple Set implementations, some that are immutable and some that are mutable?
19:08 dduncan likewise, remove() is a mutator
19:08 dduncan most methods in Set.pm are not mutators, though
19:10 PerlJam Though maybe Sets should be mutable so we can use them for select() and the like.
19:12 dduncan my understanding of select() is that it is not a mutator
19:12 dduncan er, or maybe it is in some contexts
19:13 PerlJam No, I was thinking of the 4-arg select used to chekc the status of various file handles.  The "traditional" mechanism uses a bit vector, but that could easily be a Set of filehandles that you'd change at run-time.
19:13 dduncan like making a particular socket the current one, if that's what you meant
19:13 dduncan yes, so in that context, it would be a mutator, since 'current' would change
19:14 dduncan unless 'current' is defined externally to the Set class
19:14 dduncan but in that context, select() is kind of like an iterator
19:15 dduncan in the Java sense
19:16 * PerlJam is still boggling that they have internet access in this little hurricane ravaged airport in Gulfport MS.
19:21 dduncan on a separate matter related to data types, there doesn't appear to be an immutable bit string type, and I propose that it be added
19:21 dduncan perhaps it could be named 'Raw'
19:26 bpphillips joined perl6
19:45 lichtkind g'night boys n girls
19:45 PerlJam dduncan: why do we need a bitstrign type ?
19:45 PerlJam er, bitstring
19:46 dduncan to represent things that are strings of non-character data
19:46 buu_ is now known as buu
19:46 dduncan why do we need a Buf type?
19:47 PerlJam Buf == mutable Str
19:47 dduncan no, Buf is a sequence of bits or bytes, not characters
19:47 dduncan characters <> bytes
19:48 particle_ parrot allows non-char data in strings, using the raw: encoding
19:49 dduncan so the question is, does 'Str' imply Character?
19:50 dduncan see the definition from S06:   Str         Perl string (finite sequence of Unicode characters)
19:50 FurnaceBoy_ joined perl6
19:50 dduncan but other things, such as a graphic or sound, are not composed of characters
19:52 PerlJam that's an array of bits
19:53 dduncan yes, but bit strings are common enough to deserve their own base type like character strings
19:53 dduncan otherwise just have a type storing a single character and have an array of those
20:09 bpphillips left perl6
20:12 svnbot6 r10100 | gaal++ | * Parser: keep a Char state rather than a CharClass, and add
20:12 svnbot6 r10100 | gaal++ |   a getPrevCharClass :: RuleParser CharClass function.
20:12 svnbot6 r10100 | gaal++ |   Checking this in despite it not appearing to speed things
20:12 svnbot6 r10100 | gaal++ |   up, because, well, it oughta have!
20:14 DaGo joined perl6
20:17 gaal where will the parsecside \b assertion be used?
20:18 gaal and, <ws> consumes, right?
20:18 gaal ...is it an atom, or greedy?
20:21 particle_ joined perl6
20:22 KingDillyDilly joined perl6
20:25 KingDillyDilly I need to ask rindolf something. He chats here?
20:27 borkened joined perl6
20:28 avar It just occoured to me how wonderful rules are
20:30 Odin-LAP avar: 'cause you have so much fun breaking them?
20:30 ruoso heh
20:30 avar No, because when you have a given parsing task it' so much easier than using regexes, and so much more fullproof.
20:31 Odin-LAP avar: Drunk or stoned or something?
20:31 avar Odin-LAP: ..
20:31 ruoso avar, I had the same feeling when playing with lrep
20:31 Odin-LAP avar: You're making a lot of smelling errors. What do I know?
20:32 avar Odin-: I always do that
20:32 avar See, just there I got your nick wrong.
20:32 * ruoso wonders what a smelling error is
20:32 avar Well actually I just refuse to talk to your lap.
20:32 KingDillyDilly rindolf: I'm adding a pro and con section to Wikipedia's Perl 6 article and I'd like to know if you still basically agree with your Critique of Where Perl 6 is Heading at http://freshmeat.net/articles/view/1339/ . I think you've been active enough in the Perl 6 community and in developing Perl 6 to make your editorial worthy of a Wikipedia external link from the Perl 6 article if you have the same opinions now.
20:32 avar Odin-: I feel degraded.
20:32 Odin-LAP ruoso: It's one letter off. ;p
20:33 Odin-LAP avar: Oh? Does that mean you feel like a negative number?
20:33 avar no, I'm unsigned at all times
20:33 Odin-LAP 'cause I figure you were a zero to start with... >;)
20:34 Odin-LAP (Huh. Seems I'm in a foul mood right now. Sowwy.)
20:34 avar Yes, this is Odin-, he just loves everybody.
20:35 KingDillyDilly rindolf: So, if you still believe what you wrote, please say so here. Wikipedia editors can't do original research, but I think a comment on an official, logged perl6 channel would be ok.
20:38 avar == References ==
20:39 avar oops
20:40 KingDillyDilly Avar: trying to beat me to rindolf's link?
20:41 avar oh, no, wrong paste
20:42 KingDillyDilly Those equal signs are used in Wikipedia's notation. I didn't know they were used elsewhere.
20:44 SamB joined perl6
20:51 ruoso KingDillyDilly, Wikipedia's notation is just "mediawiki" notation which happens to be almost the same as any wiki...
20:51 ayrnieu joined perl6
20:51 FurnaceBoy_ article is discredited
20:52 * KingDillyDilly discovers whois command
20:52 KingDillyDilly If it's discredited by someone with credentials, maybe I'll mention that.
20:54 ayrnieu it doesn't matter what credentials the person has; what matters is what that person says.
20:55 KingDillyDilly Yes, I think public opinion has a place on Wikipedia, but I wouldn't mention a specific post by someone without credentials.
20:56 ayrnieu left perl6
20:56 KingDillyDilly I won't be adding a cons section without a pros section.
20:56 FurnaceBoy_ you could ask audreyt's impression of that article.
20:56 FurnaceBoy_ or anyone 'with credentials'
20:56 FurnaceBoy_ before 'propagating confusion'
20:58 KingDillyDilly I could peobably find the opinion of an elite Perl 6 guru in a more authoritative looking place than a chat room. I don't think I'll try to present different opinions on that specific article, but I'll still have various pros from various places.
20:58 cognominal KingDilly, Shlomi Fish has not the slightest clue about Perl6.
21:00 KingDillyDilly His journal makes it sound like he knows his stuff now. At least his latest posts. His first post is at http://use.perl.org/~Shlomi+Fish/journal/24040
21:01 FurnaceBoy_ that should be a warning sign about his old, old article then?
21:01 FurnaceBoy_ good idea to see if he still stands by it I guess, but opinion on it is massively negative
21:01 cognominal ho sorry, I must be wrong, he certainly knows better than all the #perl6  regulars :)
21:01 FurnaceBoy_ ergo, it's not a helpful contribution
21:02 FurnaceBoy_ interesting how it takes a credentialed person to dismiss an article by an obviously uncredentialled writer...
21:02 FurnaceBoy_ and that's how the world slowly gets less intelligent...
21:02 KingDillyDilly Yeah, but I've found that saying negative things in a discussion venue full of those supporting what you're criticizing gets that kind of reaction.
21:04 KingDillyDilly I wouldn't link to his editorial based on the author's bio in that editorial. Only based on his current credentials, maybs.
21:04 KingDillyDilly "Author's bio:  Shlomi Fish once defined himself  as a "Programmer, Writer, Amateur Mathematician, Wannabe Philosopher, and  someone who studied in the Technion in the vain hope of becoming an Electrical  Engineer". He does not consider himself a sane person, but is quite certain that  only makes him more interesting."
21:05 cognominal the problem is not saying negative things, the problem is critic without understanding. It brings no progress.
21:06 particle_ cog: s/critic/critique/
21:07 cognominal ho, just like in French
21:07 particle_ a critic criticizes, or writes critiques
21:08 KingDillyDilly English could do without the word critique.
21:09 KingDillyDilly We probably wanted to show our appreciation for the Statue of Liberty or something.
21:10 KingDillyDilly I tend to not use blog type entries in Wikipedia, but I had a hard time finding other critiques.
21:11 Ymmv joined perl6
21:11 arcady there's not too much else on perl 6
21:11 arcady and especially on opinions of perl 6
21:12 KingDillyDilly I mean something encyclopedic. And I don't want to scour the literature.
21:13 KingDillyDilly It's just Wikipedia, which I'm no big fan of, but I plugged several of my webpages there so I kind of owe them something.
21:14 cognominal thx particle_
21:15 KingDillyDilly It's kind of like being able to personally convince someone from Google that your webpage deserves a better rank. In Wikipedia, you rank it yourself and it's up to someone else to review it and remove it.
21:16 KingDillyDilly Never had a link to my webpage deleted, and I posted about three.
21:17 * ruoso never thought someone would abuse wikipedia this way...
21:18 nirgle joined perl6
21:18 arcady perl 6 is not an encyclopedic topic. it's too fresh and unsettled, I think
21:18 KingDillyDilly It's allowed. I read the linking policy. They're really good links.
21:21 iblechbot joined perl6
21:21 svnbot6 r10101 | gaal++ | * whiteSpace and ruleWordBoundary rules.
21:21 svnbot6 r10101 | gaal++ |   (Do we need a non-consuming version of whiteSpace? Not sure.)
21:23 aufrank gaal++
21:24 pdcawley joined perl6
21:30 KingDillyDilly arcady: There was discussion about that at http://en.wikipedia.org/wiki/Talk:Perl_6#.7B.7Bfuture_software.7D.7D_inappropriate.3F
21:32 arcady encyclopedias are, essentially, summaries of existing information, collected in one place for convenience
21:33 arcady perl 6 doesn't have much existing information
21:33 arcady so I think at this point, it makes much more sense to work on the original sources
21:33 arcady we could always use more good documentation
21:40 cognominal arcady++
21:43 Limbic_Region joined perl6
21:51 gaal 17:46 < audreyt> captureNamed :: String -> RuleParser a -> RuleParser a
21:51 gaal why isn't that just
21:51 gaal captureNamed :: String -> RuleParser a
21:51 gaal ?
21:52 gaal captureNamed name = modify $ \state -> state{ ruleName = name }
21:52 gaal ?
21:53 xinming gaal: she is asleep.
21:53 gaal xinming: that's been known not to slow her down
21:53 gaal also, she backlogs :)
21:53 weinig joined perl6
21:54 gaal I'm trying to do this parametrically over parsers, but so far I'm not handing withState correctly
21:55 xinming gaal: hmm, after I read the README in misc/pX/Common/Pugs-Grammar-MiniPerl6/  I got 2 questions. :-)
21:55 gaal and I'm not sure this isn't a wild moose chase: how's it going to be used that it needs to parametize over parsers?
21:55 gaal xinming: haven't read that myself, looking now...
21:56 gaal what path did you say? I don't have a MiniPerl6 dir..
21:56 xinming the one is, for self-hosting, perl 6, we need self-hosting miniperl, and after the miniperl self-hosted. then, we can make perl 6 self-hosting
21:56 xinming am I right, that's one question.
21:57 xinming revdiablo: path..     it is in misc/pX/Common/Pugs-Grammar-MiniPerl6/
21:57 xinming update first..
21:57 xinming oops
21:57 gaal yes, got it now
21:57 xinming s/revdiablo:/re:/
21:59 dduncan left perl6
22:00 gaal well, none of these steps is a miniperl like miniperl or tinyperl are for p5
22:00 gaal (btw miniperl in p5 isn't very mini, it's not a good name but basically it just doesn't have dynamic loading IIRC)
22:01 xinming gaal: In fact, no matter what it is for, I think they are all run on top of parrot. :-)
22:01 gaal er
22:01 xinming gaal: hmm, Ok, I just wish to confirm my understanding... :-)
22:01 gaal the things mentioned in that README? I don't think so
22:02 gaal why do you think parrot?
22:02 gaal oh, because the grammar is in the parrot project?
22:02 xinming gaal: No, that's not mentioned, But I think It would be run on parrot. :-)
22:02 xinming gaal: As Parrot lives for perl 6. ;-)
22:03 gaal If I understand correctly, the gammar should eventually be one grammar, used by parrot, pugs, maybe lrep too....
22:03 gaal not sure though, sorry.
22:03 gaal maybe I can help better with your other question? :)
22:03 xinming gaal: hmm, It's ok, And another question is...
22:04 xinming after it generates PIL,  can we translate the PIL to PIR?  I mean easily... Not painfully... :-)
22:04 xinming hmm, or "transform"
22:05 gaal heh, don't know about that either, I've not worked on backends much
22:05 gaal but I think the plan is that yes :)
22:05 xinming if the "transform" isn't that hard, then, I think the perl 6 release date isn't too far.... :-)
22:08 xinming how much is the self-hosting plan is finished do you think?  I mean to PIR stage...
22:09 gaal well, there are a million other things to engineer, like package management and stuff, that aren't part of the "hard" compilation problems but have always been tough cookies
22:09 arcady getting a basic compiler going is not that hard, it seems
22:09 arcady since it's been done, independently, a few times
22:10 gaal we already used to have a -CPIR too, no?
22:10 gaal I don't really use parrot much (other than for Rules)
22:11 xinming gaal: In fact, Why I want a self-hosting perl 6 is all because... pugs is tooooo slow right now...
22:11 gaal yeah, we all wish it were faster
22:12 theorbtwo I suspect the best way to get speed is to compile to an existing language with a good optimizer... but that's a pretty left-field suggestion.
22:14 xinming theorbtwo: hmm, In fact, I believe that if "pugs" is run on parrot, It will be much faster... It will be faster even if it is un-optimized on parrot  IMO.   :-)
22:15 theorbtwo I meant C, or haskell, or ...
22:16 theorbtwo haskell -O, that is, which I suppose is C with extra steps.
22:19 arcady well, parrot does have a JIT compiler
22:20 arcady the trick is to compile perl 6 to parrot (or whatever else) rather than running it on pugs
22:20 theorbtwo Well-written parrot code can be quite fast, yes.
22:20 theorbtwo The trick is that poorly-written parrot code can be quite horrible, I suspect, and generate code has a way of being horrible unless you're careful with it.
22:21 theorbtwo However, probably still faster then the pugs builtin style.
22:21 arcady and, parrot can be optimized for the generated code, i imagine
22:22 Limbic_Region perlbot nopaste
22:22 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
22:22 pasteling "Limbic_Region" at 24.35.57.240 pasted "A new Win32 build failure" (14 lines, 1K) at http://sial.org/pbot/16933
22:24 gaal Limbic_Region: repeatable?
22:24 gaal looks like an internal ghc error, which can happen on running out of memory, or actual hardware failure
22:25 gaal GHC is a good canary, as I found out mylsef
22:26 gaal okay, wakies up for me. good night everybody
22:26 gaal zzZ &
22:26 avar audrey did some radio interview, where can I get it?
22:26 gaal pugscode.org ?
22:27 avar what? where?
22:27 Limbic_Region gaal - what do you mean repeatable?
22:27 gaal http://www.perlcast.com ?
22:27 Limbic_Region I can repeat it here if that's what you mean
22:27 gaal Limbic_Region: run make again
22:27 gaal same error?
22:28 avar gaal: w00t, thanks.
22:28 gaal try to edit your config.yml, up the heap size there, perl Makefile.PL && make again
22:28 Limbic_Region checking gaal
22:28 Limbic_Region gaal - I get a completely different error when heap is the problem
22:28 gaal Limbic_Region: hope it helps; I'm off to bed
22:28 Limbic_Region and another make allows it to finish
22:28 Limbic_Region this isn't that
22:28 Limbic_Region TTFN - sleep well
22:28 gaal Limbic_Region: memory-related problems can manifest in different way.s
22:29 gaal &
22:50 Akiyuki .sub _main
22:50 Akiyuki      print "Hello world!\n"
22:50 Akiyuki      end
22:50 Akiyuki  .end
22:50 Akiyuki er
22:50 Akiyuki C:\Documents and Settings\Tux\Desktop\parrot-win32>parrot.exe test.txt
22:50 Akiyuki error:imcc:syntax error, unexpected $undefined, expecting $end
22:50 Akiyuki in file 'test.txt' line 58
22:50 Akiyuki That's the error I get.
22:55 larsen joined perl6
22:56 cdpruden joined perl6
23:12 loud- joined perl6
23:13 Pz joined perl6
23:13 Pz How do I install perl6 modules, or use perl5 modules?
23:28 Veritas joined perl6
23:34 Quell joined perl6
23:35 Khisanth joined perl6
23:47 particle_ joined perl6
23:49 KingDillyDilly left perl6
23:51 buu Fascinating.

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs