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