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)