Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-07-05

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:00 jjore Is there any nice way within the perl6 "shell" to introspect an object like get it to dump the data it has and the things it responds to?
00:00 arnsholt $foo.perl gives a Perl representation for all built-in objects
00:01 jjore Great.
00:01 arnsholt But for match objects this may result in a veritable wall of text =)
00:01 arnsholt So keep your pager ready
00:17 eternaleye rakudo: "foobarfoo" ~~ /foo $<stuff>=(...) foo/; say $<stuff>
00:17 p6eval rakudo 6a4d66:  ( no output )
00:17 eternaleye rakudo: "foo bar foo" ~~ /foo $<stuff>=(...) foo/; say $<stuff>
00:17 p6eval rakudo 6a4d66: OUTPUT«Use of uninitialized value␤␤»
00:18 eternaleye rakudo: "foobarfoo" ~~ /foo$<stuff>=(...)foo/; say $<stuff>
00:18 p6eval rakudo 6a4d66: OUTPUT«bar␤»
00:18 eternaleye jjore: see ^^^
00:18 pmichaud wtf?
00:18 pmichaud rakudo: "foobarfoo" ~~ /foo $<stuff>=(...) foo/; say $<stuff>
00:18 eternaleye pmichaud: ?
00:18 p6eval rakudo 6a4d66: OUTPUT«bar␤»
00:19 pmichaud why did that fail the first time?
00:19 eternaleye No clue, mayve it just timed out?
00:19 eternaleye *maybe
00:19 pmichaud must've been.
00:21 jjore Ah, S06 had something that looked kind of like that but I didn't understand that's what it meant.
00:23 pmichaud afk for a while (wife made cherry pie for dessert!)
00:39 synth joined #perl6
01:33 pugs_svn r27410 | pmichaud++ | [t]  Add a note about potential misunderstanding of "latin1" in hyper_latin1.t
01:41 LumberCartel_ joined #perl6
01:48 daemon night all ;)
01:48 LumberCartel joined #perl6
01:54 pugs_svn r27411 | lwall++ | [Cursor] canonicalize FOO:: to include final ''
02:42 amoc joined #perl6
02:53 pugs_svn r27412 | Darren_Duncan++ | trivial ws chg to test commit access
02:58 dduncan seems to work ... now for S11 updates ...
02:59 dduncan so, should I be updating the Version of a synopsis for each time I commit a change?  (I assume that mere whitespace cleanup doesn't update the counter)
03:00 TimToady for a content change, sure, but don't feel guilty if you forget
03:00 TimToady for typos, don't bother
03:00 TimToady (or ws)
03:00 dduncan note, I can easily strip out all the other trailing whitespace in the synopsis too, though that would be a separate commit from my auth/ver change
03:01 TimToady as far as I now, nobody's ever used the version numbers for anything :)
03:01 dduncan in my mind the versioning seems kind of odd for this purpose ... normally such docs vnums would just be used when making releases that changed from the last ones
03:02 dduncan mind you, for things like the synopsis that are never really published but just used in VC, I can see a point to the increments, if one was going to refer to versions
03:15 dduncan minor nit/q ... : (unless the change is required for security, in which case it's the
03:15 dduncan fault of the insensitive clod who broke security :).
03:15 dduncan ... there is no closing paren except the one in the smiley ... do you want it left that way or another closing paren added?
03:16 dduncan I make no change by default
03:21 * araujo didn't know the logo of perl6 was a butterfly
03:31 TimToady it's considered balanced already, insofar as :) is an optional closing paren if needed )
03:31 dduncan question on :     identifier  { :name<Dog> :auth<http://www.some.com/~jrandom> :ver<1.2.1> }
03:31 dduncan name      Dog
03:31 dduncan authority http://www.some.com/~jrandom
03:31 dduncan version   v1.2.1
03:31 dduncan author        Joe Random
03:32 dduncan the :auth is spelled below as 'authority' and also there is a separate 'author'
03:32 TimToady it's an intentional ambiguity
03:32 dduncan I think it should be possible in the meta protocol to say just 'auth' or 'ver' alternatively to get the same thing as in the signature
03:32 dduncan the longer versions can stay too
03:33 dduncan but being able to declare and read metadata with the same spellings is nice
03:36 TimToady well, we have to go see explosions now for some reason...
03:36 TimToady bbl &
03:40 * dduncan about to commit synopsis changes ...
03:42 amoc joined #perl6
03:43 frew_ joined #perl6
03:44 pugs_svn r27413 | Darren_Duncan++ | P6 Synopsis : with module full names, reversed canonical order of :auth and :ver so :auth is first
03:45 dduncan that was fairly straightforward
03:48 dduncan and I neglected to update the synopsis vnums, oh well
03:50 KyleHa joined #perl6
03:59 azawawi joined #perl6
03:59 azawawi hi
03:59 araujo hi
04:00 nihiliad joined #perl6
04:23 pugs_svn r27414 | Darren_Duncan++ | P6 Synopsis : ws changes - all tabs to spaces
05:25 pugs_svn r27415 | Darren_Duncan++ | P6 Synopsis : ws changes - remove trailing spaces
05:32 dduncan TimToady, so how was la bomba?
05:33 TimToady better than a BOM
05:35 dduncan so the Synopsis changes I was going to make today are done ...
05:36 dduncan if you or someone has spec edits on the go and need to merge ...
05:36 TimToady yes, I already checked them out :)
05:36 TimToady and the merges were all G, happily
05:36 dduncan the trailing ws one is a simple s/ +\n/\n/ which you can do manually if your text editor can do multi-file search'n'replace of you have a utility for such
05:37 dduncan nice for clean merges
05:37 dduncan one thing I noticed when doing the tab replacements is that a number of code samples weren't indented at all, which I imagine wouldn't have rendered into pod properly
05:37 dduncan there probably still are more unindented code samples
05:38 dduncan but those didn't have tabs
05:38 dduncan generally it was more the S32 files I think with such issues
05:40 TimToady yes, people forget to indent their verbatims
05:40 TimToady I've cleaned up a lot of those in the past myself
05:41 dduncan curiously, a lot of the literal tabs I found weren't just indenting lines, but were between words, for example: role\tFoo or class\tFoo
05:41 dduncan lots of those
05:41 dduncan which seems odd
05:41 TimToady I've been removing those a soon as I find them
05:41 dduncan as if someone slipped, then copy-pasted the others
05:41 TimToady *as
05:42 TimToady someone just really likes to line things up that don't make sense to line up
05:43 dduncan I don't know about other people, but one of my regular routines before many commits in my projects, and particularly before making a release, is to search for any trailing spaces or overlong lines and eliminate them, so to keep such things from messing up inter-release diffs ... and I never introduce tabs
05:43 dduncan usually it just takes a few seconds to test
05:44 dduncan over-long lines are also searched for
05:44 TimToady haven't been picky so far, since I'd rather see the content in whatever form it appears
05:44 dduncan I didn't do anything with the Synopsis about line length as I figured that was more lax
05:45 dduncan I just find that if whitespace issues are kept more consistent, then its easier to notice the actual content changes apart from the noise
05:45 TimToady at some point I'll have to take another pass through all that stuff and weed out the needlessly complex again
05:45 dduncan which is a large part of my rationale
05:46 dduncan another whitespace thing I noticed is that some files start with a blank line and others don't
05:46 TimToady those probably started with a BOM, actually
05:47 TimToady and it was put on a separate line so as not to confuse =encoding
05:47 dduncan I see
05:47 TimToady so probably best to leave a blank line in general
05:47 dduncan then I suppose the other files should have a line/bom added perhaps
05:48 TimToady for the next time someone's editor inserts the BOM
05:48 TimToady prolly
05:48 dduncan last I tried saving a Perl 5 file with a BOM, Perl 5 choked on it, and so I use UTF-8 without boms
05:48 TimToady though the mad BOMers seem to mostly only edit a few of the files
05:49 TimToady anyway, thanks for you whackage
05:49 TimToady *your
05:51 dduncan well, when you have decent tools, its not that difficult ... especially if its kept on top of ... though if there are many occurrences and you want to inspect each one such as for tabs, it can get tedious
05:51 dduncan so, about 20 files didn't have a leading blank line
05:52 dduncan so I've added one
05:52 dduncan assuming that's better than removing the other blanks
05:52 dduncan though with my own projects I always have no blanks
05:54 pugs_svn r27416 | Darren_Duncan++ | P6 Synopsis : ws changes - to help BOMers, added leading blank line to files without
06:16 cotto joined #perl6
06:18 dduncan left #perl6
06:42 jauaor joined #perl6
06:53 Moolicious joined #perl6
06:58 Moolicious left #perl6
07:02 Pismire joined #perl6
07:10 Moolicious joined #perl6
07:17 barney joined #perl6
07:20 Moolicious left #perl6
07:31 tann joined #perl6
07:41 amoc joined #perl6
07:58 meppl joined #perl6
07:59 iblechbot joined #perl6
08:05 zulon joined #perl6
08:06 zulon hello, me again
08:06 sjohnson MORNING!
08:06 zulon I was wondering: is there any perl6-mode for Emacs?
08:07 sjohnson i use Vim so i am not sure :[
08:07 zulon ok
08:08 zulon I currently use cperl-mode for Perl 5
08:08 zulon but it colors weirdly in some situations
08:08 sjohnson google not giving any leads eh :(
08:08 zulon (namely, "when / regex / {" colors the rest of the file as a regex)
08:09 zulon I found an "enhanced" cperl-mode.el but it doesn't work at all
08:09 amoc joined #perl6
08:14 azawawi joined #perl6
08:20 azawawi hi
08:21 twigil joined #perl6
08:22 sjohnson hi
08:59 azawawi moritz_: ping
09:00 azawawi moritz_: grok + padre perl 6 integration...
09:01 azawawi moritz_: http://feather.perl6.nl/~azawawi/padre_perl6_help_1.png
09:01 azawawi moritz_: http://feather.perl6.nl/~azawawi/padre_perl6_help_2.png
09:01 azawawi @tell literal padre perl 6 grok integration is finished... see http://feather.perl6.nl/~azawawi/padre_perl6_help_1.png
09:01 lambdabot Consider it noted.
09:03 zulon left #perl6
09:13 fridim_ joined #perl6
09:21 payload left #perl6
09:53 DemoFreak joined #perl6
10:25 pmurias joined #perl6
11:00 kidd_ joined #perl6
11:02 pmurias joined #perl6
11:04 masak joined #perl6
11:05 masak good day, fellow adventurers.
11:05 pmurias hi
11:05 lambdabot pmurias: You have 3 new messages. '/msg lambdabot @messages' to read them.
11:05 sjohnson yo
11:06 sri_kraih joined #perl6
11:06 last joined #perl6
11:07 jnthn oh hai masak
11:08 masak jnthn: hello. I've been coding a lot since I left last night.
11:08 masak have a few new bugs to report.
11:08 masak rakudo: undef ~~ /foo/
11:08 p6eval rakudo 6a4d66: OUTPUT«Object must be created by a class.␤in regex PGE::Grammar::_block50 (/tmp/TJt12bjt2l:1)␤called from Main (/tmp/TJt12bjt2l:2)␤»
11:08 masak I consider this a rakudobug.
11:09 jnthn Hmm, that's quite a wtf one.
11:09 jnthn rakudo: my $a = undef; $a ~~ /foo/
11:09 p6eval rakudo 6a4d66: OUTPUT«Use of uninitialized value␤»
11:09 * masak submits it
11:09 masak next one :)
11:09 jnthn rakudo: my $a = undef; say $a.PARROT; say undef.PARROT;
11:09 p6eval rakudo 6a4d66: OUTPUT«Failure␤Failure␤»
11:09 masak rakudo: class A { has A @.as is rw }; my $x = A.new; $x.as[0] = A.new; say $x.as.perl
11:09 p6eval rakudo 6a4d66: OUTPUT«[A.new()]␤»
11:09 masak this works fine.
11:10 masak rakudo: class A { has A @.as is rw }; my $x = A.new; $x.as.push: A.new; say $x.as.perl
11:10 masak this doesn't.
11:10 p6eval rakudo 6a4d66: OUTPUT«Type check failure in push␤in Main (/tmp/K6H7uk3kMk:2)␤»
11:10 masak bug, right?
11:10 jnthn rakudo: class A { has A @.as is rw }; my $x = A.new; $x.as.push(A.new); say $x.as.perl
11:10 p6eval rakudo 6a4d66: OUTPUT«Type check failure in push␤in Main (/tmp/XygorqN5fj:2)␤»
11:11 jnthn rakudo: class A { has A @.as is rw }; my $x = A.new; say $x.as.of
11:11 p6eval rakudo 6a4d66: OUTPUT«Module()␤»
11:11 jnthn of wtf
11:11 jnthn *oh
11:11 * masak submits that one too
11:11 jnthn Well
11:11 jnthn they're one and the same issue.
11:11 masak they are?
11:11 masak the feel very different to me...
11:11 jnthn Yeah. The second sort of explains the first.
11:12 masak oh, those two.
11:12 masak yes.
11:12 jnthn No, same root cause. That .of should say "A()"
11:12 masak absolutely.
11:12 jnthn ah, I misunderstood what you were submitting. :-)
11:12 masak I thought you meant this one and the undef ~~ /<foo>/ thing.
11:13 jnthn no, no - those are quite different :-)
11:13 masak thought so. :P
11:13 masak but it would have been really impressive had you spotted a connection. :P
11:14 jnthn They're both bugs in Rakudo. :-P
11:14 * jnthn is has a happy because he booked his flight to attend YAPC::Asia last night
11:15 masak I should do that too.
11:15 jnthn You're doing YAPC::Asia too?
11:16 jnthn That's cool. :-)
11:17 jnthn I didn't decide what talks to submit yet.
11:17 masak oh, I'm reading sloppily. YAPC::EU.
11:17 jnthn Oh
11:17 jnthn Well that's a whole different continent. :-P
11:17 masak it would be really cool to do YAPC::Asia, but I think my budget constraints would have something to say about that.
11:18 masak rakudo: class A {}; class B { has A @.as }; B.new.as.push(A.new)
11:18 p6eval rakudo 6a4d66:  ( no output )
11:18 masak essential part of that last bug there.
11:19 jnthn Yes, I know.
11:19 masak it needs to be the same class.
11:19 jnthn It's when the type is the same as...right.
11:19 jnthn Because it looks up the type before the proto-object is installed.
11:19 masak ah! yes, I just realized that.
11:19 masak pipes sticking out.
11:20 jnthn Aye, an unfortunate consequence of the way thigns are currently implemented.
11:20 jnthn I don't have a fast solution for that.
11:20 masak I still don't feel like an inner-circle Rakudo developer, but I'm starting to have a feel for how things go wrong when they go wrong. :)
11:20 jnthn Well, Rakudo guts aren't magic. It's just software. :-)
11:21 masak 'compiler pathologist'
11:22 masak speaking of that, I found a serious bug in the code of some guy named DCONWAY or something yesterday.
11:22 masak RT++ obra_++
11:23 jnthn Oh, I've heard of that guy. :-)
11:24 masak hm, actually, I didn't read the code as such, just observed it behaving wrong.
11:25 jnthn Which module, out of curiosity?
11:25 masak Perl6::Perldoc
11:25 masak I tried to run the SYNOPSIS, and it didn't work.
11:25 masak http://rt.cpan.org/Public/Bug/Display.html?id=47566
11:26 jnthn Ah. that's never good.
11:26 masak hope the next release is soon.
11:26 jnthn I spent like six hours hacking on the traits refactor yesterday.
11:27 jnthn It's close, but needs some polish yet.
11:27 jnthn Though I'm happy to nearly have finished the second of the big refactors I've needed to do for my Hague grant.
11:28 masak sounds good.
11:28 jnthn I'm sure you'll find some new bugs. ;-)
11:28 masak no doubt. :)
11:28 masak it's all for the good of the collective. :)
11:28 jnthn I suspect traits are way undertested too. I want to improve that.
11:29 masak my brain has been working overtime on various things related to DOM, XPath and CSS lately.
11:30 jnthn Ah, for work on Grandpa^WGrampa?
11:30 jnthn .oO( masak must hate the way I mangle his project names... )
11:30 masak no, it's OK. :)
11:31 jnthn I think the first time I comitted to Rakudo after it was renamed, I hadn't got that name straight in my head either.
11:31 masak well, it started with Grampa, but I sort of realized I have to take a few steps back and shave some yaks first.
11:31 jnthn I really should look a bit more at the web stuff and related projects sometime soonish.
11:32 jnthn I keep hearing about all of this cool stuff that's going on. :-)
11:32 masak rakudo: say ~('r' X~ <a o> X~ <k d> X~ <o a> X~ <d k> X~ 'o')
11:32 p6eval rakudo 6a4d66: OUTPUT«rakodo rakoko rakado rakako radodo radoko radado radako rokodo rokoko rokado rokako rododo rodoko rodado rodako␤»
11:32 jnthn Actually I think I wrote [radoku] ;-0
11:33 masak jnthn: it's a combination of cool stuff and boring behind-the-scenes work. :)
11:33 jnthn The second is normally to enable the first.
11:33 masak aye.
11:33 jnthn The traits refactor itself isn't so fun, but it gives us the ability to write custom traits.
11:33 masak "if I can do cool stuff, it's because I'm standing on the shoulders of boring behind-the-scenes work"
11:33 jnthn Or at least starts to. There'll be some bugs and tweaks and so on needed.
11:34 jnthn Aye. Such is how software tends to work.
11:36 masak rakudo: for 'uo', 'ou' X 'kd', 'dk' -> $a, $b { say 'ra', $b.substr(0,1), $a.substr(0,1). $b.substr(1), $a.substr(1) }
11:36 p6eval rakudo 6a4d66: OUTPUT«Statement not terminated properly at line 2, near ". $b.subst"␤in Main (src/gen_setting.pm:3279)␤»
11:36 masak rakudo: for 'uo', 'ou' X 'kd', 'dk' -> $a, $b { say 'ra', $b.substr(0,1), $a.substr(0,1), $b.substr(1), $a.substr(1) }
11:36 p6eval rakudo 6a4d66: OUTPUT«rakudo␤raduko␤rakodu␤radoku␤»
11:37 masak rakudo: for 'auo', 'ou' X 'kd', 'dk' -> $a, $b { say 'r', $a.substr(0,1), $b.substr(0,1), $a.substr(1,1), $b.substr(1), $a.substr(2) }
11:37 p6eval rakudo 6a4d66: OUTPUT«rakudo␤raduko␤rokud␤roduk␤»
11:38 masak rakudo: for 'auo', 'oau', 'uao' X 'kd', 'dk' -> $a, $b { say 'r', $a.substr(0,1), $b.substr(0,1), $a.substr(1,1), $b.substr(1), $a.substr(2) }
11:38 p6eval rakudo 6a4d66: OUTPUT«rakudo␤raduko␤rokadu␤rodaku␤rukado␤rudako␤»
11:38 payload joined #perl6
11:47 * jnthn heading out to meet a friend for lunch...back later
11:52 masak rakudo: say [X~] <a u o>, <a u o>
11:52 p6eval rakudo 6a4d66: OUTPUT«Statement not terminated properly at line 2, near "~] <a u o>"␤in Main (src/gen_setting.pm:3279)␤»
11:54 azawawi joined #perl6
11:54 azawawi hi
11:55 masak o/
11:58 stepnem joined #perl6
12:00 azawawi masak: ping
12:00 azawawi masak: take a look at this: http://feather.perl6.nl/~azawawi/padre_perl6_help_1.png and http://feather.perl6.nl/~azawawi/padre_perl6_help_2.png
12:02 masak azawawi: pong
12:02 masak azawawi: nice!
12:03 azawawi masak: grok in action :)
12:03 masak indeed.
12:05 beggars joined #perl6
12:05 masak rakudo: for <a u o> X <a u o> X <a u o> -> $a, $b, $c { next if one($a, $b, $c) eq one($a, $b, $c); say $a, $b, $c }
12:05 p6eval rakudo 6a4d66: OUTPUT«aaa␤auo␤aou␤uao␤uuu␤uoa␤oau␤oua␤ooo␤»
12:05 masak rakudo: for <a u o> X <a u o> X <a u o> -> *@a { next if one(@a) eq one(@a); say @a }
12:05 p6eval rakudo 6a4d66:  ( no output )
12:06 masak shouldn't those two produce the same output?
12:10 ruoso joined #perl6
12:15 masak oh, I see now. no, they probably shouldn't.
12:17 Pismire joined #perl6
12:17 masak rakudo: for <a u o> X <a u o> X <a u o> -> $a, $b, $c { next if one($a, $b, $c) eq one($a, $b, $c) or [eq] $a, $b, $c; for <r k d> X <r k d> X <r k d> -> $d, $e, $f { next if one($d, $e, $f) eq one($d, $e, $f) or [eq] $d, $e, $f; say $d, $a, $e, $b, $f, $c } }
12:17 p6eval rakudo 6a4d66: OUTPUT«rakudo␤raduko␤karudo␤kaduro␤daruko␤dakuro␤rakodu␤radoku␤karodu␤kadoru␤daroku␤dakoru␤rukado␤rudako␤kurado␤kudaro␤durako␤dukaro␤rukoda␤rudoka␤kuroda␤kudora␤duroka␤dukora␤rokadu␤rodaku␤koradu␤kodaru␤doraku␤dokaru␤rokuda␤roduka␤koruda␤kodura␤doruka␤dokura␤»
12:17 masak the definitive list.
12:23 iblechbot joined #perl6
12:24 mikehh get a FAIL on t/spec/S10-packages/basic.rakudo but this passes the tests then exits with a segmentation fault
12:25 mikehh no other failures on parrot r39888 (Ubuntu 9.04 amd64)
12:27 * masak has a feeling the basic.rakudo failure is a known/old one.
12:28 mikehh it has failed for me for a while - but the others all PASS
12:30 masak yes, I think some fixes were made in Parrot yesterday.
12:31 mikehh I had a couple of failures at parrot r39883 but just the one now at r39888
12:32 mikehh which is not a REAL fail but I think there is a problem with the exit code
12:44 DemoFreak joined #perl6
12:45 pmurias joined #perl6
12:45 pmurias ruoso: hi
12:46 ruoso hi pmurias
12:48 kborer joined #perl6
12:48 pmurias ruoso: the reason i'm wondering about methods vtables is that they would allow us very fast method calls in the case when we don't now the object ri
12:48 ruoso pmurias, but then we would compromise the polymorphism too much
12:49 pmurias like interpreter->RI->vtable->mangled_name_for_goto_with_2_args(interpreter,frame)
12:49 pmurias ruoso: explain
12:52 ruoso because it would require everyone to compatibilize with the vtable
12:53 ruoso including high level implementations, like ClassHOW
12:55 edpratomo joined #perl6
12:55 ruoso but we could do the second-RI scheme I was saying
12:56 ruoso pmurias, you can also check if the SMOP_RI(interpreter) == known_RI
12:56 scottp joined #perl6
12:56 xinming joined #perl6
12:56 ruoso the specific case you mention, there isn't another interpreter implementation so far
12:57 pmurias in that specifc case an if might be a big speed
12:58 pmurias the second level RI seems a bit clunky
12:59 pmurias ruoso: having a vtable would just require all RI's to ->vtable = forward_all_methods_to_MESSAGE_vtable
12:59 ruoso pmurias, I see... but the question is: what gets a vtable slot?
13:01 ruoso and will that signature be fixed?
13:01 ruoso today everything can be specific to each object...
13:02 ruoso and $interpreter.goto is probably something that wouldn't get a vtable slot, since it's very specific to that object
13:12 edpratomo rakudo: my @bar = ([<a b c>], [<1, 2, 3>]); say any(map {$_}, @bar[0]).perl;
13:12 p6eval rakudo 6a4d66: OUTPUT«any(["a", "b", "c"])␤»
13:12 eternaleye rakudo: my $op = '+'; say &infix:{"$op"}.( 2, 3 ); say &infix:<<$op>>.( 4, 5 );
13:12 p6eval rakudo 6a4d66: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (/tmp/Lubw8BrHth:2)␤»
13:12 edpratomo pugs:  my @bar = ([<a b c>], [<1, 2, 3>]); say any(map {$_}, @bar[0]).perl;
13:12 p6eval pugs: OUTPUT«("a" | "b" | "c")␤»
13:13 eternaleye rakudo: my $op = '+'; say &infix:<<$op>>.( 2, 3 );
13:13 p6eval rakudo 6a4d66: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (/tmp/PWRNtx0WRg:2)␤»
13:13 eternaleye std: my $op = '+'; say &infix:{"$op"}.( 2, 3 ); say &infix:<<$op>>.( 4, 5 );
13:13 p6eval std 27416: OUTPUT«ok 00:05 58m␤»
13:13 masak eternaleye: why do you feel the need to quote $op in the hash indexing?
13:13 pmurias_ joined #perl6
13:14 masak anyway, I don't think you can parameterize on operators that way.
13:14 eternaleye ISTR that $obj.$meth requires a coderef and $obj."$meth" uses a Str, so I was generalizing
13:14 masak eternaleye: well, .{$x} and .{"$x"} mean exactly the same.
13:15 eternaleye But I wasn't sure exactly how multi names with categories are parsed
13:15 eternaleye rakudo: my $op = '+'; say &infix:{$op}.( 2, 3 );
13:15 p6eval rakudo 6a4d66: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (/tmp/1R9Gh3pVh3:2)␤»
13:15 payload1 joined #perl6
13:16 eternaleye I got the idea in looking at Geoffrey Broadwell's mail in p6u about the RPN calculator
13:16 eternaleye (He wanted to dispatch directly to the op without a given/when)
13:16 masak that'd be nice, yes.
13:16 masak 'sides eval, I can't think of a way right now.
13:17 eternaleye Std says it's okay, though
13:17 eternaleye std: my $op = '+'; say &infix:{"$op"}.( 2, 3 ); say &infix:<<$op>>.( 4, 5 );
13:17 p6eval std 27416: OUTPUT«ok 00:05 57m␤»
13:17 eternaleye Hm...
13:17 eternaleye pugs: my $op = '+'; say &infix:{"$op"}.( 2, 3 ); say &infix:<<$op>>.( 4, 5 );
13:17 p6eval pugs: OUTPUT«pugs: Data.ByteString.head: empty ByteString␤»
13:17 eternaleye pugs: my $op = '+'; say &infix:{"$op"}( 2, 3 ); say &infix:<<$op>>( 4, 5 );
13:17 p6eval pugs: OUTPUT«pugs: Data.ByteString.head: empty ByteString␤»
13:17 eternaleye Hm
13:25 pmurias joined #perl6
13:35 masak oh, I didn't know that: empty-element tags in XML (<these />) SHOULD only be used for elements which are declared EMPTY.
13:36 masak that means that serializers shouldn't reach for the <empty /> serialization as soon as the element has no child elements.
13:38 edpratomo pugs: for <a b c> X <1 2> -> $a, $b { say "\$a: $a \$b: $b" }
13:38 p6eval pugs: OUTPUT«$a: a 1 $b: a 2␤$a: b 1 $b: b 2␤$a: c 1 $b: c 2␤»
13:38 edpratomo rakudo: for <a b c> X <1 2> -> $a, $b { say "\$a: $a \$b: $b" }
13:39 p6eval rakudo 6a4d66: OUTPUT«$a: a $b: 1␤$a: a $b: 2␤$a: b $b: 1␤$a: b $b: 2␤$a: c $b: 1␤$a: c $b: 2␤»
13:39 masak rakudo++
13:39 edpratomo thanks
13:41 edpratomo pugs:  my @bar = ([<a b c>], [<1, 2, 3>]); say any(map {$_}, @bar[0]).perl;
13:41 p6eval pugs: OUTPUT«("a" | "b" | "c")␤»
13:41 edpratomo pugs++ , right ?
13:42 edpratomo rakudo: my @bar = ([<a b c>], [<1, 2, 3>]); say any(map {$_}, @bar[0]).perl;
13:42 p6eval rakudo 6a4d66: OUTPUT«any(["a", "b", "c"])␤»
13:43 masak both look right to me.
13:44 masak oh wait.
13:44 masak that map thing is a no-op.
13:44 masak and I think Rakudo has it right, and Pugs is wrong.
13:45 edpratomo what do you mean by no-op?
13:45 edpratomo rakudo: "a" == any(["a", "b", "c"])
13:45 p6eval rakudo 6a4d66:  ( no output )
13:45 masak that omitting it yields the same result.
13:46 edpratomo rakudo: "a" eq  any(["a", "b", "c"])
13:46 p6eval rakudo 6a4d66:  ( no output )
13:46 masak (forgot 'say')
13:46 edpratomo rakudo: say  "a" eq  any(["a", "b", "c"])
13:46 p6eval rakudo 6a4d66: OUTPUT«Junction()<0xb68c1b48>␤»
13:48 edpratomo i have @bar = ([<a b c>], [1 2 3]>); and want to create an any junction from each elem
13:48 edpratomo the expected any is any(<a b c>)
13:50 masak rakudo: my $array = [1,2,3]; say any($array.list).perl
13:50 p6eval rakudo 6a4d66: OUTPUT«any(1, 2, 3)␤»
13:50 masak there you go. use .list
13:50 Whiteknight joined #perl6
13:51 edpratomo rakudo:  my @bar = ([<a b c>], [<1, 2, 3>]); say any(@bar[0].list).perl;
13:51 p6eval rakudo 6a4d66: OUTPUT«any("a", "b", "c")␤»
13:51 masak rakudo: sub foo { say pop }; foo(5)
13:51 p6eval rakudo 6a4d66: OUTPUT«say requires an argument at line 2, near " pop }; fo"␤in Main (src/gen_setting.pm:2436)␤»
13:51 edpratomo thanks
13:51 masak np
13:52 masak those conversions happen to me a lot. I've almost learned to handle the underlying Perl 6 data model. :)
14:00 payload joined #perl6
14:02 skids joined #perl6
14:13 KyleHa joined #perl6
14:14 KyleHa I wrote a test for RT #67236 (http://rt.perl.org/rt3/Ticket/Display.html?id=67236), and I put it in S12-construction/construction.t, but I'm thinking there might be a better place for it.  Any suggestions?
14:14 masak KyleHa: first off: again, kudos. KyleHa++
14:15 masak what about somehwere in S12-attributes?
14:17 KyleHa Yeah, you're probably right.  I'll look at those.  Thanks!  masak++
14:22 KyleHa recursive.t looks right.
14:22 masak aye.
14:27 pugs_svn r27417 | kyle++ | [t/spec] Test for RT #67236
14:29 * jnthn back from lunch
14:39 masak jnthn: whoz op?
14:42 jnthn masak: lol 2 pac sux
14:42 masak 2 pac?
14:43 * masak has visions of either Pac-Man or double containers
14:44 jnthn masak: Reference to the infamous IRC "conversation" from where we got "whoz up" :-)
14:44 masak oh, I see. :)
14:45 jnthn apart from they seemed to think that "2pac rox", iirc :-)
14:47 * jnthn looks at the comments on http://use.perl.org/~chromatic/journal/39228 with a little concern.
14:54 masak I don't know what it is, but I'm always captivated by things chromatic writes.
14:54 IllvilJa joined #perl6
14:56 IllvilJa I've tried to find some example code showing how to create a constructor for a class in Perl 6 but failed.  Anyone know where to find any such examples?
14:58 skids IllvilJa: submethod BUILD and the associated stuff
14:58 masak rakudo: class A { has $.foo; method new($foo) { self.bless(*, :foo($foo)) } }; say A.new(42).foo
14:58 p6eval rakudo 6a4d66: OUTPUT«42␤»
14:58 masak IllvilJa: there's an example.
14:59 jnthn http://svn.pugscode.org/pugs/t/spec/S12-construction/BUILD.t also contains examples of BUILD - not quite a constructor, but sometimes what you want instead of one.
14:59 skids http://perlcabal.org/syn/S12.html
14:59 masak IllvilJa: see also the http://github.com/masak/druid codebase.
15:00 masak it's the only project (that I know of) that uses the fact that the BUILD submethods of all ancestors are called during construction.
15:01 M_o_C joined #perl6
15:03 amoc joined #perl6
15:05 IllvilJa Thanks for the help!  Got me moving forward :-).
15:05 skids np. Do drop by with any more questions.
15:06 masak jnthn: it might be because I know chromatic better than I know rafael, and that I'm more familiar with the former's rethoric, but rafael really comes off as the person who refuses to listen in that discussion.
15:08 masak from a higher perspective, it's clear that they both want what's best for Perl 5; they just have different ideas of what that is.
15:09 nihiliad joined #perl6
15:11 jnthn masak: Aye, I think so.
15:24 masak rakudo: sub foo($_) { .say if !($_ % 100); foo($_+1) }; foo 0
15:24 p6eval rakudo 6a4d66: OUTPUT«0␤100␤200␤300␤400␤500␤600␤700␤800␤900␤maximum recursion depth exceeded␤in sub foo (/tmp/mWqxYDtONp:2)␤called from sub foo (/tmp/mWqxYDtONp:2)␤called from sub foo (/tmp/mWqxYDtONp:2)␤called from sub foo (/tmp/mWqxYDtONp:2)␤called from sub foo (/tmp/mWqxYDtONp:2)␤called from sub
15:24 p6eval ..foo …
15:24 molaf joined #perl6
15:24 molaf_x joined #perl6
15:24 masak would it be possible to add tail-call optimisation to Rakudo?
15:26 jan_ joined #perl6
15:26 eternaleye masak: It's probably mean finding what PAST::node structure corresponds to PIR's .tailcall directive
15:26 masak aye.
15:27 * masak tries hacking it in manually through the PIR
15:27 eternaleye Then it's just a matter of seeing if a {,Multi}{Sub,Method} is the last chunk in a block and marking it as such
15:30 masak hey, when I try to run the PIR from Parrot, I get an IMCC syntax error -- even before I've made any changes. is that to be expected?
15:33 eternaleye masak: I cribbed the first chunk of pir from t/compilers/imcc/syn/tail.t - it works, now I'm trying to get a PAST from it
15:33 masak nice.
15:33 eternaleye How does one get imcc to dump a PAST tree?
15:34 jnthn whoa whoa whoa...not so fast.
15:34 jnthn You can't just assumre a tailcall is fine if the last thing is a call. :-)
15:34 payload joined #perl6
15:35 jnthn You also need to (at least) check there's no context vars declared in that sub.
15:35 jnthn And probably other bits. :-)
15:35 masak I was thinking about return type checking, too...
15:35 jnthn And that. :-)
15:35 eternaleye jnthn: Okay. I understand that I have no idea the actual prerequisites - I'm just trying to find out how the apporpriate PAST node is shaped
15:35 jnthn And what will $?CALLER look like if you've tail called.
15:36 frew_ joined #perl6
15:36 KyleHa a;ofofifoofggg;h;df]]];g
15:36 jnthn eternaleye: Ah. I'm not sure we have a PAST node for tail call just yet.
15:36 KyleHa '';ll;j./
15:36 eternaleye KyleHa: Do you have a cat, by any chance?
15:36 jnthn KyleHa: the cat's on your keyboad!
15:36 KyleHa That was my toddler, sorry.
15:37 jnthn eternaleye: I can't think of an especially easy way to emit one right off either.. :-/
15:37 eternaleye Hmm... Maybe your toddler selected this channel on purpose... Better get them a computer soon ;D
15:37 masak toddlers type the darndest things.
15:38 eternaleye Now, if said toddler had invoked p6eval, I would be flabbergasted
15:38 Limbic_Region joined #perl6
15:40 masak std: '';ll;j./
15:40 p6eval std 27417: OUTPUT«##### PARSE FAILED #####␤Syntax error at /tmp/NGBQ91bjyZ line 1:␤------> [32m'';ll;j.[31m/[0m␤    expecting postfix_prefix_meta_operator␤Undeclared routines:␤      j used at 1 ␤     ll used at 1 ␤FAILED 00:02 36m␤»
15:40 skids as opposed to cats, which type the damndest things.
15:41 KyleHa Nyuck nyuck nyuck.
15:48 pugs_svn r27418 | pmurias++ | [re-mildew] added --yeast option to mildew which uses the yeast backend
15:48 pugs_svn r27418 | pmurias++ | yeast runs "say 'hi'"
15:49 pmurias ruoso: mildew now has a --yeast option ;)
15:50 masak what is it with you guys and fungal growth? :P
15:51 eternaleye masak: It advances inexorably?
15:51 masak now that's a positive spin on it...
15:55 jnthn At yeast has applications in making beer.
15:55 jnthn erm, at least yeast...
15:56 masak true.
15:59 masak http://use.perl.org/~Aristotle/journal/39232 # Aristotle++
16:03 eternaleye Indeed, Aristotle++
16:04 pmichaud PAST node for tailcall:     PAST::Op.new( :pirop('tailcall'), ... )
16:05 pmichaud but note that tailcalls in Perl 6 aren't nearly that simple
16:05 masak awww :)
16:05 pmichaud (Good morning, #perl6)
16:05 masak mornin', pm.
16:12 edpratomo perl6examples: add edpratomo
16:13 pmichaud edpratomo: I think that's out of date.  Need a commit bit?
16:13 edpratomo yes please
16:14 masak community++
16:14 pmichaud added.
16:14 edpratomo thanks
16:15 pmichaud Perhaps as your first commit you could update the README to say "ask on #perl6 or perl6-users"  or something like that.  :-)
16:15 edpratomo :-)
16:16 cognominal joined #perl6
16:18 cognominal joined #perl6
16:21 alanhaggai joined #perl6
16:28 Chillance joined #perl6
16:28 azawawi joined #perl6
16:28 azawawi hi
16:29 masak o/
16:29 azawawi masak: where does evalbot live?
16:29 masak azawawi: on a server owned by moritz_.
16:30 azawawi evalbot: where do u live? :)
16:32 Psyche^ joined #perl6
16:34 eternaleye rakudo: say %ENV<HOSTNAME>
16:35 p6eval rakudo 6a4d66: OUTPUT«Symbol '%ENV' not predeclared in <anonymous> (/tmp/6RS9c7gZEB:2)␤in Main (src/gen_setting.pm:3279)␤»
16:35 eternaleye rakudo: say %*ENV<HOSTNAME>
16:35 p6eval rakudo 6a4d66: OUTPUT«␤»
16:35 pmurias_ joined #perl6
16:36 eternaleye rakudo: say %*ENV<HOST>
16:36 p6eval rakudo 6a4d66: OUTPUT«␤»
16:36 pmurias azawawi: www.timtowtdi.org
16:37 pmurias azawawi: what do you want from the evalbot?
16:38 azawawi pmurias: i was thinking of adding grok support to it
16:38 masak what would the output be?
16:38 azawawi masak: documentation...
16:39 Pismire joined #perl6
16:39 masak might be a bit flood-y in some cases...
16:39 azawawi masak: maybe we can make it a pastebin link...
16:39 masak was just going to suggest that. :)
16:39 azawawi masak: the idea is still brewing in my mind :)
16:40 masak I see u4x as something that will eventually be on the web too.
16:41 azawawi masak: i was hoping literal will catch up with his grok effort... hence i supported him in padre perl 6 plugin
16:41 masak seems literal++ has been picking up some speed lately.
16:41 azawawi masak: literal+=10 ;)
16:42 masak I've promised to reciprocate by providing u4x documentation for all appearances of the symbol '+' in Perl 6.
16:43 masak maybe that's what I'll be doing tonight, then.
16:43 azawawi masak: cool that would be great
16:43 azawawi masak: any idea what is STD's STASH.pm ?
16:43 masak nope.
16:44 azawawi masak: i was hoping that it would be STD's Symbol table :)
16:44 azawawi masak: stashed... :)
16:46 azawawi masak: i bet rakudo will be finished before the 5.1xxx is released...
16:47 icwiener joined #perl6
16:48 masak azawawi: I don't feel the need to make such a bet. I just hope that people will not blow too much steam at each other, but will find some appropriate compromise that'll keep people productive in the Perl 5 core and Perl 5 community.
16:49 cognominal joined #perl6
16:51 pmurias azawawi: the first 5.1xxx would be 5.1000?
16:53 azawawi pmurias: p5 release process is really very slow these days...
16:56 DemoFreak joined #perl6
17:00 azawawi masak: will u4x contain any keyword/function documentation that is indexable?
17:00 masak yes, that's the point of it.
17:01 pmurias will it provide docs for user modules?
17:02 nihiliad joined #perl6
17:02 masak I don't believe Pod is specified enough for a sensible answer to that question to be possible.
17:03 masak but I sure would like for it to do so, yes.
17:03 masak my vision for grok is to be the perldoc for Perl 6.
17:04 masak (but taking cues from other similar CLI tools, such as ri)
17:07 azawawi masak: cool
17:07 SmokeMachine joined #perl6
17:08 masak for the background to this idea, see my blog post "Pretending that Envy is one of the Perl virtues" -- http://use.perl.org/~masak/journal/38279
17:10 masak (second part is about what became u4x and grok)
17:11 azawawi masak: http://feather.perl6.nl/~azawawi/padre_about_box.png
17:11 moritz_ re
17:11 * azawawi reads
17:11 pmurias ruoso: would it be hard to set up automatic running of smop tests?
17:11 masak azawawi: cute.
17:11 masak moritz_: oh hai
17:12 moritz_ what's up in the land of the lambdamøøse_
17:12 moritz_ s/_/?/
17:14 masak moritz_: well, Hitomi is shaping up. I've adapted the XML grammar you put together for the Hitomi draft.
17:14 azawawi masak: nice article... I really love reading your articles again lol :)
17:15 masak azawawi: thank you. :)
17:15 pugs_svn r27419 | moritz++ | [t] move nested_use.t and the corresponding module files to spec/
17:15 pugs_svn r27420 | moritz++ | [t] merge hash_sub.t into spec/
17:15 pmichaud masak: from the comments on that article.... I wonder what it would take to resurrect the web-based "try Perl6" again?
17:15 pugs_svn r27421 | moritz++ | [t] merge syntax/parsing/filetest.t into spec
17:15 pugs_svn r27422 | moritz++ | [t] merge stmt_or_expr.t into spec/S04-statements/terminator.t
17:15 pugs_svn r27423 | moritz++ | [t] move list_quote_junction.t to spec/
17:15 masak pmichaud: I think it would be really beneficial.
17:15 pmichaud I agree.
17:16 masak I'm willing to help in any way required.
17:16 pugs_svn r27424 | moritz++ | [t] .WHAT fossile
17:16 pugs_svn r27425 | moritz++ | [t] move syntax/POD.t to spec/
17:16 pugs_svn r27426 | moritz++ | [t] each()/list() comprehension is gone.
17:16 pmichaud is Web.pm far enough along that we could do it?  ;-)
17:16 masak I think so.
17:16 pmichaud hmmm.
17:16 pugs_svn r27427 | moritz++ | [t] merge postfix_if_and_is.t into terminator.t
17:16 pugs_svn r27428 | moritz++ | [t] merge parens.t into terminator.t
17:16 masak it's still a bit unwieldy, but it could work.
17:16 masak some XMLHTTPRequest logic might be required for it to work.
17:16 pmichaud maybe I'll give it a shot today (but if anyone else wants to pick it up, that'd be awesome)
17:16 pugs_svn r27429 | moritz++ | [t] merge oo/class_inclusion_with_inherited_class.t into spec/
17:16 pugs_svn r27430 | moritz++ | [t/spec] fix some smartlinks
17:17 masak pmichaud: I'd feel slightly ashamed to expose the current "REPL", though. :/
17:17 masak it's really not adequate. I cannot emphasize this enough.
17:18 masak in my humble (but correct) opinion, fixing the brokenness of the REPL should come before exposing it through a neat Ajax web app.
17:18 moritz_ just like rakudo's REPL ;-)
17:19 masak moritz_: that's the one I'm talking about.
17:19 pmichaud is the only issue with the REPL the fact that it loses local variables from one line tot he next?
17:19 masak pmichaud: no, but that's the only one relevant for the web app, I think.
17:20 moritz_ oh.
17:20 moritz_ pmichaud: it also misses the "P" part of the REPL ;-)
17:20 masak indeed it does.
17:20 pmichaud should the REPL carp about subroutine re-definitions?
17:21 masak pmichaud: not necessarily.
17:21 pmichaud because at some point, it will.
17:21 pmichaud at least, the compiler will do so.
17:21 masak I think the "P" part of the REPL, as well as command history are two things that can be added at the web app layer.
17:21 pmichaud adding the "P" part of the repl isn't too difficult at all.
17:21 masak subroutine re-definitions can be suppressed I guess.
17:22 masak but it's not feasible to accumulate commands into a program and re-run them every time, for example.
17:22 masak that's a non-solution.
17:23 masak do we still have the source code for the old web app?
17:23 masak would be instructive to read it.
17:23 moritz_ it's in the pugs repo.
17:24 * masak looks
17:24 moritz_ misc/runpugs/ maybe?
17:24 masak seems so.
17:24 masak "runpugs: a web terminal for interactive pugs"
17:26 pmurias how switch the working copy to an older revision using git?
17:26 masak git co <sha1>
17:26 moritz_ pmurias: git checkout $sha1
17:27 masak oh, right, 'checkout' :)
17:27 * masak must remember not to use his personal aliases when answering git queries
17:28 masak there's quite a lot of Perl 5 code in runpugs.
17:28 moritz_ aye
17:29 masak not that I mind -- I'm just wondering how easy/hard it'd be to do the same in Web.pm
17:29 masak guess I should make some simple Ajax experiments to find out.
17:35 azawawi masak: i hear the word runpugs :)
17:36 masak azawawi: it's a web app from the Golden Age, which allowed people to run Pugs on a web site.
17:36 * pmurias hates the git revision names
17:36 masak pmurias: you know you don't have to enter all 40 hex digits?
17:37 pmurias how so?
17:37 masak pmurias: usually 6 or 7 are enough to uniquely identify the commit.
17:37 azawawi masak: i know... i helped in making that ajax beast :)
17:37 masak azawawi++
17:39 masak time to go home and prepare food.
17:39 masak see y'all around. o/
17:39 justatheory joined #perl6
18:05 moritz_ whoa, rakudo's 'make spectest' with newest parrot froze my laptop
18:06 moritz_ then I tried again, this time with a ulimit for the resident memory size
18:06 moritz_ froze again.
18:10 lichtkind joined #perl6
18:13 rfordinal joined #perl6
18:14 jnthn moritz_: Ouch.
18:14 jnthn moritz_: Does it do that at a particular point?
18:14 moritz_ jnthn: no idea, I don't watch it intently
18:15 dalek rakudo: dfa317f | moritz++ | t/spectest.data:
18:15 dalek rakudo: two more passing test files for spectest.data
18:15 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/dfa317f1e9caf41cffa09d19c1daabb709cb0cdf
18:15 rfordinal left #perl6
18:15 jnthn Yay, more passing tests. :-)
18:21 moritz_ oh, and my desktop PC stopped working. Guess there aren't enough computrons left in my room...
18:24 kidd_ joined #perl6
18:26 jnthn EOUTOFHARDWARE
18:30 moritz_ I wouldn't mind my desktop PC freezing while I browse on my laptop
18:34 Pismire joined #perl6
18:51 nacho_ joined #perl6
19:03 pmurias joined #perl6
19:04 lisppaste3 skids pasted "blathering for new users: MMD and colonpairs w/o scary types or fancy where clauses." at http://paste.lisp.org/display/83061
19:08 * jjore yearns for smalltalk after seeing skids' post.
19:10 pmurias is there a CLI smalltalk?
19:10 jnthn :3books is the same as
19:10 jnthn :books(3)
19:10 jnthn skids: Is that spec?
19:11 Tene pmurias: gst
19:11 Tene pmurias: there's also the start of a smalltalk implementation for Parrot
19:11 Tene somwehere...
19:11 jnthn (not disputing it is, just don't remember seeing it)
19:13 pugs_svn r27431 | kyle++ | [t] remove empty directories
19:18 moritz_ jjore: just read http://use.perl.org/~jjore/journal/39233?from=rss... system() is called run() in Perl 6 (and rakudo implements it)
19:18 pmichaud jnthn: yes, :3books is same as :books(3)
19:19 pmichaud (it's spec)
19:24 frew|work joined #perl6
19:29 DemoFreak joined #perl6
19:30 pmurias joined #perl6
19:31 jnthn pmichaud: Heh, how cool isthat.
19:31 pmichaud jnthn: it's specifically so that we can do things like   :3x  and :3rd  and :1st and the like
19:32 jnthn rakudo: sub foo(:$books) { $books.say }; foo(:3books)
19:32 p6eval rakudo dfa317: OUTPUT«Statement not terminated properly at line 2, near "(:3books)"␤in Main (src/gen_setting.pm:3279)␤»
19:32 jnthn aww
19:33 jnthn std: sub foo(:$books) { $books.say }; foo(:3books)
19:33 p6eval std 27431: OUTPUT«ok 00:02 38m␤»
19:33 jnthn Heh. I'm so going to implement that tomorrow. It amuses me.
19:33 jnthn (After I finish the traits fun...)
19:40 pmichaud jnthn: Note that colonpair's definition changed significantly in STD.pm yesterday, too.
19:43 Pismire2 joined #perl6
19:53 pugs_svn r27432 | moritz++ | [t/spec] more test descriptions
19:53 moritz_ jnthn: so are you going to finish the trait fun tomorrow?
20:05 skipper joined #perl6
20:07 jnthn moritz_: I hope so.
20:07 jnthn moritz_: Needed to take a decent break from stuff today.
20:08 jnthn Six days mostly in front of the computer from waking up to sleeping = really needed to spend today doing Other Bits. :-)
20:08 jnthn I'm not far from being done, just tracking down the final few issues.
20:11 moritz_ wow
20:11 cognominal joined #perl6
20:11 eternaleye jnthn++ # rewiring things that need improved
20:12 jnthn It's not anything like as complex a refactor as the method dispatch one. But I kinda had that better planned out and bits prototyped.
20:13 jnthn Overall, I'm fairly happy with how it's looking.
20:13 pmichaud jnthn: is a "rw" property change likely to cause you pain?
20:13 jnthn pmichaud: What do you expect that would touch?
20:13 pmichaud assignment, mainly.
20:13 jnthn But rw handling for attributes in actions, for example, now looks quite different.
20:13 pmichaud binding, a bit.
20:13 jnthn Are you wanting to work on it today?
20:14 pmichaud yes, somewhat.  But I can stage it.
20:14 jnthn Because if you can take us regressing one test file with four tests in it until tomorrow, I think that is mostly what I was down to.
20:14 pmichaud oh, I can definitely take that.
20:14 pmichaud wait, which file?
20:14 jnthn (I was completely baffled as to why it failed when so much else passed.)
20:14 jnthn S14-role/crony.t
20:15 jnthn Let me fire off a spectest run now
20:15 jnthn To make sure that really is the current state of things.
20:15 pmichaud Sure, just comment it out of spectest.data
20:15 pmichaud I don't have a problem regressing on that.
20:15 pmichaud I'd feel much more comfortable about working on "rw" then.
20:15 pmichaud I'm not entirely sure I'll get to "rw" today, but it's looking likely.
20:15 jnthn OK.
20:16 moritz_ pmichaud: fwiw, rakudo's spectest with a brand new parrot looked rather weird: froze one machine, and had only two problems on another
20:16 moritz_ both amd64 + debian lenny
20:16 jnthn I'm going to merge in latest changes and then spectest.
20:16 pmichaud moritz_: "brand new parrot" meaning "parrot head" or "build/PARROT_REVISION" ?
20:17 moritz_ pmichaud: head
20:17 pmichaud moritz_: okay.  I was about to run new tests on parrot head right now
20:17 moritz_ the one that supposedly had the GC issues fixed
20:17 pmichaud moritz_: I want to get an updated GC report.
20:18 pmichaud As of yesterday 39883 was still giving problems (different from my original report)
20:18 jnthn pmichaud: BTW, a diff stat: 370 insertions(+), 467 deletions(-)
20:18 pmichaud jnthn++ # excellent!
20:18 pmichaud most of that coming out of guts.pir ?
20:18 KyleHa joined #perl6
20:18 pmichaud or actions.pm ?
20:18 jnthn pmichaud: guts.pir got massively shorter
20:18 jnthn Well
20:19 pmichaud good.
20:19 pmichaud it should.
20:19 jnthn It lost all of the traits stuff
20:19 jnthn All of those are in traits.pm (yes, the setting!)
20:19 pmichaud nice.
20:19 jnthn With inline PIR in many.
20:19 jnthn But I suspect we can improve on that.
20:19 pmichaud that's fine
20:19 jnthn I just didn't want to re-write everything at once.
20:20 pmichaud I'm a little surprised that we don't need traits for the stage 1 compiler...?
20:20 jnthn Not at the moment.
20:20 jnthn Because we compile traits down to calls to trait_mod:is(...) and so forth.
20:21 pmichaud interesting.  I guess the specific traits we need are in the compiler itself (e.g., 'rw')
20:21 jnthn Yes
20:21 jnthn Some are compiler handled.
20:21 jnthn I've tried to do that neatly.
20:21 pmichaud that seems very workable.
20:21 pmichaud I'll let you know :-)
20:22 jnthn Oh, I'm sure you'll have some good feedback. :-)
20:23 pmichaud but overall I'm *very* happy with the way traits have been redesign in the spec
20:23 pmichaud so I expect the code to likewise make me happier :-)
20:24 jnthn Yeah.
20:24 jnthn It made me fix up MMD first to make it happen too. :-)
20:27 pmichaud the fact that traits are in traits.pm make me very happy (and I'm a bit wowed by the fact that you did it :-)
20:27 tann joined #perl6
20:45 moritz_ ok, on the machine that froze during the last spectest run it now went through (with about 1GB limit in both virtual and resident memory)
20:45 moritz_ I still observer the "Method 'succ' not found for invocant of class 'Method'" failures on that one
20:46 moritz_ *observe
20:54 skipper joined #perl6
20:55 moritz_ rakudo: say [X] [<a b c>] xx 3
20:55 p6eval rakudo dfa317: OUTPUT«a b ca b ca b ca b c␤»
20:55 moritz_ rakudo: say <a b c> X <a b c> X <a b c>
20:55 p6eval rakudo dfa317: OUTPUT«aaaaabaacabaabbabcacaacbaccbaababbacbbabbbbbcbcabcbbcccaacabcaccbacbbcbcccaccbccc␤»
20:55 moritz_ rakudo: say [<a b c>] X [<a b c>] X [<a b c>]
20:56 p6eval rakudo dfa317: OUTPUT«a b ca b ca b c␤»
20:56 KyleHa moritz_: Thanks for cleaning up after me.
20:56 moritz_ somehow [X] doesn't make sense at all without captures or slice context
20:57 moritz_ KyleHa: if you're referring to p6l post, that item has been "dirty" for quite some time now
20:57 pmichaud I don't quite understand what the first was intended to produce.
20:58 moritz_ KyleHa: oh, and thanks for cleaning up after me (deleting empty dirs)
20:58 KyleHa Yeah, it has.  I'm really talking about adding descriptions to tests I wrote but didn't understand (r27432).
20:58 moritz_ pmichaud: neither do I. but I'm supposed to write tests for [X], and I have no idea what the result should be.
20:58 moritz_ KyleHa: ah, that. You're welcome.
20:59 pmichaud moritz_: I agree that [X] without slice context seems a bit confusing
20:59 moritz_ pmichaud: (RT #67064)
20:59 moritz_ rakudo: my @a = <a b c>; say [X] @a, @a;
20:59 p6eval rakudo dfa317: OUTPUT«acbcacbcccbcacbcbcbcacbcccbcacbc␤»
21:00 moritz_ pmichaud: ok, thanks
21:01 KyleHa moritz_: I'm running your test-for-tickets reporter every five minutes now.
21:04 moritz_ KyleHa: I saw some of the mails, thank you
21:05 moritz_ KyleHa: there's one thing you should modify... currently it says "... are now available in t/t/spec/S12-attributes/recursive.t"
21:05 moritz_ KyleHa: that's because my git-svn clone only covered t/, yours seem to cover the whole pugs repo
21:05 moritz_ so you need to remove a t/ somewhere in the interpolation
21:06 KyleHa Oh, OK.  I'll fix that.
21:09 KyleHa Done.  My git-svn does cover all of pugs.  I only made it to run the test reporter.  I do my work in a regular svn checkout next door.
21:17 spooneybarger joined #perl6
21:22 pugs_svn r27433 | jnthn++ | [t/spec] Tweak fuding to make sure we don't try and compile is context - we don't get away with parsing unimplemented traits any more.
21:24 jnthn OK folks, triats refactor landing tonight after all.
21:24 moritz_ great.
21:25 jnthn Regressing S12-attributes/mutators.t since it tested lvalue subs (unimplemented) and Proxy (also unimplemented) and before was getting away with it to get some right answers! :-)
21:25 jnthn And also (temporarily) regressing S14-role/crony.t, but that should be resolved tomorrow when I fidn the Very Odd Bug. Odd because every single other roles test passes.
21:27 jauaor joined #perl6
21:30 dalek joined #perl6
21:32 jjore moritz_++ re: s/system/run/. Seems like an odd thing to change.
21:33 jnthn That dalek flood ws the traits commit.
21:33 jnthn *was
21:33 jnthn OK, I'm off to learn some more hiragana, and relax a bit. Catch you all tomorrow.
21:33 moritz_ jjore: well, it's called system() in perl 5 because that's what the system call is called. It's called run() in Perl 6 because that describes what it does - runs programs
21:34 moritz_ jjore: but it took me some time getting used to, too
21:34 skids jnthn++ l8r
21:35 jjore Yeah, but POSIX++, man! I get to use the same-ish API in all my reasonable programs.
21:35 dalek rakudo: 0e8a86a | (Matthew Walton)++ |  (3 files):
21:35 dalek rakudo: Move infix:<leg> to the setting.
21:35 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0e8a86a7244bd22a72810a4ae75f753efb8c8017
21:35 moritz_ dammit, I forgot the -s switch again :/
21:36 moritz_ (to generate the signed-off-by line)
21:36 jjore If run() is like Perl 5's IPC::Run it makes sense to rename it because it's more powerful than just accepting a string for /bin/sh or a list for fork/execve.
21:36 jjore but I'd still want system() for the simple stuff.
21:38 cognominal jnthn,  you forgot to add Albi to you travel map  :)
21:40 moritz_ Matt-W++
21:41 literal @tell azawawi I fixed that bug you mentioned
21:41 lambdabot Consider it noted.
21:42 dalek grok: af59b19 | (Hinrik Örn Sigurðsson)++ |  (3 files):
21:42 dalek grok: Fix synopsis name parsing a bit.
21:42 dalek grok: It was acceptin 's02' but not 's02-bits'.
21:42 dalek grok: review: http://github.com/hinrik/grok/commit/af59b19c82f04e3b57eac63f24b7f97ab2497bce
21:42 dalek grok: 749fd9a | (Hinrik Örn Sigurðsson)++ | :
21:42 dalek grok: Merge commit 'origin/master'
21:42 dalek grok: Conflicts:
21:42 dalek grok: Changes
21:42 dalek grok: review: http://github.com/hinrik/grok/commit/749fd9a7adc39e4c058b5747d5dc411a2d14434d
21:42 Tene jnthn: writing a blog post about the traits work?
21:42 jnthn cognominal: Hmm, for some reason I seem to be misisng the photos from that.
21:43 jnthn Tene: Yes, there'll be one for sure.
21:43 Tene :)
21:43 jnthn Tene: Now I'm more on top of the coding, I plan to catch up a bit on the blogging in the next couple of days.
21:44 skids rakudo.org can haz contentz?
21:44 jnthn cognominal: Not entirely sure where they got to either.
21:45 jnthn cognominal: That was not at all long after I'd just moved to Slovakia though, so everything was chaos then. :-)
21:48 cognominal jnthn, I don't remember you took photos. so that may be why iti is missing from your nice site
21:48 jnthn cognominal: That could well be the issue.
21:48 jnthn cognominal: I remember I was quite exhausted the night we arrived.
21:48 jnthn And didn't stay around much after the conference days.
21:50 cognominal I messed your trip too with the missed connexion with BooK
21:50 cognominal but the light was nice in the train
21:50 jnthn Heh, wasn't really anyones fault, just some confusion.
21:50 amoc joined #perl6
21:51 cognominal anyway, next year, we count on you for some presentation :)
21:51 jnthn Yes, next year I hope I can make it to France. :-)
21:52 cognominal s/presentation/talk/
21:56 jnthn afk for a bit
22:01 jjore While writing ...subst( rx:i/ ... /, ... ) I'm told that colons cannot be used as delimiters in quoting constructs. Am I doing it right?
22:02 moritz_ jjore: you are. It's just that rakudo doesn't parse the :i correctly
22:02 moritz_ jjore: you can write rx/ :i .. / instead, though
22:03 jjore Thanks!
22:05 moritz_ you're welcome
22:06 moritz_ oh, and if you want to do a global replace, you can always say $str.subst(rx/:i .../, $replacement, :g)
22:06 jjore No, I'm just fixing up the editor hints at the end of a source file so it's only going to happen once.
22:06 jjore but thanks
22:09 Pismire joined #perl6
22:10 moritz_ I didn't really read your blog post, just skimmed over the code
22:11 jjore No problemo. I figured I'd eventually make time to find out what the rest of my problems were but it wasn't at that moment.
22:12 jjore Also, not right now either. I'm fixing a friend's computer today.
22:12 jjore Your :i suggestion was well appreciated though.
22:12 moritz_ have fun :)
22:13 moritz_ rakudo: say 'A' ~~ /:i a/; # just to be sure it actually works ;-)
22:13 p6eval rakudo 0e8a86: OUTPUT«A␤»
22:26 lichtkind joined #perl6
22:45 justatheory joined #perl6
23:08 DemoFreak joined #perl6
23:42 last joined #perl6
23:49 payload joined #perl6

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

Perl 6 | Reference Documentation | Rakudo