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 |