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.
TimToady if there were, it would be from reordering operators via precedence, I suspect 00:00
but mostly I just see O nodes copied up the tree
as for viv, there are still a number of missing action methods, I expect 00:01
mncharity re loop, ok. could be me. running STD_blue_run on elf_h_src/CommandLine.pm, even with a branch-local() %seen counter limit of 30, I was still hitting "seen this node too many times". I'll explore. 00:03
mncharity not something to worry about. I'll report back. 00:10
TimToady well, lemme know if you have an example--I think I know where the bug might be
gotta wander off &
mncharity bye. tnx for the help
re viv, it looks like STD_blue will just continue using the class-STD tree directly, rather than switching to viv. since viv wasn't actually labeling the nodes, but rather depending on "no :=" etc for STD-specific guessing, I've just added that dependence to the existing STD_blue tree walker. 00:15
simpler, at least for now. 00:16
pasteling "mncharity" at 98.216.110.149 pasted "my $x = $y.m();" (20 lines, 314B) at sial.org/pbot/32604 00:45
mncharity TimToady: fyi, whatever it is I'm seeing, I note I see it on "my $x = $y.m();". the above trace may provide a clue. but again, I've not looked at it closely, and you needn't spend time on it on my account. I wondered earler if you already knew whether/where cycles might be present, just as a way of avoid work duplication. didn't intend to create an action item. 00:49
pugs_svn r22593 | putter++ | [elfish/STD_blue] Dropped in STD_red elf_h IRx1_FromAST constructors. Currently adapting them to the STD_blue/gimme5 ast. -e 'say 3' works, but little else yet. 01:17
pmurias_ @tell mncharity if you do you tree traversal with a DFS, that is mark the nodes you already visited your tree traversal should handle cycles 07:29
lambdabot Consider it noted.
pugs_svn r22594 | pmurias++ | [mildew] a bit of progess on running t/pure_prototype_how.p6 08:36
schmalbe Is there a document containing fulltext of all synopses ? 09:32
literal schmalbe: perlcabal.org/syn/ 09:46
lambdabot Title: Official Perl 6 Documentation
schmalbe tnx, bookmarked it 09:49
pmurias_ TimToady: is the strange indent from Cursor.pmc used anywhere? 13:12
z80ASM hi, hackers 13:52
masak z80ASM: y0 13:53
z80ASM so bored... maybe should start programming something
masak might I suggest you take a look at this Perl 6 wiki project everyone's talking about? :) 13:54
z80ASM mmh... sure ;P
masak www.november-wiki.org/
lambdabot Title: Main_Page
masak github.com/viklund/november/
lambdabot Title: viklund's november at master — GitHub
masak suggested order of introduction: hit the README file, then talks/YAPC-EU-2008.pdf, then docs/, then the source in p5w/ and p6w/ 13:56
xiaoyafeng november is great, not on cross platform is a flaw. 14:07
masak xiaoyafeng: thank you. Parrot is also great, or at least going in the direction of greatness. 14:08
it's both cross-platform and cross-language, which is kind of mind-boggling when you think about it. 14:09
mncharity TimToady, etal: it looks like gimme5 isn't including elsif clauses in its output? 'if 3 { 4 } elsif 5555 { 55555 }', the 5's didn't show up. not pressing, just fyi. 14:17
lambdabot mncharity: You have 1 new message. '/msg lambdabot @messages' to read it.
pmurias_ mncharity: hi 14:19
mncharity pmurias_: thanks. question is, what to then do when you see a ... hi :) 14:20
pmurias_ when do you have a problem with circularity? 14:21
mncharity ... see a node again. current "answer" is include it a few more times, in case the AST->IR converter needs it, then punt. possible alternative is "just don't include the SIGIL field". another possible answer is "stop being careless - the tree is fine". we'll see.
re when, STD_blue_run --format=p5a 14:22
not sure I'd call it a problem, well, not a real one. :) but an issue. 14:23
pmurias_ you could save circularity with assignment to a variable
or assume that AST->IR won't need it
mncharity yes, that one (won't need) 14:25
:)
mncharity basically, circularity is unexpected, probably shouldn't be there, and would require some small work to deal with. so "before simply adapting, try knocking it off". 14:27
bit of progress. checkin later. back later. cheers & 14:29
pugs_svn r22595 | putter++ | [elfish/STD_blue] Continuing to adapt constructors. 14:32
pugs_svn r22596 | pmurias++ | [mildew] added a --desugar option to see Perl 6 code converted to method calls 14:39
lichtkind pmichaud: there? 15:02
pugs_svn r22597 | pmurias++ | [mildew] improved --deparse, ^! 15:37
TimToady pmurias_: I don't think indent is used currently, though its big brother in gimme5 is used all over the place. I think I used to use it to generate lexers back before I switched to a tabualr format. 15:40
*tabular
@tell mncharity yep, that's why I'm writing "viv --p6", to see what's not there that should be. I figure if I can reproduce the original exactly then I'm not forgetting anything crucial. 15:47
lambdabot Consider it noted.
pmurias_ TimToady: i'm even using the one from gimme5 in mildew, but the one in Cursor.pmc seems broken (it inserts blank lines) 15:51
ruoso TimToady, re: Foo::Bar.randommethod()... my reasoning was that *method* invocation applies to Classes, not all types of packages... therefore Foo::Bar wouldn't be found as a Class... unless we accept that all types of packages can be coerced to classes to do some basic things... otherwise. Foo::Bar.WHAT would return 'Package' 16:25
TimToady, I do understand, however, that WHAT is a macro, but I'd rather accept the coercion to keep the semantic consistency... 16:27
avar w 14 16:36
azawawi hi 16:50
azawawi @seen moritz_ 16:51
lambdabot moritz_ is in #perl6. I last heard moritz_ speak 20h 18m 23s ago.
moritz_ waves hi to azawawi and then has to leave for his table tennis game
but I'll backlog ;)
azawawi have fun ;-)
moritz_ thanks
pmurias_ ruoso: hi 16:58
ruoso: the way STD handles is if Foo::Bar is a know type it is a type else it's a package 16:59
pmurias_ STD:3248 17:01
azawawi rakudo: say <a b c d>[-2, -1] 17:15
p6eval rakudo 31926: OUTPUT[c␤]
azawawi pugs: say <a b c d>[-2, -1]
p6eval pugs: OUTPUT[cd␤]
Zoffix 0_p
TimToady pmurias_: no, if it's not a known type it 18:05
is a function 18:06
packages are considered degenerate types
and any package name may be used as a protoobject, even if we don't know anything about the type yet 18:08
azawawi what the correct way to read a line from stdin in p6? 18:09
TimToady =$*IN 18:10
PerlJam greetings
TimToady or =<>, if no command line args
PerlJam I still want to write =<$*IN> sometimes 18:11
azawawi what about 'my $foo = $*IN.readline;'? 18:12
i noticed that pugs also allows bare readline...
TimToady not sure if that will be official
azawawi $*IN.readline or readline alone or readline? 18:14
TimToady any of those
azawawi thx
TimToady but likely there's some single-dispatch api for iterators, and whatever that is... 18:15
so maybe $*IN.shift or some such 18:16
PerlJam $*IN.more_please 18:16
TimToady whatever the multi-dispatch prefix:<=> calls underneath
pmurias_ TimToady: sorry, i should reread code before misleading others
PerlJam $*IN.thank_you_sir_may_I_have_another 18:17
TimToady so almost certainly *not* readline
azawawi rakudo: my $foo = =<>; say $foo;
p6eval rakudo 31926: OUTPUT[-1␤]
azawawi rakudo returns -1 on =<> 18:18
TimToady pugs: my $foo = =<>; say $foo;
p6eval pugs: OUTPUT[*** Unsafe function '=' called under safe mode␤ at /tmp/WwLB9u6bfm line 1, column 6-14␤]
TimToady that makes more sense
azawawi rakudo: my $foo = =$*IN; say $foo; 18:20
pmurias_ OTOH it would be cool if it spawned a new bot waiting for input
azawawi that should be waiting for sure... 18:21
under rakudo, only =$*IN and $*IN.readline currently work 18:22
pmurias_ azawawi: it might be waiting for input from the standard input the evalbot recived 18:24
rakudo: say 1
azawawi rakudo: say "anything"; 18:25
pmurias_ pugs: 1
PerlJam TimToady: why isn't $*IN.shift blessed? Or have you just not thought about it in enough detail beyond "not readline"?
TimToady several reasons 18:28
one of which is confusion between multiple dispatch apis and single dispatch
another of which is the principle of "just do it like P5" 18:29
yet another is "filehandles are just iterators"
vs "filehandles *aren't* just iterators"
TimToady for instance, suppose you want to generalize =<>, which does double iteration 18:30
TimToady =@filenames doesn't read the lines from each file like =<> does from @*ARGV 18:31
@*ARGS rather
lambdabot Unknown command, try @list
TimToady not sure whether that worthwhile
*that is
and maybe there's something going on with a slice of iterators 18:34
and =[;] @filenames woudl be what =<> is really doing 18:35
more succinctly, =@*ARGS gives you the next filename, whereas =@@*ARGS gives you the next line 18:38
or maybe something inside out from that
PerlJam is *so* glad he's not a language designer :) 18:40
pmurias_ TimToady: is VAST::Methocall intended? 18:47
TimToady nope 18:48
TimToady well, what are you asking, really? 18:50
pmurias_ i see VAST::Methodcall nodes in VAST and they seem strange 18:51
TimToady it's just a precedence level, really 18:52
so anything postfixey tends to look like that
except for ++ maybe 18:53
pmurias_ why aren't VAST nodes subclasses of Match? 18:54
TimToady because they're not parse trees, they're abstract(er)
pmurias_ is VAST intended to diverge much from the parse tree? 18:57
TimToady it's intended to be something that is easy to walk and spit out p5 so I can replace gimme5 18:58
TimToady or maybe =<> is really ==@*ARGS, where prefix:<==> iterates a list of iterators, or a tree of iterators 19:18
but a good functional programmer would pass prefix:<=> to a visitor, I suppose, though it's not nice for visitors to be destructive 19:24
azawawi good night 19:56
moritz_ re 20:15
partclCoke ~ 20:53
pugs_svn r22598 | lwall++ | [99problems] caller must be caller() before something that looks like arguments 22:35
mncharity TimToady: just in case the STD circularity remains an open issue of interest, I note '$a.m == 0 ' results in chain=>[ {arg=> {post=> {arg=> ... 22:50
lambdabot mncharity: You have 1 new message. '/msg lambdabot @messages' to read it.
mncharity TimToady: apropos viv vs gimme5, so has gimme5 development ceased? is the plan to fix things like the mising elsif clauses in gimme5, or punt until viv exists? 22:52
TimToady have a fix for it already 22:54
mncharity :)
TimToady just running the test
mncharity np, no hurry, just wondering the plan. 22:55
TimToady actually, half way through, so probably good enough to check in
(fix for circularity, not elsif)
ruoso TimToady, just a sanity check... so Foo::Bar.baz() will attempt to "coerce" the package to a dumb class that might even provide a method baz() even not being an actual class? 22:57
pugs_svn r22599 | lwall++ | [STD] fix circularity bug in unary and binary ops
r22599 | lwall++ | [viv] more progress in ~ delimiters through
TimToady something like that--might even degrade down to a P5ish dispatcher
mncharity apropos "reproduce the original exactly" (as a test of some parse tree's correctness), I note that I have learned fear of that concept. it always seems attractive, but since diffs often remain unusable until a sea of little nits get precisely dealt with, my attempts in that direction often converge too slowly to succeed. 22:58
TimToady depends on how you define "succeed" 22:59
and on how stubborn you are... :)
mncharity lol
ruoso TimToady, hmmm... that's actually a very sane option... a class-less package when coerced to a class returns a class that has a p5-like dispatcher as HOW
TimToady I know that's the only thing that worked for MAD
mncharity re (fix for circularity, not elsif), ah, oh, drat. ;) 23:00
TimToady the elsif problem is a little hairier, something to do with trying to bind a quantified parenthesis maybe
anyway, it's probably putting the $<elsif> binding inside the parens and then throwing it all away 23:02
mncharity re MAD, ah. yeah. So I guess my observation is "the path can be unexpectedly expensive".
given MAD, you know this.
TimToady some kinds of success can only be bought for "expensive"
and in that case it was something I had to pay for my earlier transgressions :) 23:03
mncharity re circularity patch, I confirm my loops have gone away. happiness. 23:05
lol
language implementation as penance. fun concept. 23:06
TimToady may have a workaround for elsif problem, compiling 23:08
pugs_svn r22600 | lwall++ | [STD] workaround for elsif problem; put extra [] to move quantifier outside of binding 23:10
TimToady seems to do the trick
changed $<x> = (...)* to [$<x> = (...)]* 23:11
some there's some screwup between quantifiers and binding
TimToady s/some/so 23:15
_fer_ hello folks
TimToady what about those of us that aren't folks?
_fer_ sorry, I'm not speak english very well and I think that may be a good way to say "hello" 23:16
:-)
TimToady it's fine, I'm just giving you a hard time :)
_fer_ ok
you are the only person on this channel 23:17
?
TimToady there are quite a few people, but they're mostly asleep
and those who look in every few minutes are likely off hacking on something on the side
_fer_ where are you=
? 23:18
TimToady in my chair at the office
_fer_ In wich county
country
I'm from argentina
TimToady US of A
_fer_ aaaa ok
meppl good night
TimToady I've flown over Argentina
_fer_ yes?, and you like it? 23:19
TimToady well, the Andes are pretty 23:19
_fer_ do you visit Buenos Aires?
TimToady but I only landed in Chile and Uruguay
_fer_ aaaa, ok
you must visit Buenos aires
is a beautifull place
TimToady I hope to get there someday 23:20
_fer_ I live in Buenos Aires
where do you live?
TimToady California
mncharity g'night meppl
_fer_ Beach boys
:-)
TimToady "I wish they all could be California girls..." 23:21
meppl ;)
_fer_ if you could see the argentinean girls don't you say thar :-)
mncharity if()s working. yay. tnx. 23:30
mncharity "We the passing generation have had to grope our way out of the dark slowly and painfully, with trial and error. But what has to be pardoned to us can no longer be pardoned to our successors, to whom we bequeath the costly knowledge and painful experiences that have cost us so dear, but which we have gladly earned, and now painstakingly contribute for their instruction, and the advancement of their future..." 23:43
oh, i'm so very tired of ast groveling.
TimToady just think how much easier this would all be in Haskell :) 23:44
mncharity lol. sigh. 23:45