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? |