6.2.7 released! | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste: sial.org/pbot/perl6 Set by autrijus on 13 June 2005. |
|||
obra | Test::Base::Yours::All, no? | 00:00 | |
autrijus | :) | ||
Odin-LAP | A Perfect Circle did a cover which makes it quite a bit more clear. :> | ||
All::Your::Base | |||
;) | |||
Are belong to us! | 00:01 | ||
obra | . o O { use IO::All qw/base/ } | ||
That should, presumably turn all your filehandles into IO::All objects | |||
mugwump | I thought the channel was a bit quiet | 00:11 | |
turned out to be a severed cable disconnecting most of the Wellington region connected via NZ Telecom, god bless 'em | 00:12 | ||
meppl | gute nacht - good night | 00:19 | |
Darren_Duncan | fyi, when testing 4860, results are: (1 subtest UNEXPECTEDLY SUCCEEDED) (887 subtests TODO), 386 subtests skipped. | 00:55 | |
Failed 20/338 test scripts, 94.08% okay. 152/6222 subtests failed, 97.56% okay. | |||
this is the plain pugs, no Parrot in sight | |||
autrijus waves & | 01:31 | ||
mugwump | jabbot: seen evalbot6? | 01:55 | |
jabbot | mugwump: evalbot6 was seen 2 days 19 hours 20 minutes 32 seconds ago | 01:56 | |
02:26
crysflame is now known as coral
02:29
coral is now known as coral_,
coral_ is now known as coral
|
|||
coral | all done, thanks for the patience. | 02:29 | |
redfish | quick question from a recreational p6 porter: is the three arg form of split implemented in pugs 6.2.7? | 03:38 | |
mugwump | passing a limit? | 03:39 | |
redfish | yes. | 03:41 | |
experimenting says no... | |||
mugwump | hmm, it's not even in S29 | 03:42 | |
redfish | I noticed that. | ||
I'm from a PM group that are thinking we will try to port XML::SAX::PurePerl as a challenge to get our p6 foo going... | 03:43 | ||
mugwump | ooo how about porting Perldoc instead? It's called Perldoc but actually it's modelled after SAX | 03:44 | |
redfish | yeah? We are looking for something that can be split up nicely among 4-5 people... | ||
We picked XML::SAX because baud is a member of our group... | 03:45 | ||
mugwump | ok, well pull down Perldoc-0.10 from CPAN and decide for yourself. It's pretty simple! | 03:46 | |
Plus I'd love direction and feedback from someone who's very familiar with SAX, eg currently the event names are all from SAX2 | |||
redfish | Cool... I will. | ||
Here's a question -> porting use constant FOO => 9; to p6... | 03:48 | ||
I'm thinking either my $FOO is constant; or macro FOO() { 9 }; | |||
svnbot6 | r4862, mugwump++ | Add limit to Str::split | ||
redfish | neither appear to work yet in pugs, though. I'm a little confused by macro support in pugs. | 03:50 | |
mugwump | there are only source-level macros at present, and those are new | 03:51 | |
redfish | right. and no 'is' traits yet? | 03:52 | |
or properties | |||
mugwump | some traits have been implemented, but the general traits system is still a way off | ||
svnbot6 | r4863, mugwump++ | Add (failing) test for 3-arg form of split | 03:57 | |
redfish | is $! set by eval in pugs? | 04:25 | |
mugwump | yes | ||
used all over the test suite :) | 04:26 | ||
redfish | Ahh. there we go. Thanks. | 04:28 | |
I think that the added challenge of determining whether something is unimplemented -vs- me being stupid makes this a little harder. | 04:29 | ||
mugwump | oh, sure. that passes though. | ||
redfish, are you more interested in the regex/rule based 3-arg split or text-based? | 04:37 | ||
svnbot6 | r4864, mugwump++ | fix 3-arg split to test the right thing, also test string split | ||
r4865, mugwump++ | Implement 3-arg split (rx-only for now), update test | 04:51 | ||
r4866, mugwump++ | Implement 3-arg split (text-based), update test - still one outstanding test failure... | 05:16 | ||
mugwump | redfish: ok, split with limit is in r4867 :) | 05:44 | |
svnbot6 | r4867, mugwump++ | Finish case of split against empty string; add tests for it. All forms of 3-arg split / 2-arg Str.split now working :-D | ||
masak | I get an error when trying to compile pugs r4867: | 06:21 | |
it says /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/reentr.h:611: error: field `_crypt_struct' has incomplete type | |||
Darren_Duncan | I"ll try it and gte back to you | 06:22 | |
masak | oki | ||
Darren_Duncan | now compiling | ||
masak | hmm | ||
maybe I need to upgrade perl5 | |||
or something | |||
Darren_Duncan | fyi, the previous 4866 compiled fine | ||
mugwump | you might need to `make clean', masak | 06:23 | |
masak | i've been away and haven't compiled pugs for a week :) | ||
Darren_Duncan | I'm using system perl 5.8.1 and it has worked fine | ||
masak | mugwump: i deleted the source tree and svn re-upped, does that count :) | ||
mugwump | yeah that would do it | ||
masak | thought so | 06:24 | |
it's a C error, right? | |||
arcady | yes | ||
I think it can't find some header file that it needs | 06:25 | ||
masak | so maybe I need to upgrade GCC | ||
arcady | that's not going to help | ||
mugwump | masak: unlikely gcc | ||
masak | hmm | ||
Darren_Duncan | make done without errors | ||
arcady | you probably just need to install the relevant header files | ||
masak | from where? | ||
it's core | |||
arcady | whichever one it is that has _crypt_struct | ||
masak | :/ | 06:26 | |
arcady | where does your perl5 come from? | ||
masak | I... I don't remember | ||
mugwump | do you have more than one perl5 installed? | ||
masak | it's a package i think | ||
mugwump: no | |||
probably an .rpm | |||
mugwump | are you building with PUGS_EMBED="perl5" set? | ||
masak | yes, I did | 06:27 | |
should I? | |||
Darren_Duncan | I'm not | ||
masak | ah, sorry | ||
arcady | well, it will work if you don't embed perl5 | ||
masak | I'll try | ||
now compiling | |||
is perl5 support knowingly broken? | |||
ah, now I see: it failed at "Compiling Pugs.Embed.Perl5" | 06:28 | ||
silly me | |||
seems to work fine now | |||
mugwump | strange error; perl5+parrot building is working for me, but I have a custom perl | 06:29 | |
you need libperl of course, the -dev package (if any) and all the versions need to match up. | 06:30 | ||
masak | mugwump: i'm pretty sure i have libperl. i'll see about the -dev package | 06:31 | |
svnbot6 | r4868, chromatic++ | Fixed DESTROYALL: | 06:33 | |
r4868, chromatic++ | The fix in Pugs.Prim could use some refactoring. Also, I sometimes now see | |||
r4868, chromatic++ | GHC errors about entering EVACUATED objects. | |||
r4868, chromatic++ | Fixed order of method invocation in BUILDALL and DESTROYALL (was backwards). | |||
r4868, chromatic++ | Untodoed some tests in t/oo/destruction.t (and fixed the very broken ones). | |||
nothingmuch | good morning | 06:38 | |
masak | mornin' | 06:43 | |
mugwump | 'night all! | 07:04 | |
nothingmuch | night mugwump | 07:07 | |
10:14
Aragone is now known as Ara4n
|
|||
autrijus | rehi \camels! | 10:39 | |
I'm thinking of changing the name PAST to PIL (Pugs Intermediate Language) :) | 10:40 | ||
Ara4n | just as long as you don't rename pugs to protor, that seems like it might be a good idea... :) | 10:44 | |
(i wonder if M$ have trademarked 'IL') | |||
mr_ank | they have probably trademarked ILL though | 10:50 | |
mr_ank dodges rotten tomatoes | 10:51 | ||
Ara4n | hehe | 11:01 | |
autrijus | :D | 11:19 | |
Boogie | Good afternoon! :) | 11:38 | |
Is there somebody, who can look after /t/unspecced/p5/return.t? | |||
svnbot6 | r4869, autrijus++ | * squash some wanrnings. | 11:45 | |
12:54
irc.freenode.net sets mode: +n
|
|||
nothingmuch | see you in canada, i think | 13:00 | |
unless there's wifi at the airport | 13:01 | ||
or if i have lots of extra time | |||
svnbot6 | r4870, autrijus++ | * clean some warnings | 14:20 | |
r4871, autrijus++ | * repair pugs -C tests. | |||
r4871, autrijus++ | * Pugs.Compile.Parrot is now gone; -CParrot etc becomes an | |||
r4871, autrijus++ | alias to -CPIR etc. | |||
r4872, autrijus++ | * adjust pugscc to play with the new PIR backend | |||
14:27
nnunley_ is now known as nnunley
|
|||
Limbic_Region | anyone awake? | 14:35 | |
Odin-LAP | No. | ||
Limbic_Region | hmmm - maybe it is better that way | 14:36 | |
I ask a question - everyone that is sleeping will be tapping in to raw creative energies | |||
I will get great answers | |||
Ara4n | the only flipside is that the answers won't be filtered by normal conscious processes | 14:37 | |
broquaint | Europe is awake, or at least "Monday awake". | ||
Ara4n | you're just as likely to get a pink unicorn as yet another backend for pugs | ||
Juerd | Yea, monday awake | ||
I hate mondays. | |||
Limbic_Region | I am creating a "Time Capsule" project over at the Monastery - basically, solve a problem and don't look at the answer for some set period of time | ||
Ara4n | . o O ( tell me why... ) | ||
Juerd | And it's fscking hot. | ||
Limbic_Region | this is going to mostly be fun for new Perl programmers | ||
but I was thinking about adding a p6 category so everyone could play (the seasoned professionals in mind) | 14:38 | ||
Odin-LAP | Limbic_Region: So they see how much their style changes? | ||
Limbic_Region | Odin-LAP - style as well as idioms | ||
Odin-LAP | Interesting idea. | ||
Limbic_Region avoiding map/unpack for a long time and now use it quite frequently | |||
anyway - the task(s) that one can choose from should be non-trivial and need the use of datastructures, looping constructs, several functions, etc - but not too hard (say circa 50 LOC) | 14:39 | ||
Ara4n | map can be very addictive :/ | ||
Limbic_Region | any ideas for the p6 category? | ||
broquaint | Perl6 Parser for Perl6. | 14:40 | |
Khisanth | PPP? | ||
Limbic_Region | broquaint - in 50 LOC? | ||
Odin-LAP | Isn't that just writing PGE and and grammar? :p | ||
broquaint | The new system is pretty powerful, L~R ;) ... | ||
Limbic_Region | I was thinking hangman or AI Animals, or something like that | ||
Odin-LAP | (Note: The word 'just' has no place in that sentence.) | 14:41 | |
Limbic_Region | perhaps I just open up the p5 projects to p6 (same task - different language) | ||
Odin-LAP | That's one option. | ||
Maybe not an insensible one. :) | |||
Limbic_Region | anyway - if anyone comes up with a good idea - /msg me here or at the Monastery | ||
broquaint | Some of the non-expert qotws might be a good place to look, L~R. | 14:52 | |
Limbic_Region | thanks broquaint | 14:56 | |
nothingmuch | seen autrijus | 15:30 | |
jabbot | nothingmuch: autrijus was seen 4 hours 10 minutes 52 seconds ago | ||
autrijus | hi nothingmuch. | ||
nothingmuch | autrijus: my copy of algorithms still hasn't arrived... please brings yours to the hackathon so that I can at least read a tiny bit | 15:31 | |
autrijus | nothingmuch: heh, I'm with zero my books | ||
I'm in austria :) | |||
nothingmuch | i thought you'd bring them to austria =) | 15:32 | |
i always carry books around | |||
autrijus | I never do :) | ||
nothingmuch | stevan: please bring yours then | ||
not computer books though | |||
i don't have any computer books | |||
also, if you'd like to meet up in toronto then feel free to mail | 15:33 | ||
if I'm awake when I get there I'll try to contact | |||
autrijus | hrm. | ||
I wonder if I should ask John to find me a host in .ca | |||
nothingmuch | well, in theory i could ask if you can lodge | 15:34 | |
these people have a big basement | |||
that's where I stayed last time | |||
autrijus | but practically you'd like not to? :) | ||
nothingmuch | i'll just have to ask =) | ||
autrijus | because if I can stay at the place you're staying... then I can just wait in airport for you | ||
thereby greatly simplifying things | |||
nothingmuch | that's a 10 hour wait | ||
autrijus | which, is fine by me | ||
it's all just wallpapers. | 15:35 | ||
nothingmuch | heh | ||
autrijus | seriously. :) | ||
nothingmuch | okay, i'll call now, and mail too | ||
in case I don't find them | |||
i'm 90% sure they'll agree | |||
autrijus | okay, thanks! if you manage to confirm, please let John know | ||
nothingmuch | unless something comes up it should be fine | ||
will do | |||
autrijus | so that he won't spend more time calling other pmers | ||
cool, thanks! | |||
(nondeterministic routing)++ | 15:36 | ||
nothingmuch | heh | ||
i like it too, but i've never tried it on an int'l scale | |||
only trains and busses | |||
which is still pretty adventerous, given the fact that our public transportation pretty much sucks | |||
(none on the weekends, nothing practical after 20:00) | 15:37 | ||
autrijus | ow. | ||
nothingmuch | very much so | ||
i even slept in a park once | |||
but that had nothing to do with public transportation | |||
Boogie | Juerd: ping | 15:39 | |
Juerd | pong | ||
Boogie | Juerd: is it possible, that svn/svk has some problems, or changed @feather? | 15:40 | |
svk up does nothing for me. | |||
clkao | svk up -s | ||
Boogie | clkao: Waiting for mirror lock on /mirror/pugs: feather:26931. | 15:41 | |
clkao: etc. | |||
clkao | maybe someone is mirroring it, or maybe the mirror was fscked. | 15:42 | |
you need to make sure that, and svk mirror --unlock //mirror/pugs | |||
Boogie | It seems, that it helped. Thx! | 15:44 | |
nothingmuch | autrijus: i'll have an answer in an hour | 15:47 | |
i called them on the cell and there's bad reception, but they'll call me back | |||
autrijus | 'k | 15:50 | |
nothingmuch | autrijus: answer is yes | 16:16 | |
autrijus | nothingmuch: cool! the next question is, then, how do I spot you | 16:17 | |
nothingmuch | malev flight 94 from budapest, | ||
arriving in terminal 3 at 17:00 | |||
err, 17:50 | |||
people will be waving at me, one is called Sergio, the other is called Jennifer | 16:18 | ||
and either or will be present | |||
autrijus | any, like, pictures? | ||
nothingmuch | i look like this: | ||
autrijus | I look like this: (^_^) | ||
nothingmuch | gallery.woobling.org/album49 | ||
gallery.woobling.org/album49/aaj <-- guy on the left | 16:19 | ||
see also gpg key id | |||
individual.utoronto.ca/stenenbaum/ <-- sergio | |||
(images are not scaled) | 16:20 | ||
autrijus | on the left? the one with less entropic hair? | ||
ok, I think I got it :) | |||
thanks! | |||
so the plan is I'll also be there in terminal 3 and wave at you | |||
nothingmuch | okay | 16:21 | |
ii'll have a targus backpack, blue & black | |||
i think i can recognize you, i've seen 2-3 pictures | |||
i'll be wearing a light blue shirt and a pair of jeans or black cargo pants | |||
and a beat up suite case, army green | |||
autrijus | I'll be with a pseudoapple asus computer. | ||
so should be easy to spot | |||
nothingmuch | goody | 16:22 | |
worst case scenario: i'll call you | |||
but I don't have a cellphone, so it will be after I land | |||
autrijus | I'm not sure I have a cellphone either. | ||
I have one, but I'm not sure if it operates in .ca anymore. | 16:23 | ||
so in worst worst case I'd need one of your friend's cellphone. | |||
number, that is | |||
nothingmuch | okay, i'll fwd a mail | ||
hola lightstep | 16:24 | ||
okay, sent | |||
autrijus | dank | 16:25 | |
nothingmuch | okay, i'm going to start packing | 16:28 | |
Limbic_Region | autrijus and nothingmuch - you may have a bit of a problem | 16:32 | |
if your flights are not in to the same terminal, you will likely be forced through customs and immigration to baggage claim | |||
unlikely they will let you back in through security to the other terminal | 16:33 | ||
at least - that's how it is in US | |||
but since nothinmuch said people will be waiving - autrijus could make it that far at least | |||
Limbic_Region shuts up now | |||
autrijus | right. the plan is for me to find the people who will pick him up | 16:34 | |
Limbic_Region | sorry - I was just reading through the log getting caught up and my mind wasn't keeping up with my eyes | ||
when is the official start of the next hackathon anyway? | 16:36 | ||
autrijus | 60 hours from now? | 16:38 | |
not sure | |||
Qiang | welcome to toronto, autrijus :-) | 16:39 | |
autrijus | whenever larry arrives... that's 4pm 22nd | ||
Qiang: thanks :) | |||
clkao | autirjus has a phone! | ||
Qiang | autrijus: i can leave my cell # to u, in case you need some help | 16:40 | |
autrijus | cool! | ||
clkao: except soon to be invalidated by .ca's networks | |||
Qiang | autrijus: pm | ||
autrijus | :) | 16:41 | |
clkao | autrijus: your ticket will be carried by stig. he will threaten you with that for some feature i suspect. | 16:42 | |
Qiang | you will find a lot people here speak chinese in the hotel area :) | ||
autrijus | clkao: oh, my ticket has arrived? | ||
clkao | not yet. | ||
autrijus | I thought it won't be there till wed. | ||
svnbot6 | r4873, autrijus++ | * return() from subroutines now work in PIR. | ||
autrijus | and who is stig? | 16:43 | |
Limbic_Region | obviously someone who wants a feature added to Pugs | ||
;-) | |||
clkao | autrijus: i reckon he will come to you, dont worry | 16:44 | |
autrijus | mm Stig Brautaset | ||
ah, the guy you brainwashed | |||
into believing that you're a "very pleasant person" | 16:45 | ||
Limbic_Region: I think it'd be SVK features then :) brautaset.org/index.html?id=329 | |||
clkao | you don't think i am pleasant to work with? XD | 16:46 | |
autrijus | "fun" yes. "exciting" definitely. | 16:49 | |
autrijus has serious reservation about the pleasant bit | |||
Khisanth sets autrijus' unpleasant bit | 16:50 | ||
clkao | bwahaha | ||
Odin-LAP | 'Fun' and 'exciting' almost always exclude 'pleasant'. | 16:52 | |
Hmm. | 16:54 | ||
Qiang | does it go the other way around? boring & pleasant | ||
Odin-LAP | A nice 'killer feature', though. | ||
"I know the author. He's a nice fella." | |||
:p | |||
svnbot6 | r4874, iblech++ | * Some work on ChangeLog. | 16:55 | |
r4874, iblech++ | * Emit.PIR -- Don't quote C<'>. Now C<say "hi'"> works as expected. | |||
r4874, iblech++ | * Pugs.Compile.PIR, Emit.PIR -- Some more Haddock. | |||
r4873, autrijus++ | * return() from subroutines now work in PIR. | |||
Odin-LAP | Yeah. Like Arthur Dent. Whose friends thought of him as 'pleasant but dull'. | ||
Qiang | 42 | 16:56 | |
Khisanth | Odin-LAP: that sounds like a boring app | ||
Odin-LAP | Khisanth: Hm? | ||
Khisanth | "I know the author. He's insane." sounds MUCH better! | ||
Odin-LAP | Heh. | ||
It's not my words! | 16:57 | ||
Well. Yes, but I'm paraphrasing someone else. :p | |||
nothingmuch | Limbic_Region: we'll be arriving at the same terminal, and either way we'll be going to the getting picked up section of the airport | 17:02 | |
Qiang | oh, this year dragon boat race is held on this weekend on central island. would be nice for the YAPC folks. | 17:03 | |
about 200 teams. www.dragonboats.com/pages/dragonboat2005.html | |||
nothingmuch | autrijus: more physical disambiguation - 2nd generation iPod, etymotic headphones | 17:07 | |
black dr. martens, in surprisingly good shape compared to these:gallery.woobling.org/shoes | 17:08 | ||
svnbot6 | r4875, autrijus++ | * closures: my $x = { say 5 }; $x() ; $x() | 17:09 | |
r4876, autrijus++ | * loop and bare blocks at value position now Really Works (tm). | 17:24 | ||
autrijus | $ ./pugs -BPIR -e 'sub foo { my $bar = { return 3 }; $bar(); die }; say foo()' | 17:25 | |
3 | |||
:)) | |||
nothingmuch | =) | ||
17:29
spinclad_ is now known as spinclad
|
|||
Limbic_Region | is the die necessary? | 17:33 | |
. o O ( and if it fails, does that make you immortal ) | 17:34 | ||
nothingmuch | it never dies, that was the point | ||
it returns | |||
Limbic_Region | oh - I wouldn't have expected that at all | ||
if that had said return $bar(); die }; ... I would have expected that behavior | 17:35 | ||
_mml | i think the not dying is a bug. | ||
Limbic_Region | or if that had been my $bar is macro ... | 17:36 | |
_mml | perhaps due to something mistaking $bar() for a tail call? | ||
Limbic_Region | dunno - but if that isn't a bug it isn't the behavior I would expect | 17:37 | |
wolverian | _mml: no. 'return' skips bare blocks. | 17:38 | |
i.e. it returns from 'foo', not the bare block. | |||
Limbic_Region | wolverian - so that wouldn't have been the behavior it it had been written as | 17:39 | |
sub foo { my $bar = sub { return 3 }; .... | |||
wolverian | Limbic_Region: yes. | ||
Limbic_Region | but by not having the sub keyword there it skipped it | ||
arcady | but it all makes sense | 17:40 | |
Limbic_Region | ok - I can buy that as long as it is documented | ||
arcady | since you want to be able to return from inside a for or while | ||
wolverian | arcady: exactly. :) | ||
Limbic_Region: see what arcady said. and you can use 'leave' if you want to exit the bare block | |||
Limbic_Region | makes perfect sense wolverian | 17:41 | |
wolverian | I agree. | ||
Limbic_Region | the part that confused me was autrijus and others repeatedly telling me I could drop the sub keyword in my examples | ||
_mml | hrm... | 17:42 | |
arcady | and this is all documented in S06 | ||
Limbic_Region | in only a few cases would that have been the right thing to do | ||
_mml | need t o read S06, then. | ||
wolverian | oh, and note that -> { ... } acts like a bare block in this regard as well | ||
Limbic_Region hasn't used pointy blocks in his examples, but sees how they would be useful now | |||
wolverian | you haven't used for ... -> { ... }? :) | 17:43 | |
Limbic_Region | in any case - I just need to throw out the "you can drop the sub keyword if you want" cause you can't when you really mean sub | ||
wolverian | s,->,-> ..., | ||
Limbic_Region: right. | |||
Limbic_Region | wolverian - I have used pointy blocks in looping constructs but not as bare blocks | ||
I still don't understand how pointy blocks work with while loops | 17:44 | ||
the response I got on the list left me with more questions than answers | |||
Limbic_Region goes to re-read it now to see if it makes more sense | 17:46 | ||
arcady | oh and apparently, a pointy block "does not require a preceding comma when included in a list" | ||
according to S06 | |||
rjbs | is there a good reason for that, I wonder? | ||
arcady | which I assume means that you can say map @list -> $foo { bar($foo) } | 17:47 | |
wolverian | arcady: or s,map,for,! | ||
arcady | but you can already do that with for | ||
in fact you are not allowed to have the comma there | |||
wolverian | uh, for is not special in any way | ||
arcady | in pugs it is | ||
wolverian | I'm talking about S06, not pugs | ||
arcady | in that case, yes | 17:48 | |
and pugs should probably try to present it as being consistent, even if internally it isn't | |||
wolverian | yes. does &*for do anything? | 17:49 | |
arcady | nope | 17:50 | |
but map is "sub map(@list, &sub)" or so, while for would be "sub for(*@list, &sub)" which is not currently legal | 17:51 | ||
or it might be, I haven't be following p6l for a long while now | 17:52 | ||
autrijus | "you can throw out the 'sub' if you don't use 'return'" | 17:56 | |
arcady: hrm, maybe it's *@list, *&sub -- i.e. adverbial block | 17:57 | ||
(pure speculation) | |||
17:59
Ara4n is now known as Aragone
|
|||
autrijus continues to plunge toward the goal of having "make smoke" running with -BPIR -- that's my self-imposed goal for the release | 18:00 | ||
actually, if anyone has some tuit to hack in "make pirsmoke" and "make pirtest", that'd be cool | |||
iblech | autrijus: pugs -BPIR -we 'my $sub = -> $x { 1000 + $x }; say $sub(42)' -- known to fail? | 18:03 | |
arcady | nothing with pugs -BPIR works for me... | 18:04 | |
wolverian | agh why do people use $sub? &sub is much nicer. | ||
iblech | arcady: pugs -BPIR -we 'say 42' does not work? Parrot in path or embedded Parrot? What revision? | ||
wolverian | my &foo = { ... }; foo "bar"; | ||
(although 'my foo { ... }' is exactly the same.) | 18:05 | ||
iblech | my sub foo {...} | ||
autrijus | right, need the sub. | ||
wolverian | oops. ye. | ||
+s | |||
arcady | iblech it's fresh as of half an hour ago, and I think embedded | ||
it complains about Null PMC access | |||
iblech | Is your Parrot uptodate? | 18:06 | |
autrijus | arcady: embedded is b0rken. | ||
as is jit, and bytecode. | |||
arcady | oh, that explains it then | ||
autrijus | for largely the same reasons. | ||
leo is fixing the runloop | |||
-- actually rewriting -- | |||
and he says eta 60hrs from now | |||
actually jit should be repaired now for some platforms | 18:07 | ||
iblech: blocks currently takes no params | 18:08 | ||
svnbot6 | r4877, autrijus++ | * Pugs.Compile.Parrot.* is now gone. | ||
iblech | autrijus: Ah, ok | 18:10 | |
autrijus | iblech: I'm thinkign this "use" business. | 18:12 | |
it seems to be that we either | |||
1. "use" as usual; then Test.pm's lexical pad needs to be reconstructed from the subPads | |||
wolverian | autrijus: is that ETA 60hrs wallclock time or 60hrs working time? | ||
autrijus | 2. translate "use" into some like of include, and put Test.pm's code inline then | ||
wolverian: wallclock I believe, but not sure | 18:13 | ||
wolverian | right. thanks. | ||
autrijus | 3. upon seeing "use", turn the compiler into separate compilation mode and produce Test.pbc | ||
and load it | |||
comments? | |||
iblech | Question: 2. But the code would still have to be evaluated at compile-time, right? So a &use PIR sub wouldn't be of much help (but I probably misunderstood that) | 18:16 | |
autrijus | use needs to be evalled at compile time using pugs's interpreter space | 18:17 | |
there's no doubt about that | |||
think -BPugs | |||
i.e. pugscc | |||
which can handle -MTest | |||
because all the `is export` subs from Test is serialised | |||
nothingmuch | wow, i'm such an efficient packer | 18:18 | |
too bad i suck at ironing | |||
autrijus | er, wow, I lie. it currently doesn't work anymore because the pad entries: | ||
module Test; my $x; sub foo is export { $x }; sub bar is export { $x } | 18:19 | ||
isn't preserved | |||
so foo/bar doesn't see the same $x. | |||
in -BPugs mode, that is | |||
iblech | Hm.. What would this some like of include look then? I get the problem, but not solution 2... | 18:20 | |
autrijus | the solution 2 is to treat "use" as #include | ||
and inject the parse tree from there | 18:21 | ||
as part of the main Exp | |||
iblech | *understood* | ||
autrijus | which incidentally is trivially done with your macro stuff :) | ||
iblech | :) | 18:22 | |
autrijus | this is again unspecced territory | ||
so ideas, free associations etc welcome | |||
iblech | Ok, and then a question to 3.: First, Test.pm would be evaluated at compile-time using the interpreter mode, then all vars, subs, etc. are snapshotted and compiled to PIR and then to a PBC, right? | ||
autrijus | yes... it's essentially as if you ran pugs -CPIR on Test.pm | 18:23 | |
> Test.pbc | |||
and then put "load_bytecode 'Test.pbc'" in init() | |||
or something like that. | 18:24 | ||
it will also be nice ot have "&eval" prim | |||
(btw, the entire Prelude.pm is now in PIR) | 18:25 | ||
Limbic_Region | autrijus - have you ever met $larry IRL? | 18:27 | |
autrijus | Limbic_Region: sure, during oscons | 18:28 | |
never really talked with him though | |||
nothingmuch | i thanked him once | ||
it was silly | |||
autrijus | I thanked him once too. | ||
it was silly too. | |||
nothingmuch | thanked him for my bass, and my cameras | ||
iblech | Definitely! Then I think, as &eval is pretty important, esp. as you can have (limited) access to the interpreter mode of Pugs at runtime (eval "BEGIN \{ $code \}"), we should go for option 3. But I don't know how much harder it is to implement #3 instead of #2 | ||
autrijus | iblech: it's not that hard, but needs some bookkeeping | 18:29 | |
Limbic_Region | oh - was just wondering if the personalities at the next hackathon would naturally be synergetic | ||
autrijus | nothingmuch: I thanked him for introducing me to 1)Tolkien 2)Christianity | 18:30 | |
nothingmuch | i think everyone is liberal enough for it to work out =) | ||
Limbic_Region | not exactly what I meant | ||
personality was probably not the right word there | |||
s/personality/work methods/ | 18:31 | ||
nothingmuch | ah | ||
autrijus | we'll figure something out :) | ||
autrijus enjoyed working w/ chip and leo a lot | |||
nothingmuch | everyone is wiki head enough for it to work out =) | ||
lets of "get it done" attitude people around, | |||
Limbic_Region | I didn't know about chip - but I certainly knew you would get a lot done with leo | ||
nothingmuch | and some really amazing minds | ||
Khisanth | nothingmuch: you went fishing with Larry? | 18:32 | |
iblech | autrijus: Ok, then my vote is for option 3, and I'll try to help where I can :) | ||
nothingmuch | Khisanth: no | ||
I met him at the italian code jam | |||
and i thanked him for giving me perl which gave me the ability to be hired | |||
despite the fact that I have no experience, academic merrit, or references | 18:33 | ||
Khisanth | so how did the fish get involved?! | ||
nothingmuch | fish? | ||
Khisanth | bass! | 18:34 | |
nothingmuch | oh! | ||
bass as in Double Bass | |||
the musical instrument that I'm not buying another plane ticket to carry with me to canada | |||
doublebassforsale.free.fr/images/CB4.jpg | |||
Khisanth | hmm I would charge you two tickets for that :) | 18:35 | |
nothingmuch | Khisanth: or I could rent a box for several hundreds of dollars | ||
and then pay an extra cargo charge thing | |||
or I could just rend one in canada for $25 a week | 18:36 | ||
and then not have any time to play it | |||
Khisanth | btw, how is that thing standing up? | ||
nothingmuch | notice that the head is in contact with the wall | ||
Khisanth | it's that well balanced? | ||
nothingmuch | well, yeah | 18:37 | |
the head is quite thick (2") | |||
and it's a heavy thing | |||
so there's lots of pressure on it | |||
i always put mine on the side though, too paranoid | |||
or leaning in the corner, but in it' scase | 18:38 | ||
err, "its" | |||
(sorry Aankhen) | |||
Khisanth | just put it in the corner :) | ||
nothingmuch | no, it'll get scuffed and stuff | ||
and revarnishing is very bad for the instrument | |||
but with too much abrasion you need to do it eventually | 18:39 | ||
for scale, btw, that thing is about 2 meters tall | |||
Khisanth | heh taller than me | 18:40 | |
autrijus | PIR mode now has a primitive that Eval mode doesn't :D | 18:53 | |
it's the &leave builtin. | |||
svnbot6 | r4878, autrijus++ | * blocks can now return values: `my &x = { 3 }; say x()` | ||
r4879, autrijus++ | * inline subroutine: `my &x = sub { return 3 }; say x()` | |||
Limbic_Region | [14:53] <autrijus> PIR mode now has a primitive that Eval mode doesn't - dueling banjos anyone? | 18:55 | |
autrijus | :D | 18:56 | |
now let's work with those pointy things... | |||
Limbic_Region keeps his pointy thing as far away from autrijus as possible not knowing what he might make it do | 18:58 | ||
svnbot6 | r4880, autrijus++ | * the "leave" builtin -- first builtin supported by PIR but not Eval? | ||
r4880, autrijus++ | my &x = { leave 3 }; say x() | |||
Limbic_Region | ok - enough bad humor - I am off | ||
autrijus | ciao, Limbic_Region | ||
Limbic_Region: btw, you can use "leave" for return, as you've seen :) | |||
Limbic_Region | safe trip to any/all that are heading off to Toronto soonish | ||
right autrijus - I agree/like the behavior | 18:59 | ||
autrijus | so it's still kind of okay to ditch the leading sub. | ||
Limbic_Region | as long as you s/return/leave/ when you really mean leave | ||
Darren_Duncan | autrijus, if you are indeed planning to roll a release today, then say so and I'll convert any failing LKT tests to TODOs or skips in preparation | 19:05 | |
autrijus | Darren_Duncan: I'm planning to roll a release today. but I had not triaged your bugs, and I still may fix them | 19:06 | |
Darren_Duncan: if there are bugs you consider not worth fixing -- or indeed not pugs's problem, please skip/todo, but otherwise I'll handle them | |||
Darren_Duncan | okay | 19:07 | |
autrijus | and sorry for the delay -- this segfaulting bird takes lots of time to tame :) | ||
Darren_Duncan | I thought you had higher priorities | 19:08 | |
so I was leaving be with the bugs I discovered | |||
no sense in repeatedly bringing them up | |||
autrijus | right... 6.2.8 needs a working "make test" with pir to me | ||
Darren_Duncan | still, the 3 most current bugs affecting LKT have corresponding t/*.t, so if those pass then we're good to go | 19:09 | |
autrijus | 'k | ||
Darren_Duncan | I'll leave you alone then ... ping if you want my attention | 19:10 | |
19:11
_mml_ is now known as _mml
|
|||
svnbot6 | r4881, iblech++ | Added tests for &leave. | 19:12 | |
putter | Well, I had an epiphany. The flame of which landed on irc.perl.org's #perl6, and is thus consigned to the great bitbucket. | 19:14 | |
I've been off-and-on banging on perl6 rules. | 19:15 | ||
You want something like rules in a language, you write parsers, and parsetrees, and tree nodes, and emitters for nodes, and classes to collect the emittions into something useable, etc. | 19:16 | ||
p5 is a language | |||
p6 isnt | |||
we're in meta-language land. prolog, haskell, etc. | |||
macro inline:<|>($a,$b) {"try{$a}; try{$b} if failed;"} | 19:17 | ||
sub term:<^>() {$_.pos == 0 or fail} | 19:18 | ||
autrijus | *Main> runPIR "say({3 + $^x}.(4))" | ||
7 | |||
_mml | thus guaranteed a special corner in the language museum, reserved for cute, academic experiments? | ||
putter | etc. | ||
autrijus | right. perl6 specialises in parse-level metaprogramming. | 19:19 | |
that is, at tokenisation level | |||
whilst almost everything else works at AST level. | 19:20 | ||
putter soooooooooooooooo needs officemates and whiteboards... my designspace explorations just dont work otherwise. :--( | |||
autrijus: ahhh, I hadn't thought of it that way. | 19:21 | ||
neat | |||
_mml: prolog had a specific, limitted, computation model which prevented it from being a "general" programming language. | 19:22 | ||
haskell, until historically recently (monads), was also very constrained. and still perhaps has a somewhat high barrier to entry. | 19:23 | ||
_mml | and as we can see, i've totally mischaracterized haskell. it's obviously catching on in some quarters. | ||
svnbot6 | r4882, autrijus++ | * parametric blocks now works as specced! | ||
r4883, Darren_Duncan++ | Locale-KeyedText update : changed t/LKT_30_TrnMsg.t to skip all tests for release, citing Translator.translate_message() not implemented yet | |||
Darren_Duncan | so I todo'd the one test block that actually should not succeed ... the rest should work as is for the release | 19:24 | |
autrijus | cool, thanks Darren_Duncan | ||
putter | p6... is the first meta-programming language extreme enough that one should be able to embed, whole hog, syntax, semantics, and runtime, other languages. | ||
Darren_Duncan | "should" as in when pairs.t and exists.t pass all their tests | 19:25 | |
autrijus notes that ML was designed for that explicit purpose... hence its name | |||
but yeah, p6 raised the metaprogramming level to an almost sentient degree | 19:26 | ||
putter wonders why ML didnt catch on... | |||
_mml | didn't catch on? | ||
autrijus notes OCaml and Haskell is doing fine... | |||
_mml | what autrijus said. | ||
arcady | it caught on enough for me to have to learn OCaml | ||
putter | for a rather non-change-the-world (yet) value of "catch on" | 19:27 | |
autrijus | as in, still part of the long tail, you mean | ||
that is undoubtedly true. | |||
lightstep | lisp has cgol | ||
autrijus | lightstep: indeed, and 16,384 similar things :) | 19:28 | |
Aragone | gah | ||
lightstep | that was a reply to "embed, whole hog, syntax, semantics, and runtime" | ||
putter | p6 - noun. The means by which ML took over the world. See Brain, Pinky. | ||
Aragone | 90 minutes of 3-on-3 ultimate frisbee in 32 degree heat is tantamount to geeky suicide | 19:29 | |
putter | For us unfortunates not attending Toronto... any idea what the logistics are? Nightly syncs of the repository? ... | 19:30 | |
autrijus | I have absolutely no idea until we meet John | 19:31 | |
putter | k | ||
svnbot6 | r4884, iblech++ | Makefile.PL, util/run-smoke.pl -- make pirsmoke. | 19:34 | |
autrijus | ooh iblech++ | 19:36 | |
pirtest too, please? :) | |||
iblech | Sure, if you tell me which file generates the "test" target :) | 19:39 | |
autrijus | it's a MakeMaker thing, sadly | ||
maybe have it call $(MAKE) test with some env? | |||
not sure. don't waste too much time on it if it's a lost cause :) | |||
hm, chip pmichaud and me will all be in hackathon | 19:42 | ||
we should coordinate our Tuesday talk a bit | |||
iblech | autrijus: re. Ok, I'll leave that to Somebody Else then :) | 19:44 | |
autrijus | :) | 19:50 | |
autrijus meanwhile finished iteration. | |||
moving on to other control structures... | |||
autrijus praises the power of abstraction and domain-specific languages | |||
(PIL and PIR, in this case) | |||
svnbot6 | r4885, autrijus++ | * iteration! | 19:51 | |
r4885, autrijus++ | for 1..10 -> $x { say $x } | |||
iblech gonna sleep and is eager to read tomorrow's/today's journal :) | 19:55 | ||
putter | autrijus: pirtest: HARNESS_PERL_SWITCHES='-B PIR' make test | ||
autrijus | putter: please checkin :) | 19:56 | |
iblech | That's all? Can't believe =) | ||
Night :) | |||
putter | once you _find_ a hook that works... | ||
Night. :) | 19:57 | ||
autrijus | :) | ||
svnbot6 | r4886, autrijus++ | * add some missing type sigs. | 20:12 | |
r4887, putter++ | Added target pirtest to Makefile.PL. | |||
putter | Is there a particular version of parrot against which we are testing...? | 20:15 | |
autrijus | yes, trunk. | ||
putter | :) | ||
autrijus | we won't have 0.2.2 until yapc is over :-/ | 20:16 | |
autrijus ponders if we should enter ICFP contest with perl6. | |||
it's just next week. | |||
that sounds like certain suicide, but yet we have the entire YAPC::NA as brainpower | |||
last year perl5 won the lightning division :) | 20:17 | ||
svnbot6 | r4888, autrijus++ | * while loop and until loop | ||
r4889, autrijus++ | * squash another warning | |||
autrijus | (well, perl5 / m4 / c++ / java really) | ||
(but the main division is all dominated by Haskell) | 20:18 | ||
putter | re parrot version, I was thinking of some specific revision number. so folks can use some known exercised version, rather than whatever has been most recently checked in. | 20:23 | |
autrijus | given monthly release, that doesn't sound too attractive. | 20:25 | |
putter | k | 20:26 | |
svnbot6 | r4890, iblech++ | Makefile.PL -- Don't clean Parrot.hs*, as Parrot.hsc doesn't exist any more, | 20:31 | |
r4890, iblech++ | and tried to make putter++'s pirtest target work on Win32 (but I can't | |||
r4890, iblech++ | check...). | |||
autrijus | Parrot.hsc is still there no? | 20:34 | |
as Pugs.Embed.Parrot.hsc | |||
we still need to clean them | |||
please revert :) | |||
putter | Could someone with windows (assorted flavors) determine if the following works: FOO='bar' cmd , that is, setting the environment variable FOO to bar for the duration of command cmd? Thanks. | 20:35 | |
wilx | Nope, I don't think so. | 20:37 | |
putter | is there an idiom? or just OLD=$FOO\nFOO='bar'\ncmd\nFOO=$OLD | 20:39 | |
? | |||
svnbot6 | r4891, autrijus++ | * globals: @*ARGS, $*PROGRAM_NAME, $*IN, $*OUT, $*ERR | 20:42 | |
putter | does PIR currently have a looping construct implemented? | 20:43 | |
autrijus | loop(), while(), until() and for() | 20:44 | |
is all there. | |||
wilx | putter, www.microsoft.com/resources/documen...rview.mspx | ||
setlocal/endlocal | 20:45 | ||
putter | autrijus: with fresh parrot and pugs, I see Name '&statement_control:while' not found | 20:46 | |
wilx: thanks, looking... | |||
autrijus | putter: your pugs is ancient | ||
putter: it landed well over 30 mins ago :) | 20:47 | ||
putter | oy | ||
:) | |||
svnbot6 | r4892, iblech++ | Makefile.PL -- D'oh, just noticed *Embed*/Parrot.hsc is of course still | ||
r4892, iblech++ | generated and thus needs to be cleaned in make clean (mixed Embed/Parrot | |||
r4892, iblech++ | with Compile/Parrot)... | |||
putter | by the time you compile it... it's obsolete. ;) | 20:48 | |
autrijus | because we're a bunch of acceloraptors here! | ||
putter | well... "by the time you do a clean build, it's obsolete!" | ||
;) | 20:49 | ||
autrijus notes that PIR runs an infinite loop very fast | |||
wilx | This looks like it is worth looking at too: www.microsoft.com/technet/prodtechn...W2KCP.mspx | ||
putter | wilx: I looked through it (FAQ), but didnt immediately see something apropos. Did I miss it? | 20:53 | |
wilx | Nope, just that it shows how to do some stuff using CMD. | 20:54 | |
Khisanth | autrijus: that sounds like an oxymoron | 20:56 | |
putter is tempted to punt wāindows compatibility of "make pirtest"... windows users can always just set the harness flag environment variable themselves and simiply run make test... | |||
Someone with a windows box could try editing Makefile.PL, using $OS or whatever it is (p5) to selectively generate appropriate code. Hmm... or google to see if there is discussion of the issue? | 20:58 | ||
I cant immediately think of one idiom which is os-independent. | 20:59 | ||
_mml | perl -e '$ENV{FOO} = "BAR"; exec("$ENV{MAKE} test")' | 21:00 | |
putter: the above, maybe? | |||
putter: except you'll have to change the ' to " and use something like qq() inside to get CMD compatibility, but that should work, eh? | 21:01 | ||
autrijus | I thought the setting of env is part of nmake language. | 21:02 | |
putter | _mm++ | 21:04 | |
autrijus | bbiab... | 21:07 | |
autrijus preemptively fills in a journal entry | |||
putter | ahh, working on pugs. ^x^b Makefile.PL Go to line to be changed. Start edit. File changed on disk, update from disk? Yes. Edit already done. ;) | 21:08 | |
autrijus | lol :) | 21:09 | |
putter | If shift() is _still_ undefined, I'll add it to the Prelude/PIR... | 21:13 | |
I wonder if we could get whoever runs svnbot to increase the reporting frequency...? | 21:14 | ||
_mml++ # typo correction of _mm++ | |||
;) | |||
Hmm... It would be nifty if there was a read eval print loop for pugs -B PIR... | 21:18 | ||
Name '$num_of_tests_planned' not found? | 21:23 | ||
svnbot6 | r4893, putter++ | Added shift() to Prelude/PIR.pm. | ||
kungfuftr | bah... more moaning about ./method() yargh | ||
Khisanth | ./method() certainly does look a bit weird | 21:24 | |
mugwump | "terminally cute" was I think how Larry described it | 21:25 | |
putter | Hmm... if one could do macro bareword($x){"./$x"} then folks could have all sorts of fun... | ||
Khisanth wonders how he just accidentally typed a Āæ | 21:26 | ||
kungfuftr | i say... .damianisinsan^H^H^Hgod/method() | ||
Khisanth | what is ./method() suppose to mean anyway? | 21:27 | |
it looks too much like a executing a program | |||
kelan | it calls the method in the current invocant | 21:28 | |
kungfuftr | ie: $self | ||
putter | .foo == $_.foo ./foo == $?SELF.foo (i believe) | ||
Khisanth wonders why $self has to be the ugly one | |||
_mml | oh that is just too cute. | ||
kelan | i don't like the ./foo syntax. the slash looks like its separating the dot from the method name | 21:29 | |
kungfuftr | then there's ../foo() too iirc | ||
Khisanth | and whatever happened to less line noise? :) | ||
kelan | makes it look different than every other method call, to me | ||
kungfuftr | kelan: IT'S SUPPOSED TO | ||
putter | hmm... depending on the macro evaluation spec, one might be able to swap them... | 21:30 | |
Khisanth | kungfuftr: method calls aren't suppose to look like method calls? | ||
kelan | i agree with Khisanth. method calls should look like method calls | ||
i don't mean it makes it look like a different kind of method call | 21:31 | ||
putter now has his heart set on macro bareword ... | |||
kelan | it makes it look *unlike* a method call | ||
like its doing something else | |||
kungfuftr | kelan: and .: and .:: are any better? | ||
Khisanth | why the seperator thing? | 21:32 | |
putter | Now, if we can just do macro whitespace:<\n> ... we wont need to write _parsers_ for ruby/python, just... | ||
;) | 21:33 | ||
kelan | kungfuftr: yes because the colons are made of dots, although i don't particularly like those either. but better than ./ | ||
kungfuftr | Khisanth: .foo is a method call on the current thing that's in $_... the seperator is to call it on $?SELF which may not be the same as $_ | ||
kelan | what i would prefer most is what almost every other OO language does: have a short keyword that means self | ||
like `me` or `self` | |||
kungfuftr | kelan: this is perl... not ruby! | 21:34 | |
*slap* | |||
=0) | |||
kelan | right, this is perl, so lets use ugly and unintuitive punctuation instead of meaningful names | ||
kungfuftr | kelan: damn straight | 21:35 | |
putter | kelan: macro self(){"$?SELF"} done. | ||
Khisanth | kungfuftr: my main issues with that is 1) I am trying avoid having to constantly retype the seperator 2) I also want to avoid constantly assigning to $_ 3) 2 can be solve by never using $_ except for storing $self but then there would be no point in having $_ | ||
kungfuftr | Khisanth: foreach(@list){ .say } | 21:36 | |
s/each//; | 21:37 | ||
Khisanth | sure if I always have a list of objects :) | ||
putter | macro infix:<\n>($lines_before,$lines_after){...} ? | ||
Khisanth | for ($foo) { .say } is something I would expect for Perl 5 | 21:38 | |
kungfuftr | Khisanth: everything in perl6 is an object | ||
"Hello World".say | 21:39 | ||
putter is writing splice()... | |||
Khisanth starts having nightmares of Perl 6 resembling Java | 21:40 | ||
arcady | Java's main problem is that it makes you write too much crap | ||
Khisanth | everything is an object but use of OOP is discouraged? :p | ||
arcady | and anyway, in java not everything is an object | ||
such as fuctions and classes | 21:41 | ||
also, Java is not an object | |||
Khisanth | arcady: but the whole nightmare is having to write too much crap, not that everything is an object | ||
arcady | and perl is exactly the opposite of writing too much crap | 21:42 | |
Khisanth wonders about the hoop jumping to call a method | 21:43 | ||
arcady | $object.method(args) | ||
or method $object: args | |||
also, attribute accessors are automatically generated for you | 21:45 | ||
no need to make a getFoo() and setFoo() for every foo in your class | |||
Khisanth | hmm | 21:56 | |
Limbic_Region | putter - just reading through the logs and noticed the question on how to set an env var in Win32 - use set | ||
set foo=bar | |||
Khisanth | kungfuftr: so for @array -> $element { .method() } would not DWIM? | 21:57 | |
revdiablo | Khisanth: I think it would, unless something drastic has changed recently | 21:58 | |
putter | Limbic_Region: someone remembered the portable perl makefile idiom of \$(PERL) -e "now in portable perl land, set env and call system()" | 21:59 | |
tnx. | |||
revdiablo | Khisanth: though I guess it depends on what you mean :) | ||
Khisanth | revdiablo: if .method always means $_.method() then it would not | 22:03 | |
Limbic_Region | right putter - I saw that as I continued in the log | 22:05 | |
Limbic_Region must eat now | |||
revdiablo | Khisanth: what behavior is WYM? | ||
Limbic_Region | wave & | ||
Khisanth | revdiablo: call the method for each item of the list of course :) | ||
arcady | for @array { .method() } does that definitely | 22:06 | |
kungfuftr | Khisanth: you're explicitly stating an alias there... so if it's DWYM... then your logic would be in correct | ||
revdiablo | Khisanth: so '.method()' should default to the first argument of the block, or something? | ||
s/default to/use/ | |||
arcady | actually, the logic there would be that $_ is still used | ||
and is an alias for the first argument of the block | 22:07 | ||
kungfuftr | you can't type random garbage into a computer and expect it to do work, retardo </endquote> | ||
revdiablo | arcady: yeah, that might be reasonable, as long as you don't mind $_ being clobbered constantly (which is something I generally assume will happen, anyway...) | 22:08 | |
Khisanth | sure but I also don't expect a language to encourage to me to write unclear code | ||
I think you would be the first to kill me if I were you coworker and I use $_ for everything :) | |||
arcady | what you wrote is unclear | ||
revdiablo | for @array -> $element { $element.method() } # unclear? | ||
arcady | revdiablo's version is way more obvious | ||
why have an $element argument that is magically used though you never mention it again? | 22:09 | ||
kungfuftr | arcady: my point exactly | ||
arcady | for @list -> $a, $b { .method() } | ||
what then? | |||
Khisanth | revdiablo: ah you see my whole point is why "waste" a perfectly good .method on something that I see as being less likely to be used :) | ||
revdiablo | Khisanth: well, for @array { .method() } would still DWYM | 22:10 | |
Khisanth: doesn't seem like a waste to me, *shrug* | |||
kungfuftr | reduces line noise | ||
arcady | in fact there's a neat idiom that the current .method() syntax makes possible | ||
revdiablo | how about: for @array -> $element { given $element { .method() } } # snicker | 22:11 | |
arcady | given($object) { call lots of methods on it } | ||
Khisanth | revdiablo: but that form is rather undesirable for a loop with more than one or two statements | ||
kungfuftr | Khisanth: then use give an explicit pointy | ||
_pragmatism_ | 22:12 | ||
arcady | Khisanth what you're looking for is the dwim() function | 22:13 | |
kungfuftr | dwim_not_what_i_think_i_said() | ||
Khisanth | arcady: then all discussion is pointless and loop { dwim() } would be a solution to everything and ... all programmers would be out of work :) | 22:38 | |
nothingmuch | perl -e ""; | ||
taxi gets here in an hour | |||
after that I have 24 more waking hours, bare minimum | |||
i'm already tired | 22:39 | ||
=( | |||
kungfuftr | good job i've also got sysadmin in my list of coporate experiences | ||
Limbic_Region | wholly cow | 23:07 | |
I was just running pugs -CPIR on one of the examples | |||
it was giving some undiscernable error before | |||
but now it is a whole lot of PIR | |||
23:08
coral is now known as crysflame,
crysflame is now known as coral
|
|||
putter | nothingmuch: have a good trip! | 23:21 | |
to all travelers. ;) | |||
Juerd | and LSD users | 23:23 | |
svnbot6 | r4894, putter++ | Added a draft of splice() to Prelude/PIR.pm. It is untested, apparently triggering (execution) bugs in both PIR and regular pugs. | 23:39 | |
r4895, putter++ | quickref/namespace correction. | 23:45 | ||
r4896, putter++ | Removed obsolete/incorrect other/rules_bootstrap. (author) |