pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/ Set by Tene on 29 July 2008. |
|||
00:00
bacek_ left
00:11
bacek_ joined
00:15
exodist_ left
|
|||
meppl | good night | 00:49 | |
00:51
meppl left
01:00
sri_kraih left
01:08
japhb left
01:21
ZuLuuuuuu left
01:22
nacho joined
|
|||
rakudo_svn | r32785 | pmichaud++ | [rakudo]: spectest-progress.csv update: 220 files, 4506 passing, 41 failing | 01:30 | |
r32785 | pmichaud++ | Failure summary: | |||
r32785 | pmichaud++ | S03-operators/increment.rakudo aborted 41 test(s) | |||
01:38
hercynium joined,
hercynium_ joined
01:41
hercynium left
01:43
dukeleto joined
01:47
dukeleto left
|
|||
wayland76 | @tell masak re: trans; Cool, thanks :) | 01:53 | |
lambdabot | Consider it noted. | ||
wayland76 | perl6: say "yo-yo".subst(/o/, 0, :g) | 01:55 | |
p6eval | pugs: No output (you need to produce output to STDOUT) | ||
..rakudo 32785: OUTPUT[y0-yo] | |||
..elf 23014: OUTPUT[Can't locate object method "subst" via package "yo-yo" (perhaps you forgot to load "yo-yo"?) at (eval 117) line 3. at ./elf_f line 3861] | |||
02:01
chrisdolan joined,
japhb joined
02:06
wknight8111 left
02:28
bacek__ joined
02:30
bacek_ left
02:59
stephenos left
03:05
rdice left
03:13
Limbic_Region left
03:18
lumi left
|
|||
buu | /w/ 12 | 03:19 | |
rakudo_svn | r32791 | pmichaud++ | [rakudo]: Let BigInt properly map .WHAT/.HOW . | 03:20 | |
03:21
justatheory left
|
|||
wayland76 | @tell azawawi trac.parrot.org/parrot/wiki/ParrotRoadmap | 03:23 | |
lambdabot | Consider it noted. | ||
wayland76 | buu: ??? | ||
buu | Typo. | ||
03:25
bacek_ joined
|
|||
wayland76 | (You get that :) ) | 03:26 | |
03:27
bacek__ left
|
|||
rakudo_svn | r32793 | particle++ | [CAGE] fix pod errors | 03:30 | |
03:30
nacho left,
Patterner1 joined
03:33
alester_ joined
03:41
alester__ joined,
alester left
03:43
Patterner left,
Patterner1 is now known as Patterner
03:48
xuser joined
03:52
hercynium_ left
03:58
kisu joined
04:00
elmex left
04:01
hercynium_ joined,
elmex joined
04:03
elmex left
04:16
justatheory joined
04:20
kisu left
04:21
kisu joined
04:34
hercynium_ left
04:35
hercynium_ joined
04:43
alc joined
04:45
bacek__ joined
04:57
bacek_ left
05:12
penk joined
05:21
stephenos joined,
hercynium_ left
05:34
azawawi joined
|
|||
azawawi | good morning | 05:34 | |
lambdabot | azawawi: You have 3 new messages. '/msg lambdabot @messages' to read them. | ||
azawawi | @messages | ||
lambdabot | TimToady said 13h 16m 30s ago: no, @baseroutinenames and @basetypenames are going away as soon as we implement a prelude to define them instead. if the info you need isn't in the tree, it should be | ||
put there. | |||
TimToady said 13h 2m 59s ago: when I run viv, I only see one tree for $STOP, but the identifier is in an array because it's optional | |||
wayland76 said 2h 11m 32s ago: trac.parrot.org/parrot/wiki/ParrotRoadmap | |||
azawawi | moritz_: ping | 05:35 | |
@tell moritz_ can STD_syntax_highlight be moved along with STD.pm5 into CPAN, or is there a technical/other problem with that? | 05:37 | ||
lambdabot | Consider it noted. | ||
05:38
jfredett joined
05:48
azawawi left
|
|||
rakudo_svn | r32796 | pmichaud++ | [rakudo]: Update ROADMAP with completion percentages and new estimates. | 05:50 | |
05:53
mberends left
05:54
mberends joined
06:10
kisu_ joined
06:15
kisu left
06:22
justatheory left
06:24
mberends left
06:36
jfredett left
06:37
dukeleto joined
06:44
DemoFreak joined
06:45
Bzek joined
06:46
ashizawa joined
06:51
smg left
07:11
bacek_ joined,
bacek__ left
07:32
kisu_ is now known as kisu
07:40
iblechbot joined
07:42
apeiron left
07:43
apeiron joined
07:49
dukeleto left
|
|||
moritz_ | @tell azawawi in principle there's no problem with it, you should just make it clear that it's generated code, and where it comes from. And if there's no license statement in STD.pm, ask TimToady what's the license | 07:50 | |
lambdabot | Consider it noted. | ||
08:00
bacek__ joined,
pbuetow joined
08:05
mberends joined
08:11
bacek_ left
08:17
stephenos left
08:21
smg joined
08:22
sri_kraih joined
08:31
apeiron left
08:33
pbuetow left,
alester_ left
08:54
zamolxes left
08:58
ejs joined
09:28
smg left
09:29
schmalbe joined
09:53
kisu_ joined
10:00
kisu left
10:03
xinming_ joined
10:16
xinming left
|
|||
pugs_svn | r23033 | pmurias++ | [mildew] replaced AST::MetaCall with AST::Let | 10:16 | |
10:17
pmurias joined
10:19
tomyan joined
10:38
pmurias left
10:42
macae joined
10:58
smg joined
10:59
pmurias joined
11:01
elmex joined
|
|||
pmurias | ruoso: re i think the prototobject supporting FETCH makes sense because if we assumed add_method received an object instead of a container it would be awkard to use it from hand-written code | 11:06 | |
ruoso | pmurias, hi | 11:07 | |
pmurias | ruoso: hi | ||
ruoso | pmurias, I'm writting the FETCH interception code right now | ||
I'm adding $p6opaque.^!is_container | |||
which holds a bool | |||
and the metaclass should change | |||
in the case the class implements a FETCH method | 11:08 | ||
or submethod, actually | |||
pmurias | shouldn't it be something like .^!default_FETCH? | ||
ruoso | well.. maybe... | 11:09 | |
I thought in the sense that FETCH being something that is only implemented by containers | |||
otherwise it's ___VALUE_FETCH___ | |||
pmurias | .^!is_container seems a bit more general, but i'm not sure if we will use that attribute for something more than as a hack to set a real FETCH | 11:12 | |
ruoso | yeah... but I think it describes better what is the actual effect, instead of the technical detail of how it does it | 11:13 | |
pugs_svn | r23034 | ruoso++ | [smop] p6opaque supports .^!is_container which is used to decide if it should use ___VALUE_FETCH___ on the interception of FETCH calls. | 11:21 | |
11:23
tomyan left
11:25
tomyan joined
11:30
pmurias left
|
|||
pugs_svn | r23035 | ruoso++ | [mildew] we can already dispatch without the FETCH circularity | 11:30 | |
r23036 | ruoso++ | [mildew] simplifying t/classhow_add_method_real.t... it is still failing, because the method is not being found, even if it is being registered... | 11:34 | ||
11:47
Lorn joined
11:54
meppl joined
11:56
penk left
|
|||
ruoso | hmmm... | 12:21 | |
for some time I understood that capture delay the context to be applied | |||
but that is not always true, right? | 12:22 | ||
foo($bar) will always have $bar in item context | |||
it's not the signature of $bar that turns it into an item | |||
but the fact that it's used with the '$' sigil | 12:23 | ||
12:26
kisu__ joined
|
|||
ruoso | and with that realization, classhow_add_method_real now works ! | 12:29 | |
12:30
kisu_ left
12:31
kisu joined
12:36
Jedai joined
|
|||
ruoso | hmpf... the solution is correct, but the implementation is wrong... | 12:36 | |
it's not on the VAST::variable that I should put the FETCH | 12:37 | ||
because sometimes the VAST::variable is used to call a STORE | |||
I think it's something related to the capture | |||
so it's probably worth having an AST::Variable type, so the AST::Capture can look at the sigil and decide if it should call FETCH, List or Hash in advance depending on the sigil... | 12:38 | ||
hmm.. | 12:39 | ||
but that's confusing | |||
no... it's not | |||
heh... | |||
it does make sense | 12:40 | ||
12:43
sri_kraih_ joined
|
|||
ruoso | @tell pmurias I think we need an AST::Variable type that stores the sigil, because AST::Capture needs access to the sigil to decide if it calls FETCH or not in the value... | 12:43 | |
lambdabot | Consider it noted. | ||
ruoso | hmmm... | ||
wait... | |||
that is wrong... | |||
because if it does that, :($foo is ref) won't work | 12:44 | ||
@tell pmurias forget what I've just said | 12:45 | ||
lambdabot | Consider it noted. | ||
ruoso | that means the low-level method implementations need to implement their signatures correctly | 12:46 | |
12:47
kisu__ left
12:49
apeiron joined
12:56
|Jedai| left
12:58
sri_kraih left
13:01
ashizawa left
13:04
iblechbot left
|
|||
ruoso just finds out that recursing a SMOP callback from C using the C stack is something very hard to do... | 13:05 | ||
it's easier to write m0ld that calls the C parts of the code independently... | 13:06 | ||
13:16
apeiron left
13:23
apeiron joined
13:26
BinGOs left
|
|||
pugs_svn | r23037 | ruoso++ | [smop] hash .exists and .{} now use a mold to implement the signature correctly building a new capture with the values in the desired context. | 13:27 | |
r23037 | ruoso++ | [smop] s1p_code also does a FETCH in the first positional argument, so it now accepts a capture as a variable in postcircumfix:( ) | |||
ruoso | and now we have classhow_add_method_real.t working for real | ||
YAY! | |||
mildew: knowhow ClassHOW { method add_method($object, $name, $code) { $OUT.print("I'm trying to add a method ",$name,"\n" } }; class Foo { method bar {} }; | 13:29 | ||
p6eval | mildew: OUTPUT[Malformed fate at ../../src/perl6/Cursor.pm line 905.] | ||
ruoso | pfts | ||
13:29
BinGOs joined
|
|||
pugs_svn | r23038 | ruoso++ | [mildew] t/classhow_add_method_real.t now also shows that we know how to handle outer variables... | 13:32 | |
ruoso | svn.pugscode.org/pugs/v6/mildew/t/c...hod_real.t | 13:34 | |
lambdabot | tinyurl.com/6k8ols | ||
ruoso | the above code already runs in STD + mildew + smop | ||
ruoso later & | 13:40 | ||
13:45
rindolf joined
13:46
ejs left
14:00
masak joined
14:01
tomyan left,
tomyan joined
14:02
iblechbot joined
14:10
tomyan1 joined,
tomyan left
14:11
fronty joined
14:15
ejs joined
14:16
Jedai left
14:17
Jedai joined
|
|||
rakudo_svn | r32815 | pmichaud++ | [rakudo]: spectest-progress.csv update, 220 files, 4567 passing, 41 failing | 14:20 | |
r32815 | pmichaud++ | Failure summary: | |||
r32815 | pmichaud++ | S03-operators/increment.rakudo aborted 41 test(s) | |||
14:36
ejs left
14:37
ejs joined
14:49
macae left
14:58
jhorwitz joined
15:15
cognominal left
15:17
tomyan1 left,
schmalbe left
15:21
Khisanth left,
cognominal joined
15:24
Khisanth joined
15:43
spx2 left,
ruoso left,
spx2 joined
15:50
alester__ is now known as alester
15:51
adc_penner joined
16:02
ejs left
16:04
mberends left
16:08
mj41 joined
16:16
dukeleto joined
16:18
mj41 left,
mj41 joined
16:21
masak left
16:23
Oolk joined
16:25
rindolf left
16:27
jan_ left,
Khisanth left
16:28
Khisanth joined
16:29
stephenos joined
16:44
Oolk left,
Exodist joined
16:49
kisu_ joined,
Oolk joined,
justatheory joined,
mncharity joined
16:53
kisu left
16:57
kisu_ is now known as kisu
17:01
Oolk left
|
|||
mncharity | Ooooo. audreyt back?! | 17:02 | |
ghc 6.10 support at least. yay. | 17:05 | ||
17:06
smg left
17:24
masak joined
17:26
jan_ joined
17:27
ruoso joined
17:29
rhr joined
|
|||
mncharity | TimToady: ping? | 17:34 | |
17:35
pbuetow joined
|
|||
TimToady makes a noise like a stealth sub | 17:35 | ||
mncharity | :) | 17:36 | |
TimToady | you got a kvetchin, er, a question? | ||
17:40
Lorn left
|
|||
mncharity | STD_blue_run is still using STD->parsefile()'s STD tree directly, rather than viv's ->parsefile()->item(). My attention is drawn to this by '3.a.b' having a POST array in viv's dump, but not in STD_blue's (which is yielding 3.b.a). Could you illuminate what ->item is providing? I'm wondering if STD_blue needs to switch over, or to duplicate something. | 17:40 | |
17:41
rhr_ left
|
|||
ruoso proudly points TimToady at the classhow_add_method_real.t test at the mildew repo... | 17:42 | ||
TimToady | -> is faking up scalar context to return whatever the Match wants to return in the scalar slot, which in this case happens to be the ast produced by the reductions | 17:43 | |
->item rather | |||
Cursor keeps the scalar value of the match in the '' key | |||
in real Perl 6 this would just be $($/) | |||
or $() for short | 17:44 | ||
ruoso: cool | |||
ruoso | TimToady, and the "class Foo" keyword already depends on the ClassHOW being defined | 17:45 | |
if you define "class Foo" without having "ClassHOW" defined, it will simply say: | |||
mncharity | so... unrelated to the viv/STD_blue divergence I'm seeing. ok. I'll dig further, trying to find where viv's POST field is coming from, when the STD tree itself doesn't seem to have one. | ||
ruoso | mildew: class Foo { }; | ||
p6eval | mildew: OUTPUT[Malformed fate at ../../src/perl6/Cursor.pm line 905.] | ||
ruoso | gah... | ||
not that | |||
it will say that it can't find &ClassHOW in the lexical scope | 17:46 | ||
mncharity | :) | ||
ruoso | moritz_, I think there needs to be a rm -rf lex somewhere in the mildew evalbot | 17:47 | |
TimToady | why is it even in that code? that's the old non-trie code that should probably never be called anymore. hmm | 17:49 | |
ruoso | moritz_, make it a rm -rf * then ;) | ||
TimToady | rm -rf / surely... | 17:50 | |
ruoso | TimToady, have you ever seen any --desugar output from mildew? | ||
TimToady | nope | ||
I try to avoid getting familiar with the internals of any implementation because I can't afford to specialize | 17:51 | ||
pasteling | "ruoso" at 201.45.49.162 pasted "perl mildew --file t/classhow_add_method_real.t --desugar" (86 lines, 4.6K) at sial.org/pbot/33262 | 17:52 | |
[particle] | how's that ivory tower, timtoady? | ||
ruoso | it's almost Perl 6 code ;) | ||
TimToady | new ivory is hard to come by | 17:53 | |
17:54
dukeleto left
|
|||
ruoso | the paste above shows how method declaration will look for $?CLASS in the lexical scope, how the Adhoc Signature works and also how the late context propagation looks like | 17:54 | |
TimToady | looks compliqué :) | 17:57 | |
18:02
Aisling left,
kisu_ joined,
Aisling joined
18:04
hercynium joined
|
|||
masak | is the array @a always cloned in `for @a { ...`? what about if it's something lazy? | 18:06 | |
lambdabot | masak: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
masak | wayland76: np. | ||
mncharity | TimToady: Ok, it looks like I malformed my question. It appears Actions is now required for STD->parsefile() to return a correct STD tree? | 18:07 | |
18:07
schmalbe joined
|
|||
ruoso | masak, @a is never cloned in for @a, afaik | 18:07 | |
18:08
kisu left
|
|||
masak | rakudo: my @a = 1..8; for @a.kv -> $ix, $elem { if $elem % 2 == 0 { @a.push($elem / 2) } }; say @a.perl | 18:08 | |
p6eval | rakudo 32819: OUTPUT[[1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4]] | ||
18:08
kisu_ is now known as kisu
|
|||
masak | ruoso: then Rakudo is doing The Wrong Thing Here. | 18:08 | |
s/Here/here/ | |||
ruoso | masak, you don't need .kv there | 18:09 | |
.kv is generating a new list | |||
masak | oops. fixing. | ||
rakudo: my @a = 1..8; for @a -> $elem { if $elem % 2 == 0 { @a.push($elem / 2) } }; say @a.perl | |||
p6eval | rakudo 32819: OUTPUT[[1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4]] | ||
masak | same thing. | ||
TimToady | mncharity: actions are how we turn a parse tree into an ast | ||
ruoso | masak, it is diong the right thing, and it's not clonning the array | 18:10 | |
masak | if it's not cloning the array, how come the result doesn't end with ', 1, 2'? | 18:11 | |
ruoso | uh? | ||
because you have 8 numbers? | |||
masak | it should iterate over all the elements of @a, yes? | ||
only at the start. | |||
TimToady | not by the time you get to the second 4 | ||
masak | I just don't see how the above could happen if @a wasn't cloned. | 18:12 | |
ruoso | ah... | ||
ok... | |||
I see now | |||
mncharity | TimToady: yeah. problem is, it looks like it's turning an invalid parse tree into a valid ast. :/ Specifically, 3.a.b is misparsed as 3.b.a. | ||
ruoso | then rakudo is doing the wrong thing here | ||
masak submittes rakudobug | |||
TimToady | then you're probably misreading the order of POST | ||
ruoso | masak, the problem is probably related to the fact of reaching the end of the Range object | 18:13 | |
mncharity | There does not appear to be a POST in the original STD tree. If I take viv, comment out Actions, and dump, I don't see a POST. | ||
masak | ruoso: ok. | ||
ruoso | masak, but it might be result of clonning | ||
rakudo: my @a = 1..8; say @a.WHERE | 18:14 | ||
p6eval | rakudo 32819: OUTPUT[-1235385216] | ||
mncharity | I'm thus inferring POST is created by VASTification. | ||
ruoso | rakudo: my @a = 1..8; say @a.WHERE; for @a -> $elem { say @a.WHERE; if $elem % 2 == 0 { @a.push($elem / 2) } }; say @a.WHERE | ||
p6eval | rakudo 32819: OUTPUT[-1239810844-1239810844-1239810844-1239810844-1239810844-1239810844-1239810844-1239810844-1239810844-1239810844] | ||
ruoso | it doesn't seem to be clonning | ||
(unless .WHERE is wrong) | |||
TimToady | mncharity: the important thing is what reductions happen when, and there's a POST reduction in there. the parse tree merely propagates the ast upward | ||
masak | ruoso: I meant that the for loop might be cloning it internally before iterating. | 18:15 | |
ruoso | masak, oh right... sure... | ||
moritz_ | ruoso: evalbot's copy of the pugs repo was out of date (a conflict) | ||
lambdabot | moritz_: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
ruoso | moritz_, were you able to fix it already? | 18:16 | |
masak | moritz_++ # fixing the bot Pugs output | ||
moritz_ | I've up'ped it right now | ||
ruoso | cool | ||
mildew: class Foo { } | |||
p6eval | mildew: OUTPUT[mkdir lex: Permission denied at ../../src/perl6/Cursor.pm line 517] | ||
ruoso | oops | ||
mncharity | hmm. my fuzzy recollection is I've been here before. something like there are two spines in the STD, one valid, one not. I'm walking the second, viv the first. Did that ever get fixed? I may just be in the same whole again. | ||
pmichaud | masak: the iterator gets created at the start of the for loop. I think it snapshots the elements to be iterated at that point. | 18:17 | |
masak | pmichaud: that was what I meant. | ||
mncharity | irclog.perlgeek.de/perl6/2008-10-15#i_623509 | ||
:( | 18:18 | ||
lambdabot | Title: IRC log for #perl6, 2008-10-15 | ||
pmichaud | I don't think it "clones the array", though. | ||
masak | ok. | ||
just the elements to be iterated. | |||
pmichaud | it simply creates a "list" of elements to be iterated over, yes. | ||
but those elements are the same objects as in the original array. | |||
ruoso | pmichaud, but that's still a bug... right? | ||
pmichaud | ruoso: why would it be a bug? | ||
ruoso | because @a is mutable | 18:19 | |
masak | pmichaud: because it iterates over an old version of @a | ||
pmichaud | it does? | ||
masak | not @a itself | ||
pmichaud | I've asked this question on p6l before -- it's not clear to me that modifying an array inside of a loop causes the iteration to change. | ||
Did I miss something? | |||
masak | pmichaud: I remember your question, but not the answer. | 18:20 | |
will have to go back to check. | |||
ruoso | I was presuming the p5 behavior would be preserved | ||
since @a is mutable | |||
pmichaud | just because @a is mutable doesn't mean the iterator is also. | ||
(or what the iterator chooses to iterate) | |||
ruoso | I can see the point in both ways.. | 18:21 | |
it's a matter of spec | |||
TimToady just need to say how it is | |||
;) | |||
I'd argue to preserve p5 behavior | |||
pmichaud | in particular, consider for @a, @b -> $elem { if $elem % 2 == 0 { @a.push($elem / 2) } } | ||
[particle] | how does pugs do it? | ||
avar | a /w 5 | 18:22 | |
pmichaud | [particle]: I think we concluded in the previous discussion that pugs' current behavior was broken | ||
at least for various examples I threw at it. | |||
[particle] | pmichaud: that's what i recall | ||
masak | pmichaud: what's especially troublesome about your example? | ||
TimToady | mncharity: the viv POST node is just a list, and it looks like it does .a.b in that order to me | ||
18:22
rdice joined
|
|||
pmichaud | masak: do we have to exhaust @a before we begin @b ? | 18:22 | |
masak | yes. | ||
that's the idea. | 18:23 | ||
ruoso | pmichaud, the point is: is @a, @b eagerly evaluated? | ||
pmichaud | I'm not sure that's consistent with .... what ruoso said. | ||
masak | :) | ||
ruoso | if @a,@b is not eager, then the iteration sees the new elements in @a | ||
mncharity | TimToady: POST is correct. But it is created by Actions, and is not part of the original STD tree. And the STD tree does still have the bug that | 18:24 | |
masak | pmichaud: thing is, I'm expecting Perl 6 to act on the latest available information. snappshotting @a at the beginning seems like doing less than what can be done for the user. | ||
mncharity | given the STD graph for 3.a.b , if you walk the 'arg' spine, you get ((3 .a) .b), but if you walk the 'dotty' spine you get ((3 .b) .a). Ie, | ||
18:24
fronty left
|
|||
pmichaud | masak: if we were iterating over a hash, would you expect modifications to the hash to show up in the loop? | 18:25 | |
(as in "new entries") | |||
masak | (OTOH, it neatly avoids questions like "what elements are removed from the array?") | ||
pmichaud: I don't know. I'm aware that it's a tricky question. | |||
ruoso | I think as Hash is unordered, it might show up, yes... | 18:26 | |
the question is whether the Hash can return its keys as a lazy array... | |||
pmichaud | Hash's iterate via their .iterator method. | 18:27 | |
.keys, .kv, etc are all defined in terms of .iterator | |||
ruoso | right... the issue remains | ||
the question is whether hash iterator can be lazy or not | |||
mncharity | 3.aa.bb => {arg: {arg: 3, dotty: bb }, dotty: aa} | 18:28 | |
so I'm wrong. it simply looks like an incorrect STD tree, which Actions later fixes. | |||
ruoso | pmichaud, my point is that "for" should not do any clonning, it should just get the iterator and use... | 18:29 | |
TimToady | there is no "dotty" spine because you're looking at the results of the opp | ||
masak | found it: groups.google.com/group/perl.perl6....b58dd6f031 | 18:30 | |
lambdabot | Title: Iterator semantics - perl.perl6.language | Google Groups, tinyurl.com/65lvcw | ||
TimToady | if there are extra links around in there it's just because the opp is being sloppy | ||
ruoso | additionally, iterators should be lazy to the point of accepting if the value is mutable... | ||
mncharity | yes, my spine comment today was wrong. | ||
pmichaud | original thread on lazy iterators was groups.google.com/group/perl.perl6....780253ca37 | 18:31 | |
lambdabot | Title: Iterator semantics - perl.perl6.language | Google Groups, tinyurl.com/69hjwo | ||
ruoso | ok... I think we need clarification from TimToady... | 18:33 | |
TimToady | it's certainly possible that the parse tree is misleading in terms of order of evaluation | ||
and arguably the POST list is a bad way to represent the ast | 18:34 | ||
mncharity | TimToady: however, looking at Data::Dumper of viv's STD with Actions commented out, seems to show a misnesting of method calls. | ||
ruoso | when you get the iterator of a list, does it point to that list as a snapshot? does it point to the list as the mutable value? or is it modifying the input array of an iterator undetermined? | ||
pmichaud, but how does snapshotting the list doesn't cause eager evaluation of that list? | 18:35 | ||
mncharity | TimToady: POST is fine by me. I'm not using VAST at the moment, so I never see it. :) Problem is the STD tree, without Actions, doesn't have POST, but does have misnested method calls. | 18:36 | |
18:36
smg joined
|
|||
pmichaud | ruoso: I think TimToady has already said that any dependence on the degree of laziness is erroneous. | 18:37 | |
I would presume that also means "no laziness". :-) | |||
mncharity | I suspect I can kludge around it, as long as the misnesting is consistent. | ||
pmichaud | (that may be an inaccurate assumption, though.) | ||
(I may be misreading the context of TimToady's comments, as well.) | |||
ruoso | well... I think TimToady is just trying hard to avoid the question ;) | 18:38 | |
and letting us fight to the death to find the most accurate answer | |||
TimToady makes a noise like a turnip | |||
pmichaud | Fair enough. However, if we assume that both @a and @b are finite lists, I think we can say that @a, @b is allowed to eagerly evaluate. | 18:39 | |
ruoso | pmichaud, I'd consider that only in list assignment | ||
not in "for" or "grep" | |||
pmichaud | and if we then iterate over that (i.e., =(@a, @b) ) then it's allowed to be eagerly evaluated. | ||
otherwise we're violating the "principal" that any degree of laziness is acceptable. | 18:40 | ||
ruoso | it's allowed | ||
as it's allowed to be lazy | |||
pmichaud | if it's allowed to be either eager or lazy, then that means that relying on specific eager or lazy semantics is erroneous. | 18:41 | |
TimToady | the principle of indeterminate laziness may apply more to the next N values than to finding the end of the list though | ||
ruoso | right... | ||
pmichaud | I have to meet in #parrotsketch -- bbl | ||
ruoso | TimToady, that meaning exactly what in: my @c := (@a, @b); @a.push(2); | 18:43 | |
TimToady | troo | 18:44 | |
biab & | 18:45 | ||
ruoso is really worried about the fact that so many things depend on iterator behavior/api and we still don't have much specs for it... | 18:48 | ||
18:48
Exodist left
18:49
Exodist joined
|
|||
mncharity | TimToady: wrap-up: If viv actions are disabled, the STD resulting from 3.a.b is incorrectly nested (3.b.a). Enabling actions, thus creating a VAST rather than a parse tree, creates a correctly ordered POST array. postops are also affected. eg, 3[]++ . I can kludge around it, so while a bit ugly, it's not a blocker for elf. | 18:51 | |
Thanks for your help. | |||
masak | ruoso: what do you propose we do about it? | 18:52 | |
ruoso | masak, I think it's mostly a language design issue now... it might be one way or another, it's sane in any way... it's just a matter of someone saying how it is... | 18:53 | |
masak | ruoso: make a proposal, then. | ||
ruoso | masak, www.perlfoundation.org/perl6/index....p_operator | 18:54 | |
lambdabot | Title: SMOP map operator / Perl 6 | ||
masak | ruoso: ah, cool. | 18:55 | |
18:58
mberends joined
|
|||
pugs_svn | r23039 | putter++ | [STD_blue] Continued adaptation to current STD.pm/gimme5. | 19:00 | |
r23039 | putter++ | A minor commit: +escape rule; +Makefile dev targets. | |||
mncharity goes to emulate a... well, not a turnip... maybe baklava. | 19:03 | ||
Thanks again TimToady. | |||
yay mildew. | |||
that just doesn't sound right. ;) | |||
19:04
mncharity left
19:23
stephenos is now known as fluorescent
19:24
fluorescent is now known as fluorescent`yes
19:29
kisu left
19:30
kisu joined
19:34
alc left
19:43
Bzek left
|
|||
meppl | good night | 20:05 | |
20:06
kisu_ joined
20:07
meppl left
|
|||
rakudo_svn | r32824 | pmichaud++ | [rakudo]: Use get_namespace opcode instead of interpinfo for $?PACKAGE. | 20:10 | |
20:10
kisu left,
PZt left
20:14
jjore left
20:15
jjore joined
20:19
ZuLuuuuuu joined
|
|||
pugs_svn | r23040 | bacek++ | [spec] Unfudge 2 more tests for rakudo | 20:20 | |
20:27
PZt joined
20:34
kisu_ left
|
|||
pugs_svn | r23041 | lwall++ | [STD] fix ordering of pre/postfix for mncharity++ | 20:39 | |
20:41
masak left
20:43
kisu joined
20:47
rindolf joined,
schmalbe left,
schmalbe joined
20:50
kisu left
20:51
kisu joined
20:52
schmalbe left
20:55
IRSeekBot joined
21:06
ruoso left
21:09
rindolf left
21:14
jfredett joined
21:15
REPLeffect left
21:23
apeiron left
21:29
apeiron joined
21:36
rdice left
21:40
pbuetow left,
adc_penner2 joined
21:50
sri_kraih_ left
21:54
sri_kraih joined,
bacek__ left
21:55
adc_penner left
22:00
apeiron_ joined
22:01
apeiron left,
apeiron_ is now known as apeiron
22:05
bacek__ joined
22:08
ryanc joined
22:13
adc_penner2 left,
apeiron left
22:19
mst joined
|
|||
pasteling | "mst" at 85.92.178.104 pasted "gimme5 output go boom (utf8 error)" (7 lines, 217B) at sial.org/pbot/33263 | 22:20 | |
mst | anybody got any ideas where I should start digging? | ||
moritz_ | mst: what's your locale? | 22:21 | |
mst | LANG=en_GB.utf8 | ||
LINGUAS=en | 22:22 | ||
no other related env vars set that I can spot | |||
moritz_ | that seems fine | ||
why the hell does YAML::XS complain at compile time? | |||
mst | the 5.10 perl is a fresh one | 22:23 | |
STD.pm5 loads stuff in BEGIN blocks | |||
moritz_ | did you try a 'rm -rf lex/' first? | ||
a poisend lex cache might explain it - might | 22:24 | ||
22:25
itz_ joined
|
|||
itz_ | stupid question .. how do I run the pugs test suite? | 22:25 | |
moritz_ | itz_: with which compiler? | ||
itz_ | pugs itself | ||
moritz_ | `make test' | 22:26 | |
itz_ | I think the makefile is broken (?) I didnt use it to build pugs | ||
perl Makefile.PL errors | 22:27 | ||
moritz_ | worked here last time I tried | ||
now it says it can't install the cabal HTTP library, and that I should do it manually | 22:28 | ||
itz_ | the install instructions now don't seem to use the makefile but rather cabal | 22:30 | |
rafl | mst: didn't you mean to run STD.pmc instead of STD.pm5? | 22:31 | |
22:32
jfredett left
|
|||
rafl | mst: check the makefile. it postprocesses the yaml parts of .pm5 to generate .pmc | 22:32 | |
moritz_ | itz_: once you've installed Cabal and the HTTP package 'perl Makefile.PL' should work (I think) | 22:34 | |
anyway, gotta go to bed know | |||
s/know/now/ | |||
have the appropriate amount of fun! | |||
rafl | mst: oh, it doesn't. nevermind. | 22:35 | |
itz_ | I think Makefile.PL is broken | ||
22:38
zamolxes joined,
meppl joined
|
|||
mst | rafl: they appear to be the same file | 22:38 | |
er, no, pmc and pm5 are different sizes | 22:39 | ||
but the error is identical | |||
22:45
bacek__ left,
bacek__ joined
22:52
apeiron joined
|
|||
pugs_svn | r23042 | lwall++ | [STD] whoops, managed to screw up previous patch | 23:09 | |
23:17
ZuLuuuuuu left
|
|||
TimToady | mst: I'm not sure .utf8 is valid, you might need LANG=en_GB.UTF-8 | 23:18 | |
mst alters env var and retries | 23:19 | ||
TimToady: oh, do you use 5.10 regex features or really just state+say ? | |||
23:19
jjore left
|
|||
mst | damn. changing LANG gives me the same error | 23:20 | |
23:20
jjore_ joined
|
|||
TimToady | did you ever remove lex/ like moritz++ suggested? | 23:21 | |
23:21
jjore_ is now known as jjore
|
|||
mst | yes | 23:21 | |
TimToady | how big is your STD.pm5? | ||
mst | 2859735 | 23:22 | |
pugs_svn | r23043 | lwall++ | [STD] and of course, since I reversed things, the prec test is backwards... | 23:23 | |
mst | actually, the Makefile rm -rf's lex anyway | ||
TimToady | just state+say | 23:24 | |
I can't really use much of p5 regex because it's not reentrant | |||
and doesn't really support embedded closures | |||
mst | huh | ||
if I carve that chunk of YAML out of STD.pmc | 23:25 | ||
it works | |||
23:25
Limbic_Region joined
|
|||
mst | as in, the YAML loads | 23:25 | |
TimToady | what kind of machine are you running on? | 23:26 | |
mst | adding 'use utf8' to the snippet makes it fail again | ||
interesting | |||
TimToady: x86, i686 debian 4 | |||
hmm | 23:27 | ||
TimToady | maybe it is getting messed up by which perl is used in Makefile | 23:29 | |
when you just say "perl" which version do you get? | 23:30 | ||
mst | I get my system 5.8, which doesn't even have YAML::XS installed | ||
but the Makefile hardcodes /usr/local/bin/perl | 23:31 | ||
which doesn't even exist on my system | |||
so I've modified that to use the 5.10 | |||
TimToady | if you say "grep '\«' STD.pm5 | 23:33 | |
" | |||
does it show french quotes on the screen or extra  thingies? | 23:34 | ||
mst | I get text: « a lot | ||
TimToady | and your screen is set to utf8, so that seems okay | 23:35 | |
do you have any kind of weird PERLLIB search order set? | |||
mst | I already unset that. | 23:36 | |
TimToady | does perl -V report only 5.10 INC directories? | 23:37 | |
mst | yes | 23:38 | |
TimToady | more generally, does "locate YAML/XS" find anything not under a 5.10 directory? | 23:39 | |
mst | and the dev server is definitely plugged in :) | ||
no, said locate doesn't | |||
TimToady | another thing to try is LANG=en_US.UTF-8 | 23:40 | |
maybe the locale is screwed up somehow... | |||
I'm not familiar with debian versions; how modern is that one? | 23:41 | ||
mst | current stable | ||
not that old anyway | |||
TimToady | maybe the GB locale hates frog quotes :) | 23:42 | |
mst | en_US gives same error | ||
TimToady | you are really a problem child... | 23:43 | |
23:44
jjore left
|
|||
TimToady | do you use vim or emacs? | 23:44 | |
or "other"? | |||
mst | I use ex-vi a fair bit of the time | ||
23:44
jjore joined
|
|||
mst | I suspect this system will have vim and emacs on it | 23:44 | |
I'm happy enough to follow instructions in either | |||
TimToady | vim will tell you what it thinks the file encoding is if you say :set | 23:45 | |
my STD.pm5 says fileencoding=utf-8 | |||
mst | same here | ||
23:46
jjore left
|
|||
TimToady | well, maybe your YAML::XS is busted somehow... | 23:46 | |
23:47
jjore joined
|
|||
mst | it's a fresh install on a fresh perl | 23:47 | |
hmm | |||
23:47
DemoPhreak joined
|
|||
mst installs YAML::XS against the 5.8.7 on an ubuntu 6.06 server | 23:48 | ||
TimToady | or, since it uses libyaml, maybe that's got a mismatch | ||
mst | I'm pretty sure I don't have a system libyaml, only the bundled one | ||
TimToady | does perldoc pick up the 5.10 version | ||
? | |||
or the 5.8 version? | 23:49 | ||
mst | err | 23:50 | |
TimToady | might need to install YAML::XS against 5.10 | ||
mst | I did! | ||
there is no other YAML::XS on here | |||
TimToady | hmm | ||
mst | the system perldoc picks up no version at all | ||
because there is no 5.8 version on this system | |||
because I didn't install it against 5.8, because that would have made debugging harder | |||
I already ran a locate to confirm this, at your request | |||
the perldoc in /usr/local/perl5.10/bin picks up the 5.10 version at your request, of course | 23:51 | ||
heh | |||
and on a separate system, with a separate perl and YAML::XS, same error | |||
TimToady: any chance you could hand me STD.pm5 and .pmc built from an untouched checkout on your system so I can compare? | 23:52 | ||
TimToady | ldd /usr/local/lib/perl5/site_perl/5.10.0/i686-linux/auto/YAML/XS/LibYAML/LibYAML.so linux-gate.so.1 => (0xb7f55000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7dd7000) /lib/ld-linux.so.2 (0xb7f56000) | ||
are you svn upped? | |||
mst | yep | ||
I've been up-ing every time I see a commit go past, just in case | |||
ldd results here are identical except for the memory addresses | 23:53 | ||
TimToady | sec, gotto copy to a public_html | 23:54 | |
*gotta | |||
wall.org/~larry/STD.pm? | 23:55 | ||
not sure how fast my upstream is right now though... | 23:56 | ||
bleh, just realized I'm drinking cold coffee that was left in my mug from yesterday... | |||
mst | if you have to ship me another copy I'll be asking for it to be gzipped | ||
but it's really not -that- bad | 23:57 | ||
heh, I quite enjoy cold coffee provided it's filter | |||
23:58
rhr left
|