6.2.7 released! | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste: sial.org/pbot/perl6
Set by autrijus on 13 June 2005.
mugwump I think the key point is... VM? How can it be virtual, there is no machine ... they're all just ... functions 00:02
Alias_ in the sense that "machine" language controls a "machine"? 00:04
and thus a "virtual machine" a like a chip... but not hardware
miyagawa hi there 00:08
mugwump hi miyagawa ... you in toronto yet? 00:09
miyagawa just arrived
Darren_Duncan how's the air down there?
miyagawa it's 8pm, but is still shiny :)
the weather is very comfortable 00:10
Darren_Duncan are you going to visit the hackathon?
miyagawa during the conference, yes
but not after the conf
Darren_Duncan I mean before the conference; it has already been going on for several days 00:11
miyagawa No, if you mean it
because I just arrived now
clkao hey miyagawa
miyagawa hi clkao
(where's the yapc channel if any?)
Alias_ There's no YAPC channel 00:15
Of course, there's a "Not at YAPC" channel :)
miyagawa lol 00:16
Darren_Duncan now that Subversion is up, I intend to fix Locale-KeyedText so it passes its main test suite without any workarounds in the test suite to make that work 00:17
should commit in about 1 hour 00:18
luqui stevan? 02:08
seen stevan?
jabbot luqui: stevan was seen 4 hours 42 minutes 14 seconds ago
stevan luqui: hello
luqui: where are you?
luqui i'm in autrijus's and ingy's room 02:09
stevan ok
and that is?
luqui I reasoned with them
well, I guess I just need to know your room
stevan 940
where is the mini-hackathon?
luqui we're figuring that out now 02:10
one moment
stevan ok, well my room is open
luqui mmk
ingy hola 02:11
stevan heya Ingy
luqui hi
so we should just do it here? 02:12
stevan ok
where is here
luqui doesn't think it's a good idea
ingy obra is haviong a hackathon in 1242
stevan ah
ok, so when ?
I will be there with laptop in hand, ready to hack 02:13
ingy stevan: you are welcome to come to 1414 temporarily
but no entourage please
stevan I will leave my poose behind
luqui poose :-p
stevan my posse's got velocity :P 02:14
ok, I will be there in a moment
Alias_ Can someone ask obra how hard it would be to set up an equivalent to rt.cpan for rt.openfsan.org? 02:24
svnbot6 r5011, Darren_Duncan++ | Locale-KeyedText : removed the workaround in the LKT_*.t files involving temp vars; all LKT_*.t files are now pristine; removed most workaround cludges in KeyedText.pm, but added new workaround that all class attributes made public, since new Pugs bug precludes privates working, and new workarounds related to Hashes; updated t_LKT_Util.pm to change+add a workaround re Hashes; all pristine test suites now pass except for 30 which is on
Darren_Duncan committed Locale-KeyedText, and for the first time test suites 10 and 20 pass
Alias_ And see cwest if it's doable
Darren_Duncan but new Pugs bugs discovered in the process
most glaring is that privates don't seem to work 02:25
miyagawa hola ingy
ingy hi miyagawa
are you here?
miyagawa yeah
1038
Darren_Duncan eg, declaration of "has $:foo" works, but referencing it gives an error of "subroutine :foo can't be found"
ingy oh nice
miyagawa where shall I go now?
ingy you can come by 1414 for a bit 02:26
miyagawa okay
Darren_Duncan away for a bit 02:27
obra where are people? 02:43
svnbot6 r5012, luqui++ | r6@Queen-of-Hearts: luqui | 2005-06-26 18:17:55 -0400
r5012, luqui++ | Begin to push Perl5 codegen logic into the metamodel.
obra seen ingy
jabbot obra: ingy was seen 17 minutes 29 seconds ago
obra seen autrijus
jabbot obra: autrijus was seen 18 hours 24 minutes 43 seconds ago
ingy obra: ping
obra ingy: got kidnapped for dessert. back now 02:44
are you guys settled? do you want to come by?
luqui hi 02:45
obra hey luke
luqui yeah, well, autrijus is asleep, and yuval is going home 02:46
obra ah. nod.
luqui so that leaves stevan and me
obra nods.
obra is also looking for ingy and cwest
luqui ingy is here 02:47
luqui hasn't seen cwest
obra ah. cool. where are you guyd^Hs?
luqui 1414
obra should we wander down?
luqui who's "we"?
but no, because autrijus must sleep
obra at the moment, me, dave rolsky who is looking for ingy and my minion dave. hm. get ingy to look at irc? 02:48
luqui what's your room?
autrijus greetings. 02:50
ingy obra: I need your phone 02:51
where are you
obra: ping ping 02:52
autrijus goes back to sleep
ingy obra: I'm heading to 1242 to get your cell phone 02:53
Darren_Duncan hello autrijus 03:02
autrijus heya darren. sorry for being essentialy away
Darren_Duncan no prob ... you still got a lot done
autrijus the new perl5 targetting is really exciting. 03:03
Darren_Duncan indeed
autrijus somehow it's much more exciting than pir tagetting :)
Darren_Duncan my last commit has all the Locale-KeyedText 10+20 tests passing
autrijus ooooh.
Darren_Duncan but there are still cludges
autrijus (and yes, I know the private var accessors) 03:04
Darren_Duncan the other thing is that Hashes seem to change into other things like Array::Const
shades of the old List problem, though still a great improvement 03:05
autrijus nod. and those usually go away if you use `is rw` I think 03:06
Darren_Duncan meanwhile, I'll see if I can get the pristine #30 tests passing on the current Pugs, even if cludges are needed
autrijus I had not implemented luqui's transparent reference proposal; once that's in, the Array::Const etc will be gone
Darren_Duncan the Const isn't the problem; the Array is the problem
autrijus I know.
Darren_Duncan question: is there supposed to be a Pair object type returned by pairs (each element of its output)? 03:07
pairs seems to return Array::Const or something
could be related to the other thing
I'll wait for the proposal you mentioned to be implemented, if thats the plan
obra hi 03:10
Darren_Duncan hi
autrijus the pair thing is unfortunate 03:14
Darren_Duncan yes
autrijus for %hash.pairs -> Pair $x { ... }
must be explicit
otherwise it's taken as named binding
because lwall ruled that pairs always engage in named binding
unless the param list is expecting a Pair 03:15
(or Any, but I ddin't get around to that yet)
Darren_Duncan my problem is that if we say an arg is an Any, and we want to do something different with it depending on whether it is a Pair or a Hash or an Array or a scalar ... 03:16
the serialization function being an example, would output a => vs a ','
or a {} vs a []
depending on what it can determine the input type is
autrijus then you typecase it 03:19
given $x { when Array { .. } }
Darren_Duncan I had been using, on a forum suggestion, "given $x { when does(Array) { ... } }" ... 03:21
but sometimes that didn't work, so I had to do something like "given $x { when .ref eq 'Array' { ... } }"
autrijus the (when Class) form should work consistently now 03:22
Darren_Duncan is there a non-given form of this?
perhaps wrongly, I had been using a ?? :: expression 03:23
see ext/Locale-KeyedText/t/lib/t_LKT_Util.pm for the context
autrijus if $x.does(Array) { ... } 03:26
Darren_Duncan okay
I will test something ... 03:27
greetings 03:40
svnbot6 r5013, autrijus++ | Implemented a wonderful little error message for the default new() that dies if you call it with
r5013, autrijus++ | positional arguments.
r5017, autrijus++ | * Emit.PIR.ParrotObject -- Reified PIR nodes as Parrot Objects!
Darren_Duncan that's curious ... how svnbot6 doesn't spit revision notices in sequence 03:41
luqui yeah
the error message hack was done at 4:00 am yesterday
autrijus but was just pushed
luqui oh
makes sense
autrijus: sleep
autrijus which part of "I'm sleeping" do you not understand again :) 03:42
Darren_Duncan if you're sleeping, how come you are responding to IRC ... normally, sleeping means ignore computer
or does it make a special sound every time you are mentioned?
autrijus the screen lights up 03:43
luqui your eyes do too
:-p
Darren_Duncan if that bothers you, you could change it
autrijus journal up. 03:51
svnbot6 r5018, autrijus++ | * fix type codegen on pir.pir
autrijus please continue to think about the p5-targetting strategy :)
autrijus waves &
Darren_Duncan I'll wait until the hash thing is fixed and then worry about the Pairs thing 03:52
mugwump 'night!
theorbtw1 finds out that he just missed autrijus. 03:57
Allo, all. 03:58
stevan hey theorbtw1
03:58 theorbtw1 is now known as theorbtwo
Darren_Duncan hey, don't mention that name or you'll wake him up! 03:58
theorbtwo I'm not sure he's been sleeping with his laptop at the hackathon.
stevan theorbtwo: yes he has 03:59
it was either under the bed or in the bed with him
Darren_Duncan the new journal entry says 3 hours last night
stevan its a wonder he didnt break it
theorbtwo OK then. 04:00
There's lots of apple laptops and they all look more or less the same.
Darren_Duncan I've heard those were popular
if they're the modern ones, they all look white, like porcelain 04:01
theorbtwo Not quite like porcelain, but not too far off. 04:02
Darren_Duncan I just mean shinyish white
not beige
mugwump cd autr_ijus; pugs -e 'my $field = "ē©ŗ"; while 1 { $field ~= "ē¾Š"; my $count; $field.split("").grep:{ /ē¾Š/ && $count++ }; say "꜉".($count)."隻ē¶æē¾Š" }' 04:03
theorbtwo R6cight.
Right.
mugwump (counts sheep ;)) 04:04
Darren_Duncan one sheep ... two sheep ... three sheep ...
theorbtwo There's one gray-with-white-logo there, the rest are all plain white, in various sizes. 04:05
Darren_Duncan oy
if I were bringing a laptop, it would be an apple ... but I don't got a laptop 04:09
I hope that attending OSCON without a laptop won't be a serious detriment
Alias_ just bring a small blanket to keep your lap warm that way 04:10
Khisanth keeping a laptop on your lap would probably leave you with burns anyway 04:18
mugwump as well as a low sperm count 04:20
gaal hello 04:37
In Emit.PIR, argVal:
argVal MkArgFlatten = 0x08
argVal MkArgSlurpyArray = 0x08
is it correct that they should have the same value?
04:40 scook0_ is now known as scook0
stevan_ there is very few things as satisfying as doing a "guts" level refactor, and having the tests pass the first time :) 04:43
Darren_Duncan indeed 04:54
question ... are labels implemented yet? 05:01
or alternately, how do I specify which of several nested loops to leave?
synopsis 4 mentioned labels, but the examples seemed incomplete 05:02
never mind, I got further along 05:03
but that didn't work ... I'll come back to it another time 05:06
svnbot6 r5019, Darren_Duncan++ | Locale-KeyedText : uncommented translate_message() in KeyedText.pm and fixed it so it would compile and execute without crashing (though it currently returns the wrong answers), un-todod LKT_30_TrnMsg.t and it fails 18/34 tests due to the wrong answers ... this is the last thing in Locale-KeyedText to get working before the module's done ... labels don't seem to be implemented in Pugs 05:36
Darren_Duncan another Pugs bug that I noticed is that "my $foo = 'Bar'; require $foo;" fails with a "can't locate Bar ..." while a plain "require Bar;" does work 05:42
svnbot6 r5020, Darren_Duncan++ | Locale-KeyedText : added a code comment to translate_message() that explains the main Pugs bug that is causing it to fail ... 'require'. 06:03
08:38 scook0_ is now known as scook0
autrijus rehi. 12:13
"my $foo = 'Bar'; require $foo;"
miyagawa autrijus: good morning
autrijus is exactly the same thing as p5
i.e. it needs $foo to contain 'Bar.pm' 12:14
which I never liked, but there's not specced either... or is it?
ohaio miyagawa-san
Limbic_Region tried all weekend to get Pugs running at home so he could file some bug reports but kept having it blow up - any known Win32 issues ATM? 12:21
autrijus no... define blow up? 12:22
Limbic_Region Prim.hs - exiting with error code something or other
I think I can find the nopaste in the logs if you want
hmmm - the logs seem to be unavailable ATM 12:24
Nattfodd autrijus: did you submit something for the ICFPC ? 12:33
autrijus Nattfodd: no. I sort of wanted to, and stevan was quite motivated, but we were unable to convince nothingmuch and other people 12:34
Nattfodd hum
pity
ocaml will have to win again this year :)
autrijus so it turns out perl6 is much more exciting :)
again? last year is not ocaml's 12:35
Nattfodd judge's prize was ocaml
autrijus ah. right
but anyway... I need to afk a bit. bbiab
Nattfodd with a submission from the language creator himself...
acme_ icfpc is quite interesting 12:37
Nattfodd this year's task is not that much interesting, I think
there can't be very funny strategies 12:38
acme_ i quite enjoy seeing my little bots scrabble around 12:39
kungfuftr evalbot still dead?
autrijus ?eval 1+2 12:42
evalbot6 3
kungfuftr ?eval "mwuahahahha".say 12:45
evalbot6 mwuahahahha bool::true
QtPlatypus ?eval /a/ ~ "a";
evalbot6 '<Rule>a'
QtPlatypus ?eval /a/ ~~ "a";
evalbot6 bool::false
QtPlatypus That doesn't look right? 12:46
autrijus ?eval 'a' ~~ /a/ 12:47
evalbot6 pugs: src/events.c:270: init_events_first: Assertion `rc == 0' failed.
autrijus ?eval 'a' ~~ rx:P5/a/
evalbot6 MkMatch {matchOk = True, matchFrom = 0, matchTo = 1, matchStr = "a", matchSubPos = [], matchSubNamed = {}}
pdcawley_ ?eval (1 == 1).type 12:50
d'oh
?eval ref(1==1)
evalbot6 ::Bool
pdcawley_ ?eval ::Bool.getmethods 12:51
evalbot6 Error: No compatible subroutine found: "&getmethods"
pdcawley_ ?eval (1==1).getmethods 12:52
evalbot6 Error: No compatible subroutine found: "&getmethods"
broquaint ?eval ::Bool.perl 12:55
evalbot6 '\\{obj:Class}'
broquaint Dang.
pdcawley_ ? 12:56
?eval Bool.perl
evalbot6 '\\{obj:Class}' 12:57
Limbic_Region ?eval my $foo = .1 * 3; $foo
evalbot6 Error: unexpected "." expecting expression
Limbic_Region ok - so that's still a bug 12:58
pdcawley_ ?eval +".1"
evalbot6 0.0
pdcawley_ Wow.
Limbic_Region if you want to work around the bug for now
pdcawley_ ?eval +"0.1"
evalbot6 0.1
Limbic_Region ?eval my $foo = 0.1 * 3; $foo 12:59
evalbot6 \0.3
pdcawley_ \0.3?
Limbic_Region ignore the \
I have a handful of bugs I have been waiting to write tests against until I had a working Pugs
but I can't get it to compile on Win32 and Jonathan's repository is MIA 13:00
pdcawley_ feather account?
Limbic_Region s/repository/binary distribution/
pdcawley_ + emacs + tramp
Limbic_Region can't use anything other than http and https from work - though I should have logged into feather over the weekend just to get the bugs filed
pdcawley_ I wonder if we coule get Juerd to put an sshd instance up on 443... 13:01
Limbic_Region I doubt even that would work - I have to go through a proxy on top of that 13:02
pdcawley_ Ick.
Limbic_Region and besides - it isn't a matter of getting around a technical problem - it is policy which means I could get the axe by not playing nice
Limbic_Region works for the US Government
anyway - Juerd was nice enough to host CGI::IRC for me and patched a bug so that it worked correctly 13:03
I guess I could give someone else the list of bugs with tuits to verify
kungfuftr ?eval #{ hello }# 13:04
evalbot6 undef
kungfuftr ?eval #{ hello }#.say 13:05
evalbot6 undef
kungfuftr =0)
?eval #{ hello }#; 1.say;
evalbot6 undef
Limbic_Region parsed as a comment
?
?eval 1.say
evalbot6 1 bool::true
kungfuftr Limbic_Region: yar... nm... need to post to p6l at some point
Limbic_Region interesting - I thought evalbot outlawed say 13:06
QtPlatypus ?eval say "Me too"
evalbot6 Me too bool::true
Limbic_Region ? for 1..10 -> $foo { say $foo } 13:07
?eval for 1..10 -> $foo { say $foo }
evalbot6 1 2 3 4 5 6 7 8 9 10 undef
kungfuftr oh... that's a bit funky 13:08
Limbic_Region not really 13:10
?eval for 1..10 -> $foo { say $foo } my $foo = 'bar'; $foo
evalbot6 1 2 3 4 5 6 7 8 9 10 \'bar'
Limbic_Region last evaluated expression thingy
?eval my %foo = map { $_ => $_; } 1..10; [+] %foo{1..5} <=> [+] %foo{6..10} 13:12
evalbot6 -1
Limbic_Region that's going to be an interesting bug to hunt
QtPlatypus ?eval my %foo = map { $_ => $_; } 1..10; [+] %foo{1..5} 13:17
evalbot6 15
QtPlatypus ?eval my %foo = map { $_ => $_; } 1..10; [+] %foo{6..10} 13:18
evalbot6 40
QtPlatypus ?eval 15 <=> 40
evalbot6 -1
Limbic_Region QtPlatypus - I didn't demonstrate the bug 13:21
the bug happens to be a parse bug where that line won't work depending on the presense or absense of a line that precedes it
I can nopaste it if you want - it is a bit too big for evalbot 13:22
QtPlatypus go ahead 13:23
Limbic_Region perlbot nopaste 13:51
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "Limbic_Region" at 129.33.119.12 pasted "Removing the say "balancing group A and B"; line should make the following snippet break - adding it back will make it work again" (22 lines, 551B) at sial.org/pbot/11375 13:52
Limbic_Region QtPlatypus - sorry, had to step AFK
there is the snippet that works but only if there is a statement preceding the [+] %hash{ .. } <=> [+] %hash{ ... } line 13:53
autrijus ingy: I lost my bet right there
:-(
QtPlatypus has a look at it.
Odd. 13:55
autrijus (sorry, during lwall's talk, will not be able to look into this in 30 mins) 13:56
Limbic_Region QtPlatypus - I found another one a while back similar - only it wouldn't work if something preceded it 13:57
QtPlatypus Does say fix it? Or any statement? 13:59
Limbic_Region any statement AFAICT
I used say because I wanted it to make a bit of sense
QtPlatypus How about a comment?
Limbic_Region I haven't tried that (and can't ATM) 14:00
be my guest
fwiw - the other weird parse bug has been boiled down to svn.openfoundry.org/pugs/t/pugsbugs...ng_stuff.t
QtPlatypus nods 14:01
Limbic_Region though when I first found it - it was in a much larger code snippet
QtPlatypus - if you have the tuits, I would appreciate it if you could boil this last bug I just posed down to a small test case 14:08
if you don't, I will log into feather at home (since I can't seem to get it working on my local Win32 machine) and play tonight
QtPlatypus will hit it with as meany tuits as I have. 14:09
Limbic_Region not sure if this is a bug or not, but putting parens around it makes it error out even with the preceding "say ..." line 14:14
IOW - my $result_1 = ([+] %ball{1..4}) <=> ([+] %ball{5..8}); # why would this cause an error I wonder? 14:15
QtPlatypus What verson of pugs are you using?
Limbic_Region I don't have Pugs installed at all 14:17
that's the problem
and some of the bugs I noticed late last week (Thurs/Friday) may no longer be there
?eval my $foo = .1 * 3; $foo
evalbot6 Error: unexpected "." expecting expression
Limbic_Region that bug still exists though - not sure what version evalbot6 is running
everyone else must be listening to Larry 14:22
QtPlatypus With pugs r4939 I can't replicate your error 14:23
Limbic_Region which one - the parens, the .1, or the requirement of a preceding statement? 14:26
QtPlatypus The requirement of the preceding statement 14:29
The .1 error is still there. 14:30
Limbic_Region ok - cool 14:32
what about the parens then?
QtPlatypus cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode) 14:36
Thats what I get with the parens 14:37
Limbic_Region ok - that looks like it is also a bug to me 14:39
?eval (3) <=> (4)
evalbot6 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
Limbic_Region maybe not
QtPlatypus wonders what is happening there. 14:40
?eval 1 <=> (4)
Limbic_Region I don't know - I want to try 1 more thing
evalbot6 -1
QtPlatypus ?eval (1) <=> (4)
evalbot6 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
QtPlatypus ?eval (1) <=> 4
evalbot6 Error: unexpected "4" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
Limbic_Region ?eval (3 ?? 3 :: 4) <=> (0 ?? -1 :: 4)
evalbot6 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
Limbic_Region it is a bug 14:41
QtPlatypus ?eval 1 <=> 4
evalbot6 -1
QtPlatypus nods
Limbic_Region ok - so 2 out of 3
QtPlatypus My other one looks like a bug as well. 14:42
(1) <=> 4 that is
?eval (1) ~ 4 14:43
evalbot6 '14'
Limbic_Region ?eval (1) ~ (4) 14:44
evalbot6 '14'
QtPlatypus Seems to be a pecularaty of the space ship operator
iblech Ah... it seems the (1) <=> (4) is parsed as 1<=>.(4) -- i.e. get the key "=" out of the "hash" 1, treat it as a coderef, and call it using 4 as parameter 14:50
Limbic_Region well - the last bug I haven't been able to isolate yet
but it has to do with nested given/when/default
so possibly 3 out of 4 are still present 14:51
iblech++
iblech (:d in the interactive shell)++ :)
Limbic_Region ok - so what about 14:52
?eval my $foo = .1 * 3; $foo
evalbot6 Error: unexpected "." expecting expression
iblech Currently, you have to add the 0 in front of the .1. This is a lexing bug I tried to fix some time ago, but failed 14:53
mugwump I couldn't find fork() in pugs; was looking for a popen() to make a quicker test harness; anyone know anything more 15:19
mugwump <== on his way to bed
?
gaal mugwump, Pipe.open in Prelude.pm
note though that it isn't specced.
and also, that right now there's only a shell open; if you want a more direct execute process you need to also hack Prim.hs (very easy in this case) 15:20
svnbot6 r5021, mugwump++ | bah. can't pass GLOBs through ;). Anyone got a hack for popen? I'm thinking a mini-harness would really rip through the tests, despite the lack of LL(1) refactoring/excessive backtracking 15:21
mugwump great, thanks. -EMUSTSLEEP, but my spare cycles may go that way shortly
autrijus gaal: you have an idea about how to precompile Prelude? 15:22
gaal: I noticed that on luqui's computer the "loading Prelude" time is almost half a minute
gaal hmmm. dump the ast? :) 15:23
autrijus which is a significant loss of productivity over the pre-Prelude releases
right. :)
you want to look into that? :)
gaal well, if you don't *need* prelude code, you can %ENV<PUGS_BYPASS_PRELUDE>...
i'd love to, but i'm leaving for the army in half a day :( 15:24
Limbic_Region gaal - as in bootcamp?
mugwump can't you tell them you're gay or something?
or is that not a reasonable excuse to serve the nation these days 15:25
Limbic_Region mugwump - not in the US Army - being gay isn't enough anymore
mugwump blast
autrijus but maybe if you tell them you're lesbian...
gaal www.livejournal.com/users/gaal/159292.html
Limbic_Region basically have to say that I am gay and it is going to prevent me from doing my job (I am in love with my commanding officer for instance)
gaal (this is the second time around)
Limbic_Region gaal - oh, well then - nevermind the "are you crazy - always go to basic in the winter cause it is tooo damn hot to be doing drill exercises in the heat" 15:26
gaal and is the reason i'm not in YAPC now :-(
autrijus :/
alright, I'll look into it
but first... let me look into the literals 15:27
gaal autrijus, though: if compiling the prelude takes 30 sec on his machine....
doesn't compiling anything else take as long too?
autrijus stevan_: please commit ahead to lib/Perl6/MetaModel*
or lib/Perl6/Runtime*
gaal sounds like he made unoptimized.
autrijus or something like that.
gaal: no... optimised
prelude is long
most small scripts are short
so parsing an oneliner takes maybe 2 or 3 secs 15:28
gaal true. well, the workaround is to bypass it, which works now :(
autrijus but then as we move more things to Prelude.pm
the problem will get worse
and you can't getaround by not using it
because most funcs will be in prelude
gaal long eh? open my $prelude, ":gzip", "...." :-p
autrijus ;) 15:29
gaal when i joined LJ, i still had dialup and i wanted a way to write entries offline and send them when i connect. by the second day of my LJhood i hacked the perl client to let me :) 15:30
it's something like this, conceptually
autrijus stevan_: I think the core issue is that any Parrot-targeting language has to use an existing Parrot language to write the stage1 compiler
just like you can use VB.Net to use the C# tools
and people use C# just because it's the sanest of all .net languages
so if people consider python more sane, then just use python to drive tools written in perl6 and/or other languages 15:31
but you know... having thunk about that, I will divert my energy toward running on the perl5 vm for now ;)
the the literal bug is fixed btw. 15:35
Khisanth p6 on p5? 15:36
autrijus Khisanth: yeah
that's one of the major focus of the hackathon
svnbot6 r5022, autrijus++ | * parse for fractional number literals starting with a leading dot:
r5022, autrijus++ | .1
r5022, autrijus++ | -.1
Khisanth sounds like a backwards ponie :P
autrijus right :)
I'm interested in a formal PIL evaluator in Haskell
gaal btw autrijus this localmorning i noticed argVal in Emit.PIR has two things that eval to 8. is that ok?
autrijus for operational semantics
and a codegen from PIL to Perl5 for production use 15:37
gaal: sure, one is caller site one is sub param site
Khisanth but this also means that we be p6 even if parrot doesn't work out :)
autrijus those are derived from parrot include eaders
Khisanth: exactly !
personally I think parrot makes a lot of sense; however if we get p6-on-p5 or p6-on-mono or p6-on-jvm etc then we get more p6 hackers 15:38
who will eventually want a VM that is more fitting for p6
and hence get more parrot hackers
pdcawley So p6 becomes the mother of all source filters? 15:39
mugwump because soon they will have forgotten how to even tell which VM they are using!
mugwump laughs evilly
gaal :)
Khisanth could easily see that turning into "meh who needs Parrot these aren't great but good enough"
autrijus heh no... they'll notice.
eg. tailcall on p5 is going to be expensive 15:40
pdcawley ?eval class Integer is extended { method foo { 'foo' }}; 1.foo()
Khisanth that aspect of p5 can't be changed? ;)
evalbot6 Error: No compatible subroutine found: "&foo"
autrijus but anyway... as pmichaud said, egg, basket, etc.
mmm it's "extended" for today?
and "Integer" but not "Int"?
pdcawley Is it extended?
autrijus I don't know, lwall had not ruled
you think `is extended` makes sense? 15:41
pdcawley He did say in the apo that it would be *something* if memory serves.
Gawd knows.
autrijus right, "augmented" etc
Khisanth hopes someone is busily writing up perldocs for what all these things mean :)
pdcawley augmented is probably better.
autrijus lwall ruled "reopened" 15:42
svnbot6 r5023, iblech++ | * ext/Test/bin/test-many.p6 -- Usual svn props.
r5023, iblech++ | * Eval.Var -- Fixed Haddock-confusing double-comma.
pdcawley ?eval class Int { method foo { 'foo' }}; 1.foo
evalbot6 'foo'
pdcawley Ruled, but not implemented :)
autrijus (he's sitting on the same table)
pdcawley Hi Larry. 15:43
autrijus :)
pdcawley Have we got symbol table introspection specced out yet?
Odin-LAP autrijus: Ask him what medication he forgot to take, resulting in Perl?
Khisanth Odin-LAP: not enough time for the full list! 15:44
autrijus pdcawley: it's %MY::, %OUR:: pseudopackages
pdcawley And can I wedge into the grammar yet?
autrijus as well as hashes
Odin-LAP Khisanth: Heh. :p
autrijus you can wedge into the compiled presentation
Odin-LAP Oh, yeah. That's the obvious answer. Hash!
autrijus see ext/Perl-Compiler/ for the obj structure
which is how we do macros 15:45
but you can't yet change the grammar
pdcawley Will that let me walk the symbol table from the top like I could with %:: in Perl 5?
autrijus yes.
pdcawley Implemented?
Can't change the grammar, but can change the PIL that's produced from that grammar?
autrijus right.
?eval my $x = 4; { my $y = 3; { %OUTER::.kv } } 15:46
evalbot6 ('$?1', 'my $x = 4; { my $y = 3; { %OUTER::.kv } }', '$_', 'perl6', '$code', 'my $x = 4; { my $y = 3; { %OUTER::.kv } }', '$lang', 'Perl6', '$x', 4, '$y', 3, '%_', (), '&?BLOCK', sub {...}, '&?BLOCK_EXIT', sub {...}, '&break', sub {...}, '&continue', sub {...})
pdcawley Hmm... I think that's probably enough for (at least) a trace thing...
?eval package Foo { sub foo {...}}; %OUR::.kv 15:47
evalbot6 Error: Undeclared variable: "%OUR::"
pdcawley One of the nice tricks in Perl 5 was being able to find what packages were known about by inspecting %:: 15:48
pdcawley notes that, given symbol table introspection it becomes possible to write quite a few 'meta' methods directly in Perl 6. 15:54
autrijus new just-in-time ruling 15:56
* `$OUTER::x` now means whatever `$x` is visible in the immediate
outer scope, unlike `$MY::x` which is strictly this lexical scope.
`$CALLER::x` similarily means whatever `$x` is visible in the
immediate caller scope. Same applies exactly to the pseudopackages.
pdcawley $OUTER::OUTER::x is legal?
autrijus yes.
so you get PadWalker for free 15:57
for some reason
pdcawley $MY::OUTER::x?
autrijus sure, although that means same as $OUTER::x
if you think about it :)
pdcawley $OUTER::CALLER::x?
pdcawley grins, "I know, just wanted to know it was legal"
autrijus that is going to be the saming thing as $CALLER::x if your outer scope is within the same routine
gaal $MY::MY::THIS::IS::FUN
autrijus if not, it is "erroneous".
which is just a way of saying as the compiler writer I can trigger a `rm -rf ~` at that point 15:58
gaal yeah, like a l33t compiler when your source code has no letters in it! it's actually in the spec :)
autrijus (i.e. behaviour is undefined. probably fails with "CALLER::" not available in OUTER::)
pdcawley sub {... ; for 0..10 -> { $OUTER::CALLER::x }} 15:59
I *think* that in that context $OUTER::CALLER is distinct from CALLER::OUTER
autrijus pdcawley: that is exactly the same as $CALLER::x.
pdcawley Because the pointy is called from for.
autrijus pointies does not remember the caller (I think)
chip my lexicals are innies
pdcawley or does CALLER propagate into the caller.
autrijus caller means the thing you are "return"ing to. 16:00
if you return from inner of pointy
then you return on behalf of sub
so your CALLER is exactly the same as OUTER::CALLER.
(hint: write tests) 16:01
16:01 Boogie_ is now known as Boogie
pdcawley Can that work when you return from a pointy by throwing an exception? 16:02
Ah.. no, because you populate CALLER when the pointy closes over stuff.
Which happens before the pointy is called.
autrijus right. 16:03
pdcawley is in 'stating the obvious mode' here.
autrijus that's fine :)
that's what "operational semantics" means.
pdcawley Just making sure it's obvious :)
autrijus please be patient while we rehaul pugs to take advantage of those recursive lambdas :) 16:04
pdcawley ?eval class Foo { method foo {...} }; ref %Foo::foo 16:05
evalbot6 Error: Undeclared variable: "%Foo::foo"
autrijus ?eval class Foo { method foo {...} }; ref &Foo::foo
evalbot6 ::Method
pdcawley ?eval class Foo { method foo {...}}; ref %Foo::{'&foo'}
evalbot6 Error: Undeclared variable: "%Foo::"
pdcawley Hmm... how do I get Foo's symbol table?
autrijus ?eval class Foo { method foo {...} }; %Foo:: 16:06
evalbot6 Error: Undeclared variable: "%Foo::"
autrijus eh, weird, it's in Pugs.Eval.Var before
please write tests or see if there are already tests
I'll take a look :)
pdcawley Okay. %OUR:: should have various '::Foo' keys in for 'packages available to the image' right? Or are they in %MY::? 16:07
autrijus no, %MY:: is strictly this lexical pad 16:08
pdcawley So is %:: going to be the default symbol table in the same way as in Perl 5? 16:09
autrijus I think it's %*:: that contains all other symbol tables 16:10
but it's unruled... I can ask for a ruling in a bit
pdcawley %*:: makes sense, it's global after all. 16:11
autrijus yup
pdcawley Is ::Foo.meta returning an actual object yet?
pdcawley is giving himself a test shopping list here. 16:12
autrijus not in pugs, but it should. 16:13
make it a :todo<feature>
pdcawley Or implement it in Perl6 and make it dependent on the symbol table intro :)
autrijus heh :) 16:14
pdcawley Which is, I think possible.
autrijus commits... welcome
pdcawley (Possibly with some help from extra code in PIL...)
autrijus right.
pdcawley Lemme get the tests written first. Once I know what behaviour it's reliant on I might be able to do the next bit.
Also, is there going to be a 'Runtime' object -- like the Ruby Kernel obj, the bit that lets you write things like Runtime.for_all_objects: -> $obj {...} 16:16
Or is that the sort of thing that brave fools implement in CP6AN?
autrijus meep meep 16:17
pdcawley ? 16:18
autrijus meaning, I have no idea at all
pdcawley Ah well, I shall have to play at implementing it, see what comes of it.
autrijus I think it should be possible.
pdcawley Oh, it's possible, the question is what's the best way of doing it : ) 16:19
Limbic_Region autrijus, what bet did you lose and with whom? 16:20
autrijus no, I mean if you are running on different runtimes, they are going to provide different introspection capabilities
Limbic_Region: I bet with ingy that lwall will not mention my name during his keynote talk, because lwall usually doesn't do that -- but lwall did that almost at the very beginning of the talk, and again later 16:21
pdcawley autrijus: Not if you write the introspection right. Just wedge into 'class', 'method', 'sub', etc...
autrijus pdcawley: right. what I need is API 16:22
please design it :)
Limbic_Region ok - so what were the terms of the bet - inquiring minds want to know
autrijus (or find people who do)
Limbic_Region: the losing side needs to give the winning side a kiss... chocolate.
pdcawley Wilco. I'll investigate and post something to the list. If anyone reading this feels like pinging me in a week if there's been nothing, I'd be grateful. 16:23
But I hope it'll happen before then.
Limbic_Region so how much Haskell has he learned?
stevan_ I have a question for the group :) 16:25
autrijus stevan_: yes?
stevan_ pdcawley in particular
16:25 Maddingue__ is now known as Maddingue
stevan_ should the metaclass handle the accessor generation? or should the meta-model constructor do it? 16:25
autrijus Limbic_Region: I don't know. I know he can read data type declarations :) 16:26
stevan_ (the meta-model constructor being the thing which itself creates the metaclass instance :)
pdcawley stevan: Personally, I think it should be constructed by whatever implements 'has' 16:27
autrijus stevan_: start a cargo cult cult to hand out cult cargo!
stevan_ pdcawley: that would likely be the meta-model constructor then
thanks
that was my suspicion 16:28
i just needed someone else to agree with me to validate my own thoughts :)
pdcawley Consider having the meta-model constructor tell the class that it's about to add an attribute, and again that it *has* added the attributed.
stevan_ BTW - nothingmuch says hello to the group
pdcawley Same for methods, submethods, subs etc.
stevan_ his computer died
pdcawley: shouldnt the actions just be atomic (or as close to atomic as possible) 16:29
PerlJam sets up an agreeable bot just for stevan_ that agrees with everything he says ;) 16:30
autrijus I just introduced The Matrix to chromatic
(Test::TAP::HTMLMatrix)
pdcawley Not sure, just copping something from NSBindings. Ask the class "Can I add this thing?", then tell the class that you did add the thing.
They're used for two different purposes.
autrijus he mentioned something about perl.com artible 16:31
Limbic_Region PerlJam - by definition it would be flawed
autrijus er, article
autrijus wonders if nothingmuch would be up to it
Limbic_Region consider "I am completely wrong on this aren't I"
pdcawley Class wants to be able to say "No, I don't want that new attribute, I've already got it, or whatever reason class decides"
Then, once the class has had the attribute added, it needs to ferret through all its instances changing their internal structure.
luqui does pugs support object-subscripted hashes 16:32
pdcawley And if the class is going to be able to get at all its instances, we need some 'weak' way of referring to objects, or garbage collection is completely up the pole.
autrijus $obj<attr> ?
or $obj{$obj} ?
luqui no, %hash{Foo.new}
autrijus that currently stringifies it because we don't do shapes yet.
which was because the confusion over the Hash role
luqui mmkay 16:33
I can implement this without that
stevan_ pdcawley: I see
pdcawley (Or do we just say to the garbage collector "Gimme all the objects in the live set" and grep through them?
)
autrijus but that was ruled: Hash is a role, PerlHash is class that parameterised Hash with [returns=>Any, shape=>Str]
or something like that
stevan_ however metamodel 0.0.1 will not be that complex
but I think 0.0.2 will surely include it
pdcawley Personally, I lean towards asking the garbage collector, because, dammit, some things *should* be slow.
stevan_ although I am not sure if you can add attibutes dynamically, but thats another discussion altogether 16:34
ok back to metaclass hacking &
pdcawley I hope you can.
But I want to write an image based IDE, so I would say that wouldn't I?
stevan_ pdcawley: I will be checking the cleaned up perl5 (prototype) metamodel code into Pugs in a few hours actually 16:35
you are welcome to join in the metamodel hacking if you like
pdcawley Great. I shall have a look once it's there.
autrijus pdcawley: 18:28 <@leo> FYI: lt@feather:~$ parrot sudoku.pir --nc 16:36
stevan_ has to clean up all the hackishness he did when he thought no one was going to *actually* us this thing
pdcawley I'd like to come to the Portugal hackathon, but funds are lacking
autrijus oh wait, you're in #parrot.
pdcawley I am, but I hadn't noticed.
autrijus ok. leo has implemented that
pdcawley The sudoku solver works?
woohoo!
How slow is it?
svnbot6 r5024, autrijus++ | * correct do.t and mark my.t as todo
autrijus yeah, he says that needs work still... but if you are interested find him in #yapcna or #parrot 16:37
pdcawley On this network? Or the other? 16:38
autrijus ircperlorg
pdcawley Hmm... when I do /j #yapcna I end up in a little world all of my own... 16:39
On the irc.perl.org server. Ah well. 16:40
16:42 Maddingue is now known as saper
pdcawley ?eval sub foo { 'foo' }; &foo = sub { 'bar' }; foo() 16:44
evalbot6 Error: Can't modify constant item: VCode (MkCode {isMulti = False, subName = "&main::foo", subType = SubRoutine, subEnv = Just (MkEnv {envContext = CxtItem (mkType "Code"), envLValue = True, envLexical = MkPad {"$?1":=[(<ref>,<ref>)],"$_":=[(<ref>,<ref>)],"$code":=[(<ref>,<ref>)],"$lang":=[(<ref>,<ref>)],"%_":=[(<ref>,<ref>)],"&?BLOCK_EXIT":=[(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>)],"&break":=[(<ref>,<ref>),(<r
iblech ?eval sub foo { 'foo' }; &foo := sub { 'bar' }; foo() 16:45
evalbot6 'foo'
iblech ?eval sub foo { 'foo' }; my &baz = sub { 'bar' }; baz()
evalbot6 'bar'
iblech ?eval sub foo { 'foo' }; BEGIN { &foo := sub { 'bar' } } foo()
evalbot6 'foo' 16:46
pdcawley ?eval sub foo {'foo'} ; my &saved_foo = &foo; &foo := sub {'bar'}; say foo(); &saved_foo() 16:47
evalbot6 foo 'foo'
xinming anyone here("alive") ? 17:32
Khisanth checks pulse 17:33
"maybe"
Odin- does the same. 17:34
Nope.
xinming Khisanth: Can you speak Chinese please? 17:36
autrijus rehi 17:38
Khisanth "speak" hehe yes, "write" no :) 17:42
stevan_ suprisingly it is much easier to design a meta-model when you are refactoring an ugly hack then it is when you are designing from scratch 17:43
xinming Khisanth: čƒ½äøčƒ½ēœ‹åˆ°ęˆ‘ꉓēš„å­—ļ¼Ÿ
Khisanth also can't read! 17:44
whiteg chinese...
xinming Ok, I just wish to ask "if you can see what I wrote." 17:54
hmm, I have a question, I wanna know if <<Perl 6 Essentials>> is too old to read. 17:55
whiteg xinming: I can see what you wrote 17:57
xinming whiteg: čƷ问äø€äø‹ļ¼Œå°±ę˜Æperl6 ēš„čÆ­ę³•ę˜Æäøę˜Æå·²ē»ē”®å®šäŗ†ļ¼Ÿ 17:58
Perl6 Essentials é‚£ęœ¬ä¹¦ęˆ‘ēœ‹äŗ†äø€äø‹ļ¼Œäøčæ‡äøēŸ„道那äøŖ里面介ē»ēš„äøœč„æę˜Æäøę˜Æ都已ē»čæ‡ę—¶äŗ† 17:59
Odin-LAP O_o 18:00
xinming Odin-: >_<
Odin-: close your eyes... please ... >_<
:-)
whiteg think it's not a good idea typing Chinese here..^^
xinming: how about i msg you?
xinming whiteg: well, as your wish. :-) 18:01
autrijus xinming: your question was, is perl6's syntax fully defined.
and the answer is no.
the things you read in P6Essentials is about 50% outdated.
xinming autrijus: :-S
autrijus problem is you can't easily tell which 50%.
fortunately, the synopsis files are kept reasonably up to date.
xinming autrijus: that's exactly what I want to know.
autrijus see dev.perl.org/ for the synopses. 18:02
those are only 5% or so outdated.
and we can update them easier than paper books.
finally, you can look into t/* in the pugs tree to see the currently accepted syntaxes.
that's about it :)
the syntax will keep changing until the 6.0 release. 18:03
which is quite some time away 18:04
so during the meantime you can join the fun and help shaping the language :)
it's a limited-time offer!
xinming hmm, I am not clever as you. :-)
autrijus xinming: nah, you need just to try using pugs and complain about bugs :) 18:05
(or inconvenient syntax)
stevan_: you're not in irc.perl.org #yapcna? someone just praised your DBD::Mock
stevan_ ah 18:06
yapcna? 18:07
I am the only on there :)
wrong yapcna I assume
oh well
xinming autrijus: I've install pugs. In fact, I use debian, and I always prefer using testing rather than unstable. But for install pugs. I choose unstable. :-)
autrijus cool :)
er sorry #yapc 18:08
thinko
stevan_ thanks
is there any place to plug in 18:13
I am running out of battery
autrijus yes... right behind me
those are two-holes 18:14
stevan_ didnt work
horray 18:16
I am saved
Darren_Duncan hello folks
autrijus loads stevan_
stevan_ thank you autrijus-san
autrijus :)
Darren_Duncan: unhashify is fixed 18:17
svnbot6 r5025, autrijus++ | * move do.t from unspecced to specced
Darren_Duncan sounds great
I still have to update from yesterday ... will get back to you
autrijus sure, take your time... I'll just go on with releng
Darren_Duncan now updated to 5026 18:18
velcro is this the right place to ask about parrot 0.2.1 not building 18:19
autrijus irc.perl.org #parrot is the canonical place
or [email@hidden.address]
velcro thanks 18:20
gaal say, lwall's keynote speech isn't online yet somewhere, is it? 18:21
svnbot6 r5026, autrijus++ | * fix unhashify.t - testing .does/.isa/smartmatch on a reference 18:23
r5026, autrijus++ | should not deref it.
autrijus I have an older copy: perlcabal.org/~autrijus/larry-commu...ilding.ppt 18:24
(the one lwall used in russia)
gaal shukran, ya autrijus!
autrijus I didn't spot a difference
PerlJam greets pm 18:25
autrijus greetings pmichaud-san
pmichaud greets, pj
PerlJam autrijus: lwall is the master of laziness ;)
pmichaud greetings, autrijus
PerlJam autrijus: hmm. what's with all of the cairns on lwall's slides? 18:28
pmichaud pj: the first slide of rocks represented "geeks"
autrijus community structure
pmichaud the second slide represented linux, with Linus on top, lieutenants beneath, and the rest of the Linux users as the ground ("dirt") 18:29
PerlJam we're a pile of rocks? That cuts many ways ;-)
pmichaud the other rock piles were different structures
pj: guess you should've been here :-) 18:30
Khisanth hmm the users are dirt? 18:31
autrijus "in that particular metaphor of linux community" 18:32
pmichaud metaphors often bring about interesting suggestions :-)
autrijus ...but sometimes a camel is just a camel
Darren_Duncan seems to be a new bug with Test.pm and/or Pugs ... 18:43
when using isa_ok, it fails with a 'expected' and 'got' being reported the same value 18:44
autrijus Darren_Duncan: just fixed
Darren_Duncan okay
svnbot6 r5027, autrijus++ | * `$hashref.does(Hash)` now returns true 18:48
r5027, autrijus++ | * more test cleanups
PerlJam what's with all the joining? 18:59
pmichaud__ I dunno, I keep getting disconnected :-(
autrijus me too 19:00
PerlJam Someone should have sprung for one of those satellite connections to keep you up always ;)
obra I'm on yapc-8 and it's been happy
autrijus stevan / iblech: ext/Config-Tiny/t/basic.t
I'm on _1 with mode 11b
switching to 11g makes it randomly not get packets
Config::Tiny is failing one test 19:01
# Got: '[ newsection section]
svnbot6 r5028, autrijus++ | * fix Test/t/3-output.t when running from pugs root path.
autrijus not sure which side is the bug
19:08 pmichaud___ is now known as pmichaud
Darren_Duncan the Test.pm problem is gone 19:09
question ... 19:14
svnbot6 r5029, autrijus++ | * `pugs -CPIL -e 'say 123'` for dumping PIL from code
pmichaud autrijus++
Darren_Duncan if I have 2 functions, one wrapping the other, where both take a scalar argument holding a hash ref ...
what is the best way to ensure that the inner function receives a 'Hash' and not a 'Scalar'? 19:15
in other words, Perl 5 like behaviour where, when you copy a variable containing a reference, saying 'ref' or 'does' on the original and the copy yield the same answer? 19:16
reducing problem ... 19:17
?eval 1+1
evalbot6 2
dudley How out of date is docs/02Internals.pod? It says it was last updated 6/03/05. Three weeks in pugs time is about thirty years of real time, isn't it? 19:20
Darren_Duncan ?eval sub foo ( $arg ) { return "foo got a '{$arg.ref}'" } sub bar ( $arg ) { return "bar got a '{$arg.ref}', "~foo($arg) } bar( hash() ); 19:22
evalbot6 'bar got a \'Hash\', foo got a \'Scalar::Const\''
Darren_Duncan the question is, how do I get foo() and bar() to receive the same thing? 19:23
autrijus ...you wait until Scalar::Const is made transparent :-/ 19:30
svnbot6 r5030, autrijus++ | * include prelude bindings in PIL output.
r5031, Darren_Duncan++ | Locale-KeyedText : simplified t_LKT_Util.pm because Pugs now handles hashref.does(Hash) properly
autrijus luqui and I has identified the bug with the default `is constant`
you can negate it with `is rw`
I will implement transparent refs
Darren_Duncan okay, so that's in progress
autrijus yup 19:31
Darren_Duncan any time frame?
autrijus it's a design bug
yes... I think after my talk tomorrow ;)
I still had not done any slides
pdcawley Yikes.
Darren_Duncan are you trying to make your slides now?
pdcawley 3 hours?
autrijus yup.
Darren_Duncan: don't ask :-/
pdcawley (Yikes)**2
Darren_Duncan right, I'll put off further questions until after the talk 19:32
sorry about the slides question 19:33
iblech ?eval my %h = (a => 1, b => 2, c => 3); for grep {1} sort keys %h -> $k { say $k } 19:35
evalbot6 abc undef
iblech ?eval my %h = (a => 1, b => 2, c => 3); for sort keys %h -> $k { say $k }
evalbot6 a b c undef
iblech autrijus: That's the reason why Config::Tiny can't write new .inis currently
19:36 pmichaud_ is now known as pmichaud
masak iblech: where does the undef come from? 19:38
autrijus Darren_Duncan: nah, don't be sorry -- I'm just cranky
Darren_Duncan gotcha
iblech masak: It's the thing the last statement evaluated to 19:39
Darren_Duncan in any event, I'm trying the 'is rw' workaround for now ...
masak iblech: in other words, that's not what's important, the spaces are, right? 19:40
iblech masak: Yep
Darren_Duncan and it worked, too
masak iblech: any idea where they come from?
looks to me grep is all the difference 19:41
iblech masak: No... it seems to be because of grep {...} sort. Only sort and only grep work, but not those two together... writing a test
masak iblech++ 19:42
autrijus iblech++ 19:43
iblech: I'm working on the slides for the next few minutes -- if you got tuit please investigate the guts :)
(but otherwise a test is fine)
masak i was just about to go home and sleep 19:44
but this is too exciting, now i'm staying
iblech autrijus: Unfortunately, I have to go off in a minute -- school and test tomorrow (but, good news: vacation in four weeks or so :)) 19:45
svnbot6 r5032, iblech++ | * Usual svn props added to PIL.hs.
r5032, iblech++ | * Config::Tiny -- Worked around pugsbug, Config::Tiny passes all tests now
r5032, iblech++ | again.
r5032, iblech++ | * Filed new test for this bug: t/pugsbugs/grep-and-sort-in-for.t
r5032, iblech++ | * POE -- Skipped tests, *much* work still to be done.
nothingmuch hola camelmonks
iblech Ok, gotta go & 19:46
masak nothingmuch: hola
nothingmuch 's computer died
everyone cry please
19:46 Boogie_ is now known as Boogie
Darren_Duncan waaaa 19:47
wilx Died?
How do computers die?
nothingmuch they stop booting
wilx Interesting.
nothingmuch now i'm franticly trying to buy a new one 19:48
masak cries
PerlJam nothingmuch: buy me one too while you're at it :)
Darren_Duncan is the old one not fixable?
nothingmuch Darren_duncan - not enough tim
e
masak - my current problem is with payments
canadian and israeli credit card systems work out very differently 19:49
luqui - i'm on stevan's laptop... want to work on PP5?
castaway_ hugs nothingmuch
(poor compy)
luqui yeah..
nothingmuch castaway!
where are you?
(luqui, that is) 19:50
castaway_ lancaster
nothingmuch actually, where are you two?
ah!
19:51 castaway_ is now known as castaway
nothingmuch how was your flight? 19:51
or was it flights?
wait, aren't you supposed to reach germany via amsterdam and all that?
luqui oh, me
i'm in ingy's talk
but I want to go to black magic... maybe 19:52
nothingmuch oh, i'm just outside
castaway nono, we drive back to lancaster, we're still in the country til friday
nothingmuch black magic sounds liek a fun talk
wait, lancaster is in US?
it sounds like a british name for a place
castaway James wants to know if there was anything interesting in the keynote
yes
nothingmuch uh - keynote - no
castaway it came from there. as many US place names did
luqui I found the keynote interesting 19:53
nothingmuch oh wait, i read that as "new"
luqui autrijus - poke
nothingmuch well, it was an interesting talk
but not much to say about it
it was larryisms, mostly
luqui it's like trying to summarize an instrumental 19:54
castaway ;)
autrijus luqui: peek 19:56
I'm still in the golfing talk
castaway hey autrijus
autrijus heya castaway
obra how's the golfing talk? 19:57
autrijus just started. it's fun
obra hm. perhaps i'll pop over 19:58
Limbic_Region castaway ping
castaway hey Limbic 19:59
Limbic_Region was AFK
being Superman as it were
what's up?
autrijus just handed commit bit to particle 20:00
theorb So nobody announced anything nifty at YAPC, like pugs being blessed? 20:01
svnbot6 r5033, Darren_Duncan++ | Locale-KeyedText : added 'is rw' to all method/sub args as temp workaround to 'transparent refs' problem, uncommented input-check test in Message.new()
r5034, luqui++ | r30@Queen-of-Hearts: luqui | 2005-06-27 15:58:34 -0400
r5034, luqui++ | Checkin and so forth.
theorb With Larry and Allison and Patrik all being there, I halfway expected that to happen. 20:02
autrijus theorb: uh, no, I think pugs will stay pugs for quite a while longer :)
read my journal for why.
theorb OK.
autrijus (in Day 142)
theorb Ah, that. 20:05
autrijus yeah, that. 20:06
I don't really care about the name though :) 20:07
<- optimising for fun
nothingmuch oof! 20:09
meppl what does "oof" mean?
theorb Think of the sound one makes when picking up something heavy. 20:10
meppl *hehe
theorb Oh, is there a release yet? I'm guessing not.
nothingmuch meppl: it's a sound people make they are frustrated 20:11
autrijus theorb: not yet. depends on my slidemaking I may or may not get there tomorrow
theorb OK.
autrijus this release could have been the most heavily regressing one ever
though we're doing well on damage control :)
obra autrijus: RT bof tonight/msg autrijus RT bof tonight sometime
er. sorry
theorb Probably won't have a new make system I think is ready to check in before then anyway.
autrijus obra: k 20:12
ooh.
theorb: you can check in anyway just don't enable it
obra ah. 4:45
autrijus right after talk?
theorb I'd prefer it not be an enable/disable thing, as that means leaving both ways to do it around. 20:13
autrijus theorb: er, once the new sys works we just kill the old sys
"disabled" meaning it's work in progress, but more visible
obra autrijus: yeah, I didn't schedule it
autrijus hrm, I may need to crash and nap a bit 20:16
:-/ 20:17
how long is the bof?
obra no fucking clue 20:18
autrijus :-/
hrm. my head is spinning :-/ 20:26
autrijus heads back to the room to rest a bit 20:27
castaway intensive brain expansion going on ;)
svnbot6 r5035, masak++ | * Filed new test, similar to the one iblech++ found: 20:32
r5035, masak++ | t/pugsbugs/map-and-sort-in-for.t
masak has been looking at the ugly-print step-by-step output of pugs re this bug 20:33
it seems an extra set of parentheses is added in the "grep {1} sort" case
and also "map {1} sort"
it looks like this: "((a, b, c))" 20:34
whereas when using only sort, or only grep, it doesn't
hth
(i tried looking at src/Pugs/Prim/List.hs where I believe the bug is, but unfortunately Haskell still only looks like advanced mathematical cursing to me) 20:36
'nite
&
autrijus the ./foo bug is fixed. 21:04
(it was parsed as 0 / foo)
thanks luqui for reporting it and successfully prevented my sleep :)
svnbot6 r5036, autrijus++ | * fix `./method` parsing so it won't mean `0 / method`. 21:06
r5037, autrijus++ | * `use Module--perl5` in docs and examples are now `use perl5:Module`.
meppl looks better :-P 21:07
PerlJam "use perl5:Module"? 21:11
that doesn't quite fit into my "syntax that follows from other stuff that I know"
geoffb The generalization that for any language foo you can say 'use foo:Module' makes me happy, actually. 21:13
Much less hackish than "perl5 is an author's name"
theorb Aye.
Khisanth so ....
theorb That's what you get for sitting Larry in an accessable coutch where you can ask questions of him directly. 21:14
Khisanth use C:perl; ? :)
theorb Except that C doesn't have the concept of modules.
Khisanth I was thinking libraries
theorb use C:stdio.h is somewhat more likely.
Khisanth then how do you indicate which .so to use? 21:15
use C:foo.h(some.so)?
geoffb theorb, I was thinking about the XS prefix stuff -- so that using a module in C would actually load the library that had the right prefixes (gl/GL_, etc.)
How to define the mapping is a good question . . . 21:16
theorb I think this is a job for something other then a use C:whatever;.
geoffb I'm sure ingy would have some ideas . . . . 21:17
PerlJam use C++:foo; 21:19
Khisanth use Person:PerlJam;
PerlJam use <suspend the normal rules of perl6 syntax> <some stuff here>
is how that reads to me really 21:20
And really it's beyond that. Are these foreign language modules searched for in @INC?
Why not in the language-specific version of @INC?
Khisanth they are searched in their own version of @INC of course! 21:21
integral eg. for Haskell via Cabal
theorb I suspect if there's a language specified, it's up to the thing that handles the language.
Khisanth perl6 will be all knowing :)
theorb IE, the rule for foo:bar should be what a foo programmer expects, which doesn't neccessarly bare much relation to what a perl6 programmer would expect.
integral is there anything spec'ed for this feature beyond the syntax?
geoffb perl6.ask('What is the answer to life, the universe, and everything?')
svnbot6 r5038, geoffb++ | Added hack.pod entries for ext/Perl-Compiler/ and ext/WTemplate
theorb integral: No. 21:22
Khisanth theorb: it should do what a Perl programmer would expect
geoffb integral, I think it was an on-the-fly ruling
Khisanth rather, Perl should do what a Perl programmer would expect :)
PerlJam It still begs for a quoting operator in my mind.
theorb AFAIK, even the spec isn't much of a spec, just a larry-on-the-couch ruling.
PerlJam use Foreign 'language' => 'module'; (or something like that) 21:23
geoffb PerlJam, no reason that use language:module couldn't be sugar for that
PerlJam geoffb: what happens when the : gets in the way? How do you circumvent it? 21:24
geoffb PerlJam, how can it get in the way?
integral use inline "haskell" => "import Data.Map", :wrap_all;
PerlJam geoffb: If the language name ends in a colon. If the module name begins with a colon.
geoffb PerlJam, hmmm, unless there is a language that likes to start module names with a single colon . . . .
Otherwise, I don't think it's ambiguous. 21:25
PerlJam, that's theoretically true -- but are there any currently existing languages that do that?
And if so, we can always disambiguate with whitespace, I suppose 21:26
Anyway, I think that's edge enough to be fixed when it's actually needed
(by somebody who didn't just create a language like that to annoy us)
Darren_Duncan question: is there anything hyper-operator like that will do a cross-join of array arguments; eg, a hyperlike-stitch can take ['a','b'] and ['c','d'] and return ['ac','ad','bc','bd']? ... or should I be using a 'map' to do this? 21:27
theorb Hm, you want some combination of yen and join. 21:28
Darren_Duncan by contrast, the existing hyper-stitch would return ['ac','bd']
integral join '', any<a b>, any<c d> ?
Darren_Duncan will try those ... 21:29
PerlJam integral: I don't think that would work
Darren_Duncan ?eval join '', any<a b>, any<c d>
evalbot6 'any(VStr "a",VStr "b",VStr "c",VStr "d")'
theorb I don't think you want an any.
integral *sigh* I still hate junctions
Darren_Duncan didn't think so
theorb Junctions have very little in the way of order gaurnetees. 21:30
geoffb Darren_Duncan, there's always the stuff in examples/nested_loops that you could reuse
Darren_Duncan essentially, I want to replace a double-for-loop with an elegant single for loop
I have a nested loop already
integral do { a <- ["a", "b"]; b <- ["c", "d"]; return a ++ b } :: String
Darren_Duncan wanted to see if there was a single option
integral s/String/[String]/
Darren_Duncan will try some tests
PerlJam map { $_ >>~<< <c d> } <a b> 21:31
Darren_Duncan I thought of using map already ... just seeing if there was a way to avoid it
still, I guess I'll just use map for now, since I know how to use it 21:32
geoffb Don't just use it directly, define a new op for it that we can all use. ;-)
Darren_Duncan that's a matter for p6l me thinks 21:33
geoffb tries for the first time building pugs with both Perl 5 and Parrot embedding turned on 21:35
This should be interesting
integral use Monads; [<a b>] >>= -> $a { [<c d>] >>= -> $b { $a ~ $b } }
Darren_Duncan ?eval <a b>.map:{ $_ Ā»~Ā« <c d> } 21:38
evalbot6 Error: unexpected ":" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
Darren_Duncan ?eval [<a b>].map:{ $_ Ā»~Ā« [<c d>] } 21:39
evalbot6 Error: unexpected ":" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
arcady ?eval <a b>.map { $_ Ā»~Ā« <c d> }
evalbot6 Error: unexpected "{" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
Darren_Duncan ?eval [<a b>] 21:40
evalbot6 ['a', 'b']
Darren_Duncan ? eval [<a b>].map:{ $_ }
? ='eval [<a b>].map:{ $_ } 21:41
?eval [<a b>].map:{ $_ }
evalbot6 ('a', 'b')
21:41 Limbic_Region_ is now known as Limbic_Region
Darren_Duncan ?eval [<a b>].map:{ $_ Ā»~Ā« 'z' } 21:41
evalbot6 Error: unexpected ":" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
Darren_Duncan ?eval [<a b>].map:{ $_ ~ 'z' } 21:42
evalbot6 ('az', 'bz')
Darren_Duncan ?eval [<a b>].map:{ $_ >>~<< 'z' }
evalbot6 Error: Hyper OP only works on lists
arcady right
Darren_Duncan ?eval [<a b>].map:{ $_ >>~<< ['z' ]}
evalbot6 ('az', 'bz')
Darren_Duncan ?eval [<a b>].map:{ $_ >>~<< [<y z>] } 21:43
evalbot6 ('ay', 'az', 'by', 'bz')
Darren_Duncan so the Unicode ... or other encoding issue was part of the problem
?eval [<a b>].map:{ $_ >>~<< [<c d>] } 21:44
evalbot6 ('ac', 'ad', 'bc', 'bd')
Darren_Duncan ?eval [<a b>].map:{ $_ Ā»~Ā« [<c d>] }
evalbot6 Error: unexpected ":" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
theorb (Evil Encoding Issues)-- 21:45
Darren_Duncan problem is IRC specific, since my local pugs handles that one 21:46
Limbic_Region theorb - your better half about? 21:50
geoffb ..oO( I love it when album shuffle brings up something I haven't listened to in months ) 21:52
castaway is 21:54
lightstep waiting is 22:01
geoffb Note to Linux kernel: When a compile causes the OOM killer to go on a rampage, the proper process to kill is the compile, NOT THE X SERVER. 22:03
*huff*
Speaking of which, while I can build pugs just fine with just perl 5 embedding, pugs + perl 5 + parrot OOM's during link. 22:05
castaway heh
geoffb That seems . . . bad
integral the link is quite intensive 8-) 22:06
geoffb Just rebooted fresh, going to see if I can link without any cruft in mem. After that, I could try doing 'init 1' before linking. ;-)
integral adding more swap from a file might be enough to do it 22:07
geoffb Man, been a while since I used a swapfile. Not a bad thought, though 22:09
integral from what I remember 768MB is probably the least VM you'd want when compiling pugs 22:10
geoffb coughs 22:11
OUCH
integral but having said that I can't have that much on my 64MB box, but that was a minimum link
geoffb I've got around 590MB of VM.
Didn't expect that to be an issue
wilx Hmm...pugs compilation doesn't take much more than 120 MB for ghc iirc. 22:14
geoffb GHC is slow, but that's not the killer. It's the link. 22:15
s/slow/excruciating/, actually
wilx Ah. I have noticed that xmms starts cutting the sound during pugs' link time. 22:16
I always blamed it on FreeBSD's stupid scheduler. 22:17
geoffb yeah, it's pretty brutal. Before the damn thing killed X, everything got REALLY unresponsive, despite it being a 2 CPU box
wilx Some priority inversion sort of thing I thought.
Darren_Duncan I finally got the last Locale-KeyedTest suite to pass all its tests ... but the workaround to do it is NASTY 22:18
its nasty in that test suite files are hard-coded into the modle 22:19
file names
geoffb ?!?
Darren_Duncan because "require $foo" doesn't work in Pugs right now
only "require Foo" works
geoffb I thought you just needed to do "$foo = 'Bar.pm'; require $foo" -- i.e., the '.pm' was required for indirect require 22:20
Or is that unimp?
Darren_Duncan if you think adding a ".pm" will make it work, then I'll try that ... 22:21
the details ... when a plain "require Bar;" works, a "my $foo = 'Bar'; require $foo;" fails with a "Can't locate Bar.pm in @*INC" error.
geoffb ghc peaked at 131 MB virtual memory
Darren_Duncan testing ...
geoffb linking now, ld is at 133 MB and climbing 22:22
whoot! LINK SUCCESSFUL
theorb Odd.
Darren_Duncan confirmed that problem still exists (I last checked it yesterday) ... will try the '.pm' thing now 22:23
geoffb Darren_Duncan, I hadn't tried it myself, I just thought I read something about it being the same behavior as P5.
nod
Darren_Duncan on that note, Perl 5 doesn't work either
geoffb It also could be s/being/supposed to be/, of course
Darren_Duncan I had to do a string eval in perl 5 to make it work whereas a block eval should work
geoffb With or without the PM? 22:24
er, .pm
Darren_Duncan always without
pjcj Have you read perldoc -f require? 22:25
Darren_Duncan I think the .pm addition worked
geoffb pjcj, I was just about to make the same recommendation. ;-) 22:26
Darren_Duncan okay, so while the ".pm" addition works for require, I have another outstanding issue ... invoking a subroutine in that newly required file 22:31
geoffb Lemme guess . . . import fails?
Darren_Duncan invoking $template_module_name::get_text_by_key( 'foo' ) gives an Undeclared variable message
geoffb ah 22:32
Well, it's a bit hackish, but you could bind them manually:
Darren_Duncan the '.' form, which is incorrect anyway as it isn't a class, says no compatable subroutine on the latter half
geoffb our &get_text_by_key := $template_module_name::can('get_text_by_key') 22:33
or somesuch, lemme check
Darren_Duncan last time I tried to use 'can' it was unimplemented ... maybe not now though
geoffb s/::/./
But again, haven't tried it with a variable instead of a bareword classname 22:34
pjcj are you looking for the equivalent of ${template_module_name}::get_text_by_key ?
Darren_Duncan sort of 22:35
a minute ...
geoffb You know, pugs parsing seems oddly fragile. Like the feel I get from stuff that has lots of special cases, rather than a few rules that get combined out the wazoo. And yet it's an FP thing to do simple stuff combined widely, so I have some dissonance going here
WTF? Half of my message just disappeared 22:36
Darren_Duncan in Perl 5, a bare "$text = $template_module_name->get_text_by_key( $msg_key );" works
I wanted the Perl 6 equivalent
btw, I will try using the new ".pm" thing I learned with my Perl 5 code and see if it works there ... then I can ditch my string evals 22:37
geoffb You also have to do s,::,/,g 22:38
But that's all in perldoc -f require
Darren_Duncan that's nasty 22:39
geoffb Sugar on top of sugar
(Ingredients: dextrose, sucrose, fructose, galactose, sucralose, . . . ) 22:40
Darren_Duncan I would expect 'require' to work the same regardless of whether the class name is a bareword or in a variable, meaning with :: and no .pm
I only expect 'do' to need that stuff
geoffb The /../...pm version is the real one. The :: bareword is sugar
Darren_Duncan I see
geoffb It's The Perl 5 Way. ;-) 22:41
Darren_Duncan and yet all the perl 5 docs and examples I've seen say to do it the :: way
and I've been using the language since 1998
geoffb Yep, because only in the case that you want to load a dynamically-chosen module will you ever notice the difference.
So why confuse people with the facts?
geoffb is only half serious, BTW 22:42
geoffb also has writer's block, bah
Darren_Duncan that probably explains why modules like 'DBI' are doing the same string-eval that I've been doing even though they may know what you've been saying
there must be some impetus to prefer that form ... you keep the sugar 22:43
geoffb I guess
The only thing I can think is at some point maybe there was a platform that Perl ported to that didn't emulate the unix filesystem as needed 22:44
For some years now, I think just about every Perl port has done so, but perhaps something early didn't
(Not that I have touched OpenVMS or goodness willing ever will)
Darren_Duncan another thing is, doesn't the "::" form also check the include paths? That's what I want in this case
otoh, the .pm form seems to as well 22:45
geoffb (For that, I'd honestly have to check the docs)
Darren_Duncan since the module in question is in an include path, but it works anyway
geoffb good.
nothingmuch hola! 22:46
autrijus: i have a new laptop!
geoffb is thankfully everything isn't just sugar over a Turing Machine implementation
nothingmuch, yay!
nothingmuch i need to copy everything from the old disk
geoffb Wadja get?
nothingmuch do you have a 2.5" thingy we could use?
geoffb: a powerbook 17"
geoffb Mmmm, had one of those at my last job.
nothingmuch it is very very very very yummy 22:47
geoffb Hated the sharp edge of the handrest area, tho
nothingmuch they're not that sharp
autrijus nothingmuch: woot!
nothingmuch: the ./ thing is fixed
geoffb Plugged in an external KB to avoid giving my wrists fits
nothingmuch or at least I haven't noticed yet
hoorah!
i can start working again
and this time even compile locally (just finished installing xcode, ghc is next)
geoffb But I do recall the display was just gorgeous 22:48
nothingmuch are you at the hotel?
geoffb Get enough RAM to do the link in mem? ;-)
nothingmuch, are you asking me that?
(If so, no -- can't afford to go to the conferences these days)
nothingmuch 1gb
no, i'm asking autrijus
Darren_Duncan ?eval my $foo = 3; $foo.can( 'bar' ); 22:49
evalbot6 Error: No compatible subroutine found: "&can"
nothingmuch Darren_Duncan: i have a new mac!
Darren_Duncan great
autrijus nothingmuch: yes but I'd like you not coming over
Darren_Duncan I have a 3-yr-old Mac
autrijus unless you want to write my slides for me
nothingmuch hah 22:50
autrijus at which point you're welcome
nothingmuch do you have any way to connect a 2.5" disk to another computer
Darren_Duncan but its a desktop, not a portable
nothingmuch via firewire, tcp/ip, or whatever?
Darren_Duncan don't you mean 3.5"?
geoffb Writing English outside of IRC seems to make autrijus cranky. :-)
Darren_Duncan or do you mean a hard disk?
nothingmuch yep
no, a laptop disk
Darren_Duncan ah
hard disk
coral moves forward approximately one day of scrollback, still 2 days behind 22:51
geoffb nothingmuch, if your old laptop is a Mac, even if it won't be able to boot normally, you might be able to boot it into "Firewire Target" mode, and firewire link the too
nothingmuch no, i tried that
geoffb :-(
Darren_Duncan whether you can boot from firewire depends on your firmware being up to date 22:52
on the drive
nothingmuch Darren_Duncan: the laptop is completely dead
Darren_Duncan so you want to take the drive out of there then?
nothingmuch yep
Darren_Duncan if you can't fit the drive in a computer, you could get an external enclosure for it and/or some temporary connection 22:53
nothingmuch someone is bringing one tomorrow so i can do that 22:54
but i'd like to copy ASAP
svnbot6 r5039, Darren_Duncan++ | Locale-KeyedText : this module is now complete, passing all of its tests, and updated to version 1.5.0 to match its Perl 5 version 1.05; the Translator.translate_message() method was largely rewritten; a NASTY hack still exists in that function preventing it from working except with the test suite, due to Pugs not supporting module_name::bar() yet ... fix that and module should be generally useful 23:21
autrijus oh no, darren is talking to me in the commit logs 23:22
Darren_Duncan not specifically
autrijus ?eval module Foo; sub bar { 3 }; module main; Foo::bar 23:23
Darren_Duncan your name wasn't in it so I shouldn't have woken you from your sleep
evalbot6 3
autrijus what wasn't working?
Darren_Duncan try it with $bar = 'Foo'
autrijus ?eval module Foo; our $bar = 'Foo'; module main; say $Foo::bar
evalbot6 Error: Undeclared variable: "$Foo::bar"
autrijus ?eval module Foo; our $bar = 'Foo'; module main; $Foo::bar
evalbot6 Error: Undeclared variable: "$Foo::bar" 23:24
autrijus ?eval package Foo; our $bar = 'Foo'; module main; $Foo::bar
evalbot6 Error: Undeclared variable: "$Foo::bar"
Darren_Duncan that's the problem
pdcawley ?eval package Foo {...}; our $Foo::bar = 1; $Foo::bar
evalbot6 *** ... - not yet implemented at <eval> line 1, column 14-17
Darren_Duncan the non-hack line is commented out in my module ... if that or an equivalent can be made to run, its what is needed
pdcawley ?eval module Foo { our $bar = 'Foo' }; $foo::bar 23:25
evalbot6 Error: Undeclared variable: "$foo::bar"
pdcawley ?eval module Foo { our $bar = 'Foo' }; $Foo::bar 23:26
Darren_Duncan the wider context is "my $foo = 'Bar'; require $foo~'.pm'; my $baz = $foo->abc( 'def' );"
incidentally, it would be nice if the '.pm' wasn't required 23:27
Bar declares a module and abc is a sub
the same module and sub work when $foo is replaced by a bareword
the specific line I want to work is ... $text = $template_module_name::get_text_by_key( $message.msg_key ); 23:29
will try "module Foo { our $bar = 'Foo' }; $Foo::bar" once make is done 23:42
?eval module Foo { sub abc { return 'def' } }; Foo::abc(); 23:46
evalbot6 'def'
Darren_Duncan ?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; $z::abc();
evalbot6 Error: Undeclared variable: "$z::abc"
Darren_Duncan ?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; ${$z}::abc(); 23:47
evalbot6 Error: unexpected ":" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
Darren_Duncan ?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; &{$z}::abc();
evalbot6 Error: unexpected ":" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
Darren_Duncan not sure why pdcawley's last comment appeared in bold ... an IRC bug perhaps? ... 23:48
vcv-- i assume he put the bold character there whether acidentally or intentionally 23:50
pdcawley Accidentally. 23:51
autrijus yo Darren_Duncan.
Darren_Duncan hello
autrijus fixed. committing
clkao autrijus!!
Darren_Duncan so, was that a real bug, or my not calling it correctly? 23:52
autrijus a bug.
qualified names was improperly installed.
Foo::$bar # this do us no good
it should be $Foo::bar; and in some cases not even the Foo:: was even missing. 23:53
totally my thinko.
r5040.
putter ?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; &::($z)::abc();
evalbot6 'def'
Darren_Duncan now making 5040 23:54
putter ?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; &($z)::abc();
evalbot6 Error: unexpected "(" expecting "::"
Darren_Duncan ?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; $z::abc();
evalbot6 Error: Undeclared variable: "$z::abc"
obra hey people
clkao hi obra
Darren_Duncan hey
obra where are folks? 23:55
putter Darren_Duncan: embedded name interpolation is paren'ed: ...("foo")... 23:56
Darren_Duncan ?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; ($z)::abc();
evalbot6 Error: unexpected ":" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
autrijus yay. I'm feeling much better. 23:57
Darren_Duncan come again?
putter, can you edit the line I ran as you indicated; my edit didn't seem to work 23:58
svnbot6 r5040, autrijus++ | * qualified names was misinstalled; we now reparse the sigil
r5040, autrijus++ | part and explicitly install it into envPackage again.
autrijus <- just sent allison/lwall a mail to apologise if I've misled them into thinking "pugs is 80%-90% there" in the state of carrot
putter ::foo::bar::("hee")::($haw)::zork
?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; $::($z)::abc();
autrijus it's more like less than 30% ;)
putter ?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; $::($z)::abc();
evalbot6 Error: Undeclared variable: "$Foo::abc"
putter hmm... 23:59
obra autrijus: are poeple hacking somewhere?
putter oh,
?eval module Foo { sub abc { return 'def' } }; my $z = 'Foo'; &::($z)::abc();
evalbot6 'def'
autrijus obra: no, I'm in my room working on slides. ingy I think is scheduling a kwiki hackathon somewhere
obra autrijus: what percentage of perl6 syntax do you think pugs parses?
Darren_Duncan okay, will try that
autrijus I have done three slides!
obra autrijus: ah.
irc--
autrijus obra: "parses into noop" counts?