Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-11-18

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:11 bacek_ joined #perl6
00:49 meppl good night
01:21 ZuLuuuuuu left #perl6
01:22 nacho joined #perl6
01:30 rakudo_svn r32785 | pmichaud++ | [rakudo]: spectest-progress.csv update: 220 files, 4506 passing, 41 failing
01:30 rakudo_svn r32785 | pmichaud++ | Failure summary:
01:30 rakudo_svn r32785 | pmichaud++ |     S03-operators/increment.rakudo aborted 41 test(s)
01:38 hercynium joined #perl6
01:38 hercynium_ joined #perl6
01:43 dukeleto joined #perl6
01:53 wayland76 @tell masak re: trans; Cool, thanks :)
01:53 lambdabot Consider it noted.
01:55 wayland76 perl6:  say "yo-yo".subst(/o/, 0, :g)
01:55 p6eval pugs: No output (you need to produce output to STDOUT)
01:55 p6eval ..rakudo 32785: OUTPUT[y0-yo␤]
01:55 p6eval ..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 #perl6
02:01 japhb joined #perl6
02:28 bacek__ joined #perl6
03:19 buu /w/ 12
03:20 rakudo_svn r32791 | pmichaud++ | [rakudo]:  Let BigInt properly map .WHAT/.HOW .
03:23 wayland76 @tell azawawi https://trac.parrot.org/parrot/wiki/ParrotRoadmap
03:23 lambdabot Consider it noted.
03:23 wayland76 buu: ???
03:23 buu Typo.
03:25 bacek_ joined #perl6
03:26 wayland76 (You get that :) )
03:30 rakudo_svn r32793 | particle++ | [CAGE] fix pod errors
03:30 Patterner1 joined #perl6
03:33 alester_ joined #perl6
03:41 alester__ joined #perl6
03:48 xuser joined #perl6
03:58 kisu joined #perl6
04:01 hercynium_ joined #perl6
04:01 elmex joined #perl6
04:16 justatheory joined #perl6
04:21 kisu joined #perl6
04:35 hercynium_ joined #perl6
04:43 alc joined #perl6
04:45 bacek__ joined #perl6
05:12 penk joined #perl6
05:21 stephenos joined #perl6
05:34 azawawi joined #perl6
05:34 azawawi good morning
05:34 lambdabot azawawi: You have 3 new messages. '/msg lambdabot @messages' to read them.
05:34 azawawi @messages
05:34 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
05:34 lambdabot put there.
05:34 lambdabot 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
05:34 lambdabot wayland76 said 2h 11m 32s ago: https://trac.parrot.org/parrot/wiki/ParrotRoadmap
05:35 azawawi moritz_: ping
05:37 azawawi @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 #perl6
05:50 rakudo_svn r32796 | pmichaud++ | [rakudo]:  Update ROADMAP with completion percentages and new estimates.
05:54 mberends joined #perl6
06:10 kisu_ joined #perl6
06:37 dukeleto joined #perl6
06:44 DemoFreak joined #perl6
06:45 Bzek joined #perl6
06:46 ashizawa joined #perl6
07:11 bacek_ joined #perl6
07:40 iblechbot joined #perl6
07:43 apeiron joined #perl6
07:50 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 #perl6
08:00 pbuetow joined #perl6
08:05 mberends joined #perl6
08:21 smg joined #perl6
08:22 sri_kraih joined #perl6
08:58 ejs joined #perl6
09:29 schmalbe joined #perl6
09:53 kisu_ joined #perl6
10:03 xinming_ joined #perl6
10:16 pugs_svn r23033 | pmurias++ | [mildew] replaced AST::MetaCall with AST::Let
10:17 pmurias joined #perl6
10:19 tomyan joined #perl6
10:42 macae joined #perl6
10:58 smg joined #perl6
10:59 pmurias joined #perl6
11:01 elmex joined #perl6
11:06 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:07 ruoso pmurias, hi
11:07 pmurias ruoso: hi
11:07 ruoso pmurias, I'm writting the FETCH interception code right now
11:07 ruoso I'm adding $p6opaque.^!is_container
11:07 ruoso which holds a bool
11:07 ruoso and the metaclass should change
11:08 ruoso in the case the class implements a FETCH method
11:08 ruoso or submethod, actually
11:08 pmurias shouldn't it be something like .^!default_FETCH?
11:09 ruoso well.. maybe...
11:09 ruoso I thought in the sense that FETCH being something that is only implemented by containers
11:09 ruoso otherwise it's ___VALUE_FETCH___
11:12 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:13 ruoso yeah... but I think it describes better what is the actual effect, instead of the technical detail of how it does it
11:21 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:25 tomyan joined #perl6
11:30 pugs_svn r23035 | ruoso++ | [mildew] we can already dispatch without the FETCH circularity
11:34 pugs_svn 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:47 Lorn joined #perl6
11:54 meppl joined #perl6
11:56 penk left #perl6
12:21 ruoso hmmm...
12:21 ruoso for some time I understood that capture delay the context to be applied
12:22 ruoso but that is not always true, right?
12:22 ruoso foo($bar) will always have $bar in item context
12:22 ruoso it's not the signature of $bar that turns it into an item
12:23 ruoso but the fact that it's used with the '$' sigil
12:26 kisu__ joined #perl6
12:29 ruoso and with that realization, classhow_add_method_real now works !
12:31 kisu joined #perl6
12:36 Jedai joined #perl6
12:36 ruoso hmpf... the solution is correct, but the implementation is wrong...
12:37 ruoso it's not on the VAST::variable that I should put the FETCH
12:37 ruoso because sometimes the VAST::variable is used to call a STORE
12:37 ruoso I think it's something related to the capture
12:38 ruoso 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:39 ruoso hmm..
12:39 ruoso but that's confusing
12:39 ruoso no... it's not
12:39 ruoso heh...
12:40 ruoso it does make sense
12:43 sri_kraih_ joined #perl6
12:43 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.
12:43 ruoso hmmm...
12:43 ruoso wait...
12:43 ruoso that is wrong...
12:44 ruoso because if it does that, :($foo is ref) won't work
12:45 ruoso @tell pmurias forget what I've just said
12:45 lambdabot Consider it noted.
12:46 ruoso that means the low-level method implementations need to implement their signatures correctly
12:49 apeiron joined #perl6
13:05 * ruoso just finds out that recursing a SMOP callback from C using the C stack is something very hard to do...
13:06 ruoso it's easier to write m0ld that calls the C parts of the code independently...
13:23 apeiron joined #perl6
13:27 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 pugs_svn 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:( )
13:27 ruoso and now we have classhow_add_method_real.t working for real
13:27 ruoso YAY!
13:29 ruoso 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.␤]
13:29 ruoso pfts
13:29 BinGOs joined #perl6
13:32 pugs_svn r23038 | ruoso++ | [mildew] t/classhow_add_method_real.t now also shows that we know how to handle outer variables...
13:34 ruoso http://svn.pugscode.org/pugs/v6/mildew/t/classhow_add_method_real.t
13:34 lambdabot http://tinyurl.com/6k8ols
13:34 ruoso the above code already runs in STD + mildew + smop
13:40 * ruoso later &
13:45 rindolf joined #perl6
14:00 masak joined #perl6
14:01 tomyan joined #perl6
14:02 iblechbot joined #perl6
14:10 tomyan1 joined #perl6
14:11 fronty joined #perl6
14:15 ejs joined #perl6
14:17 Jedai joined #perl6
14:20 rakudo_svn r32815 | pmichaud++ | [rakudo]: spectest-progress.csv update, 220 files, 4567 passing, 41 failing
14:20 rakudo_svn r32815 | pmichaud++ | Failure summary:
14:20 rakudo_svn r32815 | pmichaud++ |     S03-operators/increment.rakudo aborted 41 test(s)
14:37 ejs joined #perl6
14:58 jhorwitz joined #perl6
15:21 cognominal joined #perl6
15:24 Khisanth joined #perl6
15:43 spx2 joined #perl6
15:51 adc_penner joined #perl6
16:08 mj41 joined #perl6
16:16 dukeleto joined #perl6
16:18 mj41 joined #perl6
16:23 Oolk joined #perl6
16:28 Khisanth joined #perl6
16:29 stephenos joined #perl6
16:44 Exodist joined #perl6
16:49 kisu_ joined #perl6
16:49 Oolk joined #perl6
16:49 justatheory joined #perl6
16:49 mncharity joined #perl6
17:02 mncharity Ooooo.  audreyt back?!
17:05 mncharity ghc 6.10 support at least.  yay.
17:24 masak joined #perl6
17:26 jan_ joined #perl6
17:27 ruoso joined #perl6
17:29 rhr joined #perl6
17:34 mncharity TimToady: ping?
17:35 pbuetow joined #perl6
17:35 * TimToady makes a noise like a stealth sub
17:36 mncharity :)
17:36 TimToady you got a kvetchin, er, a question?
17:40 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:42 * ruoso proudly points TimToady at the classhow_add_method_real.t test at the mildew repo...
17:43 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 TimToady ->item rather
17:43 TimToady Cursor keeps the scalar value of the match in the '' key
17:43 TimToady in real Perl 6 this would just be $($/)
17:44 TimToady or $() for short
17:44 TimToady ruoso: cool
17:45 ruoso TimToady, and the "class Foo" keyword already depends on the ClassHOW being defined
17:45 ruoso if you define "class Foo" without having "ClassHOW" defined, it will simply say:
17:45 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.
17:45 ruoso mildew: class Foo { };
17:45 p6eval mildew: OUTPUT[Malformed fate at ../../src/perl6/Cursor.pm line 905.␤]
17:45 ruoso gah...
17:45 ruoso not that
17:46 ruoso it will say that it can't find &ClassHOW in the lexical scope
17:46 mncharity :)
17:47 ruoso moritz_, I think there needs to be a rm -rf lex somewhere in the mildew evalbot
17:49 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 ;)
17:50 TimToady rm -rf / surely...
17:50 ruoso TimToady, have you ever seen any --desugar output from mildew?
17:50 TimToady nope
17:51 TimToady I try to avoid getting familiar with the internals of any implementation because I can't afford to specialize
17:52 pasteling "ruoso" at 201.45.49.162 pasted "perl mildew --file t/classhow_add_method_real.t --desugar" (86 lines, 4.6K) at http://sial.org/pbot/33262
17:52 [particle] how's that ivory tower, timtoady?
17:52 ruoso it's almost Perl 6 code ;)
17:53 TimToady new ivory is hard to come by
17:54 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:57 TimToady looks compliqué :)
18:02 kisu_ joined #perl6
18:02 Aisling joined #perl6
18:04 hercynium joined #perl6
18:06 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.
18:06 masak wayland76: np.
18:07 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 schmalbe joined #perl6
18:07 ruoso masak, @a is never cloned in for @a, afaik
18:08 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 masak ruoso: then Rakudo is doing The Wrong Thing Here.
18:08 masak s/Here/here/
18:09 ruoso masak, you don't need .kv there
18:09 ruoso .kv is generating a new list
18:09 masak oops. fixing.
18:09 masak rakudo: my @a = 1..8; for @a -> $elem { if $elem % 2 == 0 { @a.push($elem / 2) } }; say @a.perl
18:09 p6eval rakudo 32819: OUTPUT[[1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4]␤]
18:09 masak same thing.
18:09 TimToady mncharity: actions are how we turn a parse tree into an ast
18:10 ruoso masak, it is diong the right thing, and it's not clonning the array
18:11 masak if it's not cloning the array, how come the result doesn't end with ', 1, 2'?
18:11 ruoso uh?
18:11 masak it should iterate over all the elements of @a, yes?
18:11 ruoso because you have 8 numbers?
18:11 masak only at the start.
18:11 TimToady not by the time you get to the second 4
18:12 masak I just don't see how the above could happen if @a wasn't cloned.
18:12 ruoso ah...
18:12 ruoso ok...
18:12 ruoso I see now
18:12 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.
18:12 ruoso then rakudo is doing the wrong thing here
18:12 * masak submittes rakudobug
18:12 TimToady then you're probably misreading the order of POST
18:13 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.
18:13 masak ruoso: ok.
18:13 ruoso masak, but it might be result of clonning
18:14 ruoso rakudo: my @a = 1..8; say @a.WHERE
18:14 p6eval rakudo 32819: OUTPUT[-1235385216␤]
18:14 mncharity I'm thus inferring POST is created by VASTification.
18:14 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
18:14 p6eval rakudo 32819: OUTPUT[-1239810844␤-1239810844␤-1239810844␤-1239810844␤-1239810844␤-1239810844␤-1239810844␤-1239810844␤-1239810844␤-1239810844␤]
18:14 ruoso it doesn't seem to be clonning
18:14 ruoso (unless .WHERE is wrong)
18:14 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
18:15 masak ruoso: I meant that the for loop might be cloning it internally before iterating.
18:15 ruoso masak, oh right... sure...
18:15 moritz_ ruoso: evalbot's copy of the pugs repo was out of date (a conflict)
18:15 lambdabot moritz_: You have 1 new message. '/msg lambdabot @messages' to read it.
18:16 ruoso moritz_, were you able to fix it already?
18:16 masak moritz_++ # fixing the bot Pugs output
18:16 moritz_ I've up'ped it right now
18:16 ruoso cool
18:16 ruoso mildew: class Foo { }
18:16 p6eval mildew: OUTPUT[mkdir lex: Permission denied at ../../src/perl6/Cursor.pm line 517␤]
18:16 ruoso oops
18:16 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.
18:17 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.
18:17 mncharity http://irclog.perlgeek.de/perl6/2008-10-15#i_623509
18:18 mncharity :(
18:18 lambdabot Title: IRC log for #perl6, 2008-10-15
18:18 pmichaud I don't think it "clones the array", though.
18:18 masak ok.
18:18 masak just the elements to be iterated.
18:18 pmichaud it simply creates a "list" of elements to be iterated over, yes.
18:18 pmichaud but those elements are the same objects as in the original array.
18:18 ruoso pmichaud, but that's still a bug... right?
18:18 pmichaud ruoso: why would it be a bug?
18:19 ruoso because @a is mutable
18:19 masak pmichaud: because it iterates over an old version of @a
18:19 pmichaud it does?
18:19 masak not @a itself
18:19 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.
18:19 pmichaud Did I miss something?
18:20 masak pmichaud: I remember your question, but not the answer.
18:20 masak will have to go back to check.
18:20 ruoso I was presuming the p5 behavior would be preserved
18:20 ruoso since @a is mutable
18:20 pmichaud just because @a is mutable doesn't mean the iterator is also.
18:20 pmichaud (or what the iterator chooses to iterate)
18:21 ruoso I can see the point in both ways..
18:21 ruoso it's a matter of spec
18:21 ruoso TimToady just need to say how it is
18:21 ruoso ;)
18:21 ruoso I'd argue to preserve p5 behavior
18:21 pmichaud in particular, consider    for @a, @b -> $elem { if $elem % 2 == 0 { @a.push($elem / 2) } }
18:21 [particle] how does pugs do it?
18:22 avar a /w 5
18:22 pmichaud [particle]: I think we concluded in the previous discussion that pugs' current behavior was broken
18:22 pmichaud at least for various examples I threw at it.
18:22 [particle] pmichaud: that's what i recall
18:22 masak pmichaud: what's especially troublesome about your example?
18:22 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 #perl6
18:22 pmichaud masak: do we have to exhaust @a before we begin @b ?
18:22 masak yes.
18:23 masak that's the idea.
18:23 ruoso pmichaud, the point is: is @a, @b eagerly evaluated?
18:23 pmichaud I'm not sure that's consistent with .... what ruoso said.
18:23 masak :)
18:23 ruoso if @a,@b is not eager, then the iteration sees the new elements in @a
18:24 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.
18:24 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:25 pmichaud masak:  if we were iterating over a hash, would you expect modifications to the hash to show up in the loop?
18:25 pmichaud (as in "new entries")
18:25 masak (OTOH, it neatly avoids questions like "what elements are removed from the array?")
18:25 masak pmichaud: I don't know. I'm aware that it's a tricky question.
18:26 ruoso I think as Hash is unordered, it might show up, yes...
18:26 ruoso the question is whether the Hash can return its keys as a lazy array...
18:27 pmichaud Hash's iterate via their .iterator method.
18:27 pmichaud .keys, .kv, etc are all defined in terms of .iterator
18:27 ruoso right... the issue remains
18:27 ruoso the question is whether hash iterator can be lazy or not
18:28 mncharity 3.aa.bb => {arg: {arg: 3, dotty: bb }, dotty: aa}
18:28 mncharity so I'm wrong.  it simply looks like an incorrect STD tree, which Actions later fixes.
18:29 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
18:30 masak found it: http://groups.google.com/group/perl.perl6.language/browse_thread/thread/0bf353b58dd6f031
18:30 lambdabot Title: Iterator semantics - perl.perl6.language | Google Groups, http://tinyurl.com/65lvcw
18:30 TimToady if there are extra links around in there it's just because the opp is being sloppy
18:30 ruoso additionally, iterators should be lazy to the point of accepting if the value is mutable...
18:30 mncharity yes, my spine comment today was wrong.
18:31 pmichaud original thread on lazy iterators was http://groups.google.com/group/perl.perl6.language/msg/c1153e780253ca37
18:31 lambdabot Title: Iterator semantics - perl.perl6.language | Google Groups, http://tinyurl.com/69hjwo
18:33 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
18:34 TimToady 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.
18:34 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?
18:35 ruoso pmichaud, but how does snapshotting the list doesn't cause eager evaluation of that list?
18:36 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 smg joined #perl6
18:37 pmichaud ruoso: I think TimToady has already said that any dependence on the degree of laziness is erroneous.
18:37 pmichaud I would presume that also means "no laziness".  :-)
18:37 pmichaud (that may be an inaccurate assumption, though.)
18:37 mncharity I suspect I can kludge around it, as long as the misnesting is consistent.
18:37 pmichaud (I may be misreading the context of TimToady's comments, as well.)
18:38 ruoso well... I think TimToady is just trying hard to avoid the question ;)
18:38 ruoso and letting us fight to the death to find the most accurate answer
18:38 * TimToady makes a noise like a turnip
18:39 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
18:39 ruoso not in "for" or "grep"
18:39 pmichaud and if we then iterate over that   (i.e.,    =(@a, @b) )   then it's allowed to be eagerly evaluated.
18:40 pmichaud otherwise we're violating the "principal" that any degree of laziness is acceptable.
18:40 ruoso it's allowed
18:40 ruoso as it's allowed to be lazy
18:41 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
18:41 ruoso right...
18:41 pmichaud I have to meet in #parrotsketch -- bbl
18:43 ruoso TimToady, that meaning exactly what in: my @c := (@a, @b); @a.push(2);
18:44 TimToady troo
18:45 TimToady biab &
18:48 * 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:49 Exodist joined #perl6
18:51 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 mncharity Thanks for your help.
18:52 masak ruoso: what do you propose we do about it?
18:53 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.
18:54 ruoso masak, http://www.perlfoundation.org/perl6/index.cgi?smop_map_operator
18:54 lambdabot Title: SMOP map operator / Perl 6
18:55 masak ruoso: ah, cool.
18:58 mberends joined #perl6
19:00 pugs_svn r23039 | putter++ | [STD_blue] Continued adaptation to current STD.pm/gimme5.
19:00 pugs_svn r23039 | putter++ | A minor commit: +escape rule; +Makefile dev targets.
19:03 * mncharity goes to emulate a... well, not a turnip... maybe baklava.
19:03 mncharity Thanks again TimToady.
19:03 mncharity yay mildew.
19:03 mncharity that just doesn't sound right. ;)
19:04 mncharity left #perl6
19:30 kisu joined #perl6
20:05 meppl good night
20:06 kisu_ joined #perl6
20:10 rakudo_svn r32824 | pmichaud++ | [rakudo]:  Use get_namespace opcode instead of interpinfo for $?PACKAGE.
20:14 jjore left #perl6
20:15 jjore joined #perl6
20:19 ZuLuuuuuu joined #perl6
20:20 pugs_svn r23040 | bacek++ | [spec] Unfudge 2 more tests for rakudo
20:27 PZt joined #perl6
20:39 pugs_svn r23041 | lwall++ | [STD] fix ordering of pre/postfix for mncharity++
20:43 kisu joined #perl6
20:47 rindolf joined #perl6
20:47 schmalbe joined #perl6
20:51 kisu joined #perl6
20:55 IRSeekBot joined #perl6
21:14 jfredett joined #perl6
21:29 apeiron joined #perl6
21:40 adc_penner2 joined #perl6
21:54 sri_kraih joined #perl6
22:00 apeiron_ joined #perl6
22:05 bacek__ joined #perl6
22:08 ryanc joined #perl6
22:19 mst joined #perl6
22:20 pasteling "mst" at 85.92.178.104 pasted "gimme5 output go boom (utf8 error)" (7 lines, 217B) at http://sial.org/pbot/33263
22:20 mst anybody got any ideas where I should start digging?
22:21 moritz_ mst: what's your locale?
22:21 mst LANG=en_GB.utf8
22:22 mst LINGUAS=en
22:22 mst no other related env vars set that I can spot
22:22 moritz_ that seems fine
22:22 moritz_ why the hell does YAML::XS complain at compile time?
22:23 mst the 5.10 perl is a fresh one
22:23 mst STD.pm5 loads stuff in BEGIN blocks
22:23 moritz_ did you try a 'rm -rf lex/' first?
22:24 moritz_ a poisend lex cache might explain it - might
22:25 itz_ joined #perl6
22:25 itz_ stupid question .. how do I run the pugs test suite?
22:25 moritz_ itz_: with which compiler?
22:25 itz_ pugs itself
22:26 moritz_ `make test'
22:26 itz_ I think the makefile is broken (?) I didnt use it to build pugs
22:27 itz_ perl Makefile.PL errors
22:27 moritz_ worked here last time I tried
22:28 moritz_ now it says it can't install the cabal HTTP library, and that I should do it manually
22:30 itz_ the install instructions now don't seem to use the makefile but rather cabal
22:31 rafl mst: didn't you mean to run STD.pmc instead of STD.pm5?
22:32 rafl mst: check the makefile. it postprocesses the yaml parts of .pm5 to generate .pmc
22:34 moritz_ itz_: once you've installed Cabal and the HTTP package 'perl Makefile.PL' should work (I think)
22:34 moritz_ anyway, gotta go to bed know
22:34 moritz_ s/know/now/
22:34 moritz_ have the appropriate amount of fun!
22:35 rafl mst: oh, it doesn't. nevermind.
22:35 itz_ I think Makefile.PL is broken
22:38 zamolxes joined #perl6
22:38 meppl joined #perl6
22:38 mst rafl: they appear to be the same file
22:39 mst er, no, pmc and pm5 are different sizes
22:39 mst but the error is identical
22:45 bacek__ joined #perl6
22:52 apeiron joined #perl6
23:09 pugs_svn r23042 | lwall++ | [STD] whoops, managed to screw up previous patch
23:17 ZuLuuuuuu left #perl6
23:18 TimToady mst: I'm not sure .utf8 is valid, you might need LANG=en_GB.UTF-8
23:19 * mst alters env var and retries
23:19 mst TimToady: oh, do you use 5.10 regex features or really just state+say ?
23:20 mst damn. changing LANG gives me the same error
23:20 jjore_ joined #perl6
23:21 TimToady did you ever remove lex/ like moritz++ suggested?
23:21 mst yes
23:21 TimToady how big is your STD.pm5?
23:22 mst 2859735
23:23 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
23:24 TimToady just state+say
23:24 TimToady I can't really use much of p5 regex because it's not reentrant
23:24 TimToady and doesn't really support embedded closures
23:24 mst huh
23:25 mst if I carve that chunk of YAML out of STD.pmc
23:25 mst it works
23:25 Limbic_Region joined #perl6
23:25 mst as in, the YAML loads
23:26 TimToady what kind of machine are you running on?
23:26 mst adding 'use utf8' to the snippet makes it fail again
23:26 mst interesting
23:26 mst TimToady: x86, i686 debian 4
23:27 mst hmm
23:29 TimToady maybe it is getting messed up by which perl is used in Makefile
23:30 TimToady 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
23:31 mst but the Makefile hardcodes /usr/local/bin/perl
23:31 mst which doesn't even exist on my system
23:31 mst so I've modified that to use the 5.10
23:33 TimToady if you say "grep '\«' STD.pm5
23:33 TimToady "
23:34 TimToady does it show french quotes on the screen or extra  thingies?
23:34 mst I get text: « a lot
23:35 TimToady and your screen is set to utf8, so that seems okay
23:35 TimToady do you have any kind of weird PERLLIB search order set?
23:36 mst I already unset that.
23:37 TimToady does perl -V report only 5.10 INC directories?
23:38 mst yes
23:39 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 :)
23:39 mst no, said locate doesn't
23:40 TimToady another thing to try is LANG=en_US.UTF-8
23:40 TimToady maybe the locale is screwed up somehow...
23:41 TimToady I'm not familiar with debian versions; how modern is that one?
23:41 mst current stable
23:41 mst not that old anyway
23:42 TimToady maybe the GB locale hates frog quotes :)
23:42 mst en_US gives same error
23:43 TimToady you are really a problem child...
23:44 TimToady do you use vim or emacs?
23:44 TimToady or "other"?
23:44 mst I use ex-vi a fair bit of the time
23:44 jjore joined #perl6
23:44 mst I suspect this system will have vim and emacs on it
23:44 mst I'm happy enough to follow instructions in either
23:45 TimToady vim will tell you what it thinks the file encoding is if you say :set
23:45 TimToady my STD.pm5 says   fileencoding=utf-8
23:45 mst same here
23:46 TimToady well, maybe your YAML::XS is busted somehow...
23:47 jjore joined #perl6
23:47 mst it's a fresh install on a fresh perl
23:47 mst hmm
23:47 DemoPhreak joined #perl6
23:48 * 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
23:48 mst I'm pretty sure I don't have a system libyaml, only the bundled one
23:48 TimToady does perldoc pick up the 5.10 version
23:48 TimToady ?
23:49 TimToady or the 5.8 version?
23:50 mst err
23:50 TimToady might need to install YAML::XS against 5.10
23:50 mst I did!
23:50 mst there is no other YAML::XS on here
23:50 TimToady hmm
23:50 mst the system perldoc picks up no version at all
23:50 mst because there is no 5.8 version on this system
23:50 mst because I didn't install it against 5.8, because that would have made debugging harder
23:50 mst I already ran a locate to confirm this, at your request
23:51 mst the perldoc in /usr/local/perl5.10/bin picks up the 5.10 version at your request, of course
23:51 mst heh
23:51 mst and on a separate system, with a separate perl and YAML::XS, same error
23:52 mst 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)
23:52 TimToady are you svn upped?
23:52 mst yep
23:52 mst I've been up-ing every time I see a commit go past, just in case
23:53 mst ldd results here are identical except for the memory addresses
23:54 TimToady sec, gotto copy to a public_html
23:54 TimToady *gotta
23:55 TimToady http://wall.org/~larry/STD.pm?
23:56 TimToady not sure how fast my upstream is right now though...
23:56 TimToady bleh, just realized I'm drinking cold coffee that was left in my mug from yesterday...
23:56 mst if you have to ship me another copy I'll be asking for it to be gzipped
23:57 mst but it's really not -that- bad
23:57 mst heh, I quite enjoy cold coffee provided it's filter

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo