Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-09-28

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 nihiliad joined #perl6
00:04 pmurias joined #perl6
00:05 jrtayloriv which parts of actions.pm would I look in, if I wanted to understand how Rakudo generates the PAST for this? --> my $sub_ref = { say "hello" }
00:07 jrtayloriv i.e. for storing a ref to an anonymous sub in a scalar
00:08 patspam1 joined #perl6
00:09 jrtayloriv i.e. for storing a ref to an anonymous sub in a scalar
00:09 jrtayloriv ahh
00:09 jrtayloriv oops I meant --> my $sub_ref = sub () { say "hello" }
00:10 * jrtayloriv feels like his brain got replaced with a sack of three-week old hamburger meat.
00:11 diakopter oh, you must've gotten my brain
00:13 __ash__ joined #perl6
00:14 jrtayloriv :)
00:14 diakopter eureka! just finally realized how to make ok() and is() and isnt() work
00:15 diakopter without going to a ton of wasteful trouble
00:17 wayland76 Why did you say "Give me a towel" in Ephebian?
00:18 diakopter convention
00:29 rhr_ joined #perl6
00:36 quietfanatic diakopter: precedence
00:41 diakopter hm
00:41 diakopter preceDENT
00:49 [particle]1 joined #perl6
00:50 Student joined #perl6
00:58 frew__ joined #perl6
01:14 rfordinal joined #perl6
02:16 rhr joined #perl6
02:22 TiMBuS joined #perl6
02:22 JimmyZ joined #perl6
02:42 sjohnson howdy wayland76 long time no see
02:42 rhr_ joined #perl6
02:44 pugs_svn r28444 | lwall++ | [S12] require parens on .'method'() form
02:52 pugs_svn r28445 | jimmy++ | [Spec/S02-bits.pod]fixed typo, intro -> into.
03:02 diakopter JimmyZ: ping
03:02 JimmyZ hello
03:03 diakopter last commit - it is an 'intro line'
03:03 JimmyZ ah
03:03 diakopter how about this instead, though
03:04 JimmyZ not split sth. into sth?
03:05 diakopter "so you can split heredoc introduction lines when they are excessively long:
03:05 diakopter "
03:05 diakopter sez Ceiling Cat himself
03:05 JimmyZ I see.
03:07 * diakopter Vicar of Ceiling Cat at the moment
03:13 pugs_svn r28446 | jimmy++ | [Spec/S02-bits.pod]revert r28445, it's not typo. diakopter++ and JimmyZ--
03:14 pugs_svn r28447 | lwall++ | [STD]
03:14 pugs_svn r28447 | require () on .'foo'() calls
03:14 pugs_svn r28447 | delete obsolete .:foo form
03:15 pugs_svn r28448 | jimmy++ | [zh-cn/syn/S02-bits.pod]added more translation for Whitespace and Comment, which is done. diakopter++ for clarify.
03:37 scottp joined #perl6
03:42 rhr joined #perl6
03:55 tylerni7 joined #perl6
04:05 buu Hrm
04:05 buu Is there any documentation regarding decision decisions about false values in perl5?
04:06 buu eR
04:06 buu Design decisions
04:07 quietfanatic Perl5? I believe 0, "", and "0" are all considered false.
04:07 quietfanatic I think that's documented somewhere.
04:08 quietfanatic yes, in perldoc perldata
04:22 pugs_svn r28449 | diakopter++ | [vijs] implement Test.pm in JavaScript. ready to *try to* run the test suite after some more file moving
04:26 pugs_svn r28450 | diakopter++ | [vijs] file rearranging...
04:36 pugs_svn r28451 | diakopter++ | [vijs] more files
04:37 pugs_svn r28452 | diakopter++ | [vijs] file movement
04:38 pugs_svn r28453 | diakopter++ | [vijs] more file deletion/movement
04:40 pugs_svn r28454 | diakopter++ | [vijs] more file movement
04:55 mikehh rakudo (0331d60) builds on parrot r41540 - make test / make spectest_smolder (up to 28454 -> #28223) PASS - Ubuntu 9.04 amd64
05:03 jauaor joined #perl6
05:04 mberends sorry diakopter, tuit fail :( commute &
05:20 jaldhar joined #perl6
05:24 jaldhar joined #perl6
05:30 pugs_svn r28455 | diakopter++ | [vijs] yay; test mode works
05:32 diakopter phenny: tell pmurias I moved most of vijs back the way it was (except the main .pl you split out), b/c it was just too difficult to run it in a different directory with the new test mode .setting
05:32 phenny diakopter: I'll pass that on when pmurias is around.
05:33 Woodi joined #perl6
05:36 Woodi hi, i would like to report bug/issue in rakudo build process: generating src/gen_setting.pir on 128Mb machine failed - not finished in 8h becouse of swapping
05:37 Woodi maybe proces can be divided in some way ?
05:38 diakopter std: say 3
05:38 p6eval std 28454: OUTPUT«ok 00:01 95m␤»
05:39 pugs_svn r28456 | diakopter++ | [vijs] fixing paths
05:41 diakopter std: say 3
05:41 p6eval std 28454: OUTPUT«ok 00:01 95m␤»
05:41 pugs_svn r28457 | diakopter++ | [vijs] remove vijs specifics from STD Makefile
05:48 Woodi k, send to hi, i would like to report bug/issue in rakudo build process: generating src/gen_setting.pir on 128Mb machine failed - not finished in 8h becouse of swapping
05:48 Woodi [09:36] < Woodi> maybe proces can be divided in some way ?
05:49 Woodi sory, send to rakudobugs
06:14 Confield left #perl6
06:14 rfordinal joined #perl6
06:16 Confield joined #perl6
06:16 snearch joined #perl6
06:28 jaldhar joined #perl6
06:31 zloyrusskiy joined #perl6
06:47 Woodi hwy, what is SMOP status ? i mean: what is p6 status on SMOP? and why noone implements p6 in plain C ? or just lex/bison rules for getting C code...
06:53 moritz_ SMOP is "just" a runtime library
06:53 moritz_ there's a compiler that targets it, it's called "mildew"
06:53 moritz_ pmurias is working on that
06:53 Woodi so SMOP is another parrot ? so what about p6 ? :)
06:54 moritz_ the reason not to use flex/bison is that we learned from Perl 5 that it's not a good idea
06:54 moritz_ it makes it rather hard to modify the grammar dynamically
06:54 iblechbot joined #perl6
06:54 Woodi it's fast...
06:56 Woodi by grammar you mean general p6 grammar or grammar of sub-languages/rules ?
06:56 moritz_ both
06:59 Woodi k, will think about now
07:02 rfordinal joined #perl6
07:06 mariuz joined #perl6
07:06 hanekomu joined #perl6
07:24 baest joined #perl6
07:33 kent\n joined #perl6
07:40 Matt-W Morning
08:01 zev joined #perl6
08:02 pugs_svn r28458 | lwall++ | [STD]
08:02 pugs_svn r28458 | make mechanism for checking infix ops in EXPR reduce
08:02 pugs_svn r28458 | delay .= check till EXPR reduction time
08:05 icwiener joined #perl6
08:07 sdvsdvsdv joined #perl6
08:11 Woodi how i can find STD i see everywhere ? :) is it std tests collection ?
08:11 Matt-W STD.pm is the canonical Perl 6 parser
08:11 Matt-W it lives in the pugs repository
08:11 Matt-W it doesn't actually run Perl 6, but it does tell you what it means
08:11 Matt-W std: say "Is this okay?"
08:11 p6eval std 28454: OUTPUT«ok 00:02 95m␤»
08:12 moritz_ it's in src/perl6/ in the pugs repo
08:12 moritz_ http://svn.pugscode.org/pugs/src/perl6/STD.pm
08:12 Matt-W moritz_++
08:14 Woodi so it is something like official p6 syntax source ?
08:14 Matt-W it's as close to an official parser as we're ever likely to get
08:14 jnthn Yes, it specifies the standard Perl 6 syntax.
08:14 Matt-W The intention is for it to be *the* parser really
08:14 Matt-W makes my head hurt though
08:14 jnthn Rakudo is aiming to converge towards having a grammar very much like it.
08:15 jnthn And perhaps some day, identical.
08:15 Matt-W It makes sense, there's not much point having two different ones without a good technological reason
08:16 jnthn Aye, though right now we have technological reasons. ;-)
08:16 ejs joined #perl6
08:16 * jnthn looks forward to convergence.
08:17 moritz_ well, the most important reason is that deviations from the standard grammar have to work identically in all compilers
08:17 Matt-W aye but ours is temporary
08:17 jnthn Matt-W: Yes, true.
08:17 moritz_ and having the same grammar is basically the only option to ensure that
08:17 Matt-W it does help ensure compatibility :)
08:17 moritz_ otherwise you'd need a *very* clever emulation of that
08:17 Matt-W although there will be incompatibilities, it's inevitable
08:18 moritz_ that's why we need a huge test suite.
08:21 Matt-W mmm
08:21 * moritz_ just noticed that the edit distance between 'huge' and 'hugme' is 1
08:21 Matt-W more tests! more tests!
08:22 moritz_ Matt-W: patches welcome :-)
08:22 Matt-W I knew you were going to say that
08:22 moritz_ (you know that was going to come, don't you? :-)
08:22 Matt-W Unfortunately I'm insanely busy at the moment
08:22 Matt-W out every night this week again. I think I should cut back on something.
08:22 carlin phenny: tell masak to make a look at http://gist.github.com/195295
08:22 phenny carlin: I'll pass that on when masak is around.
08:24 NorwayGeek joined #perl6
08:24 moritz_ carlin: you could add that to the proto repo
08:24 moritz_ carlin: (and if you don't have a commit bit for proto already I can give you one)
08:25 ejs1 joined #perl6
08:26 Woodi ANSI p6 would be nice :) but i see STD.pm want more - instant source compability among compilers :)
08:27 moritz_ isn't that what all standards aim for? (but not always achieve, obviously)
08:27 Matt-W moritz_: that's the general idea, I thought
08:27 Woodi it is. ANSI/ECMA are like skeletons...
08:27 Woodi so tests are in pugs too ?
08:28 Matt-W yup
08:28 carlin moritz_: I'm not sure how best to integrate it into proto, ie. when it should install and how it should be installed
08:29 moritz_ carlin: just add it without installing it, the user can take herself
08:29 moritz_ carlin: but having it in a repo is a big help, because it means it won't get lost
08:31 Woodi one thing more... how complete is STD.pm ?
08:31 pugs_svn r28459 | lwall++ | [t/spec/S12] require () on .'method' and friends
08:31 carlin moritz_: fair enough, if you give me a commit bit I'll add it in
08:32 moritz_ carlin: is you github ID also 'carlin'?
08:32 carlin carlins
08:32 carlin with an 's'
08:32 moritz_ hugme: add carlins to proto
08:32 * hugme hugs carlins. Welcome to proto!
08:33 carlin Thanks :)
08:33 moritz_ that's hugme's real purpose - the hugging features are just playful additions
08:39 Matt-W hugme: hug moritz_
08:39 * hugme hugs moritz_
08:40 NorwayGeek joined #perl6
08:59 masak joined #perl6
08:59 * masak yawns
08:59 phenny masak: 08:22Z <carlin> tell masak to make a look at http://gist.github.com/195295
09:01 masak carlin: you rock, sir.
09:02 moritz_ indeed
09:02 moritz_ carlin++
09:03 moritz_ we should have proto commits here reported by dalek
09:03 moritz_ any objections?
09:03 masak none other than the usual one :)
09:03 moritz_ which one is the usual one?
09:04 masak that proto isn't the Real Thing, and we should be looking forwards as much as possible instead of getting comfy with proto.
09:04 masak maybe I'm gradually losing my license to say that, however, as proto development is mainly being guided by mberends++ and viklund++ nowadays...
09:04 moritz_ speaking of which
09:05 moritz_ if we are to make proposals to the new CPAN meta spec, we need to so this week
09:05 moritz_ I considered writing a spec for a 'language' or maybe 'compiler' attribute
09:05 masak do it!
09:06 moritz_ which the usual toolchain has to ignore if it's present and something different than 'perl5' or 'Perl 5'
09:06 moritz_ but ENOTUITS so far
09:07 moritz_ http://www.nntp.perl.org/group/per​l.cpan.workers/2009/08/msg199.html
09:07 moritz_ 2. The Call for Proposals will close on Oct. 1, 2009
09:07 * moritz_ needs to hurry up
09:11 cognominal how a package level variable is stored in rakudo?
09:12 cognominal I suppose that's implemented by the namespace pmc...
09:12 moritz_ so do I
09:13 moritz_ at least it's found by a get_hll_global
09:32 jnthn Yes, get_hll_global walks through namespace PMCs to do its work.
09:32 dakkar joined #perl6
09:32 masak jnthn!
09:33 jnthn masak!
09:33 masak jnthn: you don't need a Twitter account, you're there anyway. last month it was in Japanese, this month it's in Korean. :)
09:34 NorwayGeek joined #perl6
09:37 pugs_svn r28460 | jimmy++ | [zh-cn/syn/S02-bits.pod]added random translation, masak++ for explanation.
09:38 jnthn "real life Twittering"
09:39 xinming joined #perl6
09:39 masak jnthn++ # RLT
09:39 NorwayGeek joined #perl6
09:40 Matt-W imagine trying to talk in 140 characters or less
09:40 Matt-W I'm always bumping into that limit on my tweets
09:40 masak Matt-W: so is everybody. I think the trick is to make it shape your tweets rather than limit them.
09:41 masak Matt-W: ...and, if that turns out to be totally impossible, write a blog post. :)
09:41 yves joined #perl6
09:42 pugs_svn r28461 | jimmy++ | [zh-cn/syn/S02-bits.pod]fixed typo.
09:42 Matt-W :)
09:42 Matt-W yes
09:44 NorwayGeek joined #perl6
09:45 Matt-W Hah, my work are trying to entice us all to have our free 'flu jabs by mentioning in every email that you get a sweetie
09:46 masak o?
09:47 Matt-W I think they mean the nurse gives you a lollipop afterwards
09:48 Matt-W It also has a very big warning that this is not the vaccine for swine flu etc. etc.
09:48 Matt-W although I hear they're on the verge of approving one of those, which is pretty impressive
10:02 zloyrusskiy joined #perl6
10:10 bsb joined #perl6
10:16 jnthn Matt-W: IMNSHO, a lollipop isn't really worth getting a needle stuck in your arm.
10:16 Matt-W jnthn: that's what I said
10:16 masak :)
10:16 Matt-W I'm not in the at-risk group for seasonal flu anyway
10:16 Matt-W Perhaps if they offer us pandemic flu vaccines at some point
10:17 arnsholt I take it none of you are blood donors? =)
10:17 Matt-W Unfortunately not
10:17 Matt-W my dad's donated loads
10:17 Matt-W but I just can't face it. Makes me feel bad sometimes.
10:18 Matt-W Surely I should be able to continue what he's doing
10:18 Matt-W If you know any good treatments for phobias which the sufferer is fully aware of the irrationality of, please let me know
10:18 arnsholt Well, if you really have a problem with needles, its a valid excuse, if you ask me
10:18 * masak gives blood
10:19 masak I don't like the thought of someone sticking a needle in me, but I trust the professionalism of the complete strangers who do it.
10:20 Matt-W Reading about it makes me squirm
10:20 Matt-W Talking about doing it makes me feel nauseous
10:21 masak sorry.
10:21 Matt-W It's okay, I'm theo ne who mentioned it
10:21 masak I don't think I have very many phobias.
10:21 Matt-W It's my big one, head and shoulders above the others
10:21 jnthn Matt-W: I'm *extremely* hemophobic and in general hypocondriac.
10:21 masak I'm not afraid of heights. I even like complete darkness.
10:21 jnthn It is my only major issue.
10:21 Patterner what about Clowns?
10:21 Matt-W jnthn: I have no problem with blood, it's the needles
10:22 jnthn clowns are fine.
10:22 jnthn Matt-W: ah, ok
10:22 Matt-W trypanophobia I believe it's called
10:22 masak I'm deeply scared of massive ignorance, but I don't think that counts.
10:22 Patterner only if there is a long -phobia word for it
10:22 arnsholt Matt-W: My Greek is bad, but that sounds about right. Might be Trepanophobia
10:22 jnthn dumbidiotophobia
10:23 Matt-W "Trypanophobia, Belonephobia, Enetophobia – fear of needles or injections." according to wikipedia's list of phobias
10:23 cognominal PHPpobia
10:23 cognominal *PHPphobia
10:24 * jnthn is has a hunger...bbiab
10:24 Patterner is it a phobia if it is justified?
10:24 TiMBuS a phobia is an irrational fear.
10:25 TiMBuS beaten
10:25 Matt-W yeah phobias of this type are supposed to be irrational
10:26 Matt-W I know it's entirely irrational, one of my friends is an insulin-dependent diabetic and injects himself several times a day and comes to no harm (quite the opposite in fact), so why should I react so strongly to the idea of a simple vaccination?
10:26 masak http://gist.github.com/195336 # blog post example teaser
10:27 masak lunch &
10:28 Matt-W masak: that table creation call concerns me
10:28 Matt-W shouldn't the field specs be pairs?
10:29 masak Matt-W: let's talk about it after lunch. :)
10:29 masak Matt-W: but yes, that's a valid point.
10:30 masak Ruby's Sequel used a "DSL" for the table creating...
10:31 Matt-W which we can't do yet
10:32 Matt-W but we can probably do better once we've got macros
10:32 Matt-W yes, after lunch
10:39 carlin oh, all proto's commands accept multiple options
10:39 carlin easy fix I think
10:39 carlin How does proto track what is already installed?
10:56 TiMBuS is there a way to reduce a match tree in rakudo to just a hash/array/string.. tree?
10:57 TiMBuS i know you can turn the current part of the tree into a hash using %() but it doesnt recurse down
10:58 cognominal jnthn, the marshall cache probably should per interpreter instead of per p5 namespace. Can I change that?
11:06 masak carlin: old way: check for directories under the project/ directory. new way: something with a status file. mberends will know the details.
11:07 jferrero joined #perl6
11:07 masak oh, and the old way is still the default. it's what the master branch does.
11:07 carlin A status file sounds good
11:08 carlin then ./proto update <tab> could be made to only list installed projects
11:08 moritz_ TiMBuS: only by traversing, I think
11:09 moritz_ TiMBuS: $/.caps or $/.chunks might help you with traversing
11:09 masak Matt-W: how about $DB.create_table: 'fruits', 'primary_key' => 'id', 'String' => 'name', 'Int' => 'qty';
11:10 am0c joined #perl6
11:12 TiMBuS moritz_, aw :(
11:13 TiMBuS it gets annoying that i have too keep stringifying things as i pass them around
11:13 TiMBuS doesnt feel very perl
11:13 moritz_ no, it does not
11:13 moritz_ when writing the code for the series operator I used an ugly workaround
11:13 moritz_ take do { my $y = $x };
11:14 moritz_ instead of 'take $x';
11:14 TiMBuS agh
11:15 moritz_ that was a pretty ranty commit message
11:15 moritz_ f2acdbb6487f6959894c457762e3bbc7ea2d6f7a
11:25 masak moritz_: are those warn statements supposed to be part of the commit?
11:25 moritz_ masak: look at the next commit too :-)
11:25 masak aha :)
11:27 moritz_ oh, and the one after that (a33b90) looks pretty simple, but the asymmetry in the reverse case ('d' ... 'a') caused quite some headache for me
11:27 * cognominal studies ties and xs for blizkost
11:29 moritz_ rakudo: say eval(q[ sub f { 34 }; bless {}], :lang<perl5>).f
11:29 p6eval rakudo 0331d6:  ( no output )
11:29 ihrd joined #perl6
11:29 ihrd left #perl6
11:30 moritz_ rakudo: say eval(q[34], :lang<perl5>);
11:30 p6eval rakudo 0331d6: OUTPUT«34␤»
11:30 masak moritz_: what'd happen in the third case, when ($lhs cmp $rhs) == 0?
11:31 moritz_ rakudo: say ('a' ... 'a').perl
11:31 p6eval rakudo 0331d6: OUTPUT«["a"]␤»
11:31 masak that looks right to me.
11:31 * moritz_ bows
11:32 masak moritz_++
11:35 pugs_svn r28462 | moritz++ | [t/spec] test one-element magic series (1...1), masak++
11:36 masak heh.
11:37 masak rakudo say (1 ... 1).perl
11:37 masak rakudo: say (1 ... 1).perl
11:37 p6eval rakudo 0331d6: OUTPUT«[1]␤»
11:37 Matt-W masak: when you do it as pairs, having the type on the left feels very strange
11:38 masak Matt-W: aye. good point.
11:38 masak API change coming up! :)
11:38 Matt-W I'm also wondering about how you'd do things like default values, null-ness, etc.
11:38 moritz_ foreign keys
11:38 masak short answer: 'like Sequel does them'.
11:41 Matt-W :)
11:48 masak long answer: it's entirely possible that this new pairs syntax won't be as powerful as the DSL Sequel uses, but that's OK. it works for now, which is the goal. we can always deprecate this simplistic calling syntax when cooler things are possible.
11:49 jnthn cognominal: Not sure I follow. The idea was that when we handed back a PMC wrapping something in the namespace, we stashed that PMC away so we could return the same one next time.
11:49 jnthn cognominal: If you do that per interpreter, I guess you'll have to nmae-mangle stuff, but I'd rather we avoided that...
11:50 cognominal I guess I misunderstood the purpose of this cache
11:51 jnthn cognominal: I probably didn't comment my intent for it well enough, my bad.
11:52 jnthn cognominal: Did you ever make any progress looking into the segfault on use CGI; CGI.new.header ?
11:52 jnthn erm
11:52 jnthn use CGI:from<perl5> that is
11:52 cognominal nope.
11:52 cognominal I also have a crash when calling blizkost directly instead of perl5.pir
11:53 jauaor joined #perl6
11:53 jnthn Odd
11:53 jauaor :)
11:53 masak Matt-W: http://gist.github.com/195336
11:53 jnthn I'll have to try and get Perl 5 sources too when I get home from travels.
11:53 jnthn Then I may get a little more insight into where / why / how it explodes.
11:54 cognominal as I said, I learn xs and perl 5 ties so as to access perl6 types fron perl5
11:54 jnthn cognominal: That'll be great. cognominal++
11:54 jnthn Fixing the other bug is what is really the blocker for blizkost being useful though.
11:55 jnthn well
11:56 jnthn being useful for using some basic Perl 5 modules.
11:58 Matt-W masak: looks nice. Some sort of DSL will ultimately be the way to go I think, but obviously we need a bit more compiler support.
11:58 masak right. this is a goodenuf solution.
11:58 Matt-W it's enough for the time being
11:58 Matt-W achievable and all that
11:59 masak yes, that helps.
12:00 jnthn masak: Does that code you no-pasted run?
12:00 masak jnthn: aye. and it does what it promises.
12:01 jnthn masak: Wow, great!
12:01 jnthn masak: One thing, this line:
12:01 masak :D
12:01 jnthn for $fruits.filter(Squerl::LiteralString.new('qty > 35')).llist {
12:01 masak yes, sorry about that.
12:01 jnthn Quite a lot of code?
12:01 masak yes... :/
12:01 masak it's a work in progress...
12:02 jnthn masak: Sure, that's just the bit that stood out to be as "gee, I hope that bit progresses" ;-)
12:02 jnthn But overall, excellent.
12:02 masak eventually you'll be able to write at least `literal('qty') > 35`... but it only Almost Works right now.
12:03 masak actually...
12:03 * masak tries it
12:03 jnthn Out of interest, you have: Squerl.sqlite('example.db');
12:03 Patterner spectests shouldn't fail, right?
12:03 jnthn Does that mean the Squerl class will need to know about all posible DB types? Or you plan to have an autoload-ish solution in the end?
12:03 Matt-W why is it .llist - what does the extra l stand for?
12:04 masak Matt-W: workaround.
12:04 Matt-W masak: workaround begins with a w
12:04 masak jnthn: dunno. I haven't found a mechanism for it in Perl 6.
12:04 masak Matt-W: if I define a .list method, bad things happen, OK? :)
12:04 jnthn masak: IIRC, there is one.
12:04 Matt-W There'd better be
12:04 masak jnthn: I'd love to hear more about that.
12:04 jnthn masak: but nyi
12:04 jnthn It may be CANdO
12:04 jnthn erm, CANDO
12:04 jnthn or something
12:04 Matt-W masak: oh dear. Rakudobug?
12:05 masak Matt-W: know one, yes.
12:05 jnthn masak: Yes
12:05 Patterner t/spec/S12-methods/calling_syntax.t failed
12:05 jnthn CANDO, see S10
12:05 masak it's an extra fun one with roots all the way down into Parrot calling conventions.
12:05 masak jnthn: thanks.
12:06 jnthn Patterner: Which tests?
12:06 * jnthn will try and implement that in the not excessively distant future.
12:06 jnthn It'd be a nice to have.
12:06 jnthn When the Rakudo Day's resume. :-)
12:07 masak when do they resume? :>
12:08 Patterner how do you properly test a single .t file?
12:08 jnthn Well, a week today I'll be on the plane home.
12:08 jnthn Patterner: perl6 t/spec/S12-methods/calling_syntax.t
12:09 Matt-W mm CANDO would be great
12:09 Matt-W there was something I was looking at where I wanted AUTOLOAD-esque functionality
12:09 jnthn .oO( ENOCANDO )
12:09 scottp joined #perl6
12:09 Matt-W I ended up mucking about with the symbol table and finding interesting bugs instead
12:09 Patterner hmm... I thought that, but nothing happens
12:09 Matt-W of course ultimately I'd probably want to do both...
12:09 scottp rakudo: my $year = 2009; say $year;
12:10 p6eval rakudo 0331d6: OUTPUT«2009␤»
12:10 Patterner "No applicable candidates found to dispatch to for 'dies_ok'"
12:10 scottp rakudo: my @arr = 2005, 2006, 2007, 2008, 2009; say @arr[4];
12:10 p6eval rakudo 0331d6: OUTPUT«2009␤»
12:10 masak I found a "fun" parsing bug today. if I define a method postcircumfix:<{ }> in some class, I must delimit all subsequent adjacent blocks with semicolons. even when they are one different lines.
12:10 scottp rakudo: my %hash; %hash<Year> = 2009; say %hash<Year>;
12:10 jnthn Patterner: heh, odd
12:10 p6eval rakudo 0331d6: OUTPUT«2009␤»
12:10 scottp rakudo: my $input = open('input.txt', :r);
12:10 p6eval rakudo 0331d6: OUTPUT«operation not permitted in safe mode␤in Main (/home/p6eval//p1/lib/parrot/1.6.0-de​vel/languages/perl6/lib/Safe.pm:24)␤»
12:10 jnthn masak: That's a bit of a wtf
12:11 masak jnthn: aye, but currently I've chosen to live with it. I like my postcircumfix:<{ }>.
12:11 jnthn masak: aye, and I guess I don't need to ask if you filed a ticket :-)
12:11 masak no, you don't. :)
12:11 carlin Patterner: Trying running "make t/spec/S12-methods/calling_syntax.t" from rakudo's directory
12:12 Patterner still dies
12:12 jnthn masak: Passed 500? ;-)
12:12 ruoso joined #perl6
12:13 masak jnthn: oh, already last week.
12:13 carlin Ah, it does too (after I svn up)
12:14 jnthn Patterner: OK, sounds brokenish then.
12:16 lisppaste3 joined #perl6
12:16 masak jnthn: http://gist.github.com/195336
12:17 masak jnthn: I would use operator overloading there, but another Rakudobug prevents me.
12:17 jaldhar joined #perl6
12:18 Matt-W jnthn: you can't say there isn't anybody pushing the boundaries of Rakudo's current capabilities, can you
12:18 jnthn masak: Curious, which one?
12:18 masak jnthn: 'define an op which already exists, use it -> BOOM'
12:18 jnthn Matt-W: Oh, it's part of the torment of implementing a compiler for Perl 6. You know full well people are going to find creative ways to push it.
12:19 jnthn masak: Oh, I thought pm fixed that one.
12:19 Matt-W yes I did too
12:19 masak jnthn, Matt-W: #66552
12:19 jnthn rakudo: class Foo { }; multi infix:<+>(Foo, Foo) { say "alive" }; Foo.new + Foo.new
12:19 p6eval rakudo 0331d6: OUTPUT«alive␤»
12:20 jnthn rakudo: class Foo { }; multi infix:<< < >>(Foo, Foo) { say "alive" }; Foo.new < Foo.new
12:20 p6eval rakudo 0331d6: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/Gs4OwAWJ3S:0)␤»
12:20 masak BOOM
12:20 jnthn oh
12:20 masak :(
12:20 jnthn did < not get moved to the setting?
12:20 jnthn That's probably why.
12:20 jnthn rakudo: say &infix:<< < >>.PARROT
12:20 p6eval rakudo 0331d6: OUTPUT«MultiSub␤»
12:21 jnthn rakudo: say &infix:<< + >>.PARROT
12:21 p6eval rakudo 0331d6: OUTPUT«Perl6MultiSub␤»
12:21 jnthn Yes
12:21 jnthn that's why.
12:21 masak aha.
12:21 masak well, I'm in blog-post-writing mode right now. might look at it later.
12:22 Matt-W aaah
12:22 Matt-W excellent
12:22 jnthn Well, now you know why.
12:22 Matt-W rakudo: say &infix:<< > >>.PARROT
12:22 p6eval rakudo 0331d6: OUTPUT«MultiSub␤»
12:22 Matt-W Isn't there some big piece of work relating to Parrot subs vs Perl 6 subs upcoming?
12:23 masak lurkers: I wouldn't be very upset if someone did it ahead of me...
12:23 Matt-W I could do it this evening maybe...
12:23 Matt-W But someone would have to review and commit it
12:23 jnthn Matt-W: I think the answer for these is "move all to setting"
12:24 Matt-W jnthn: fair enough :)
12:24 Matt-W I have no objections to that, the non-setting way of defining operators is a little arcane
12:24 Matt-W (and of course doesn't work properly)
12:24 jnthn Matt-W: It fixes other things too.
12:24 Matt-W ooh
12:24 jnthn Matt-W: e.g. things not in the setting don't get a proper introspectable signature.
12:25 Matt-W ah yes I remember hearing about that
12:25 jnthn well, apart from a few exceptions
12:25 Matt-W ones where you build them manually?
12:25 jnthn Basically though, my hope is that we'll most almost everything into the setting at some point.
12:25 jnthn Matt-W: Correct, but it's...well...painful.
12:25 Matt-W I should think that we would want to
12:25 Matt-W Define as much of the language in itself as possible
12:25 Matt-W Okay so most of them will probably just be Q:PIR blocks
12:25 Matt-W but who cares? that's fine
12:26 jnthn Well, I suspect we'll have some inline PIR, but yes.
12:26 Matt-W it's wrapped up in Perl 6 signature goodness
12:26 Matt-W you've got to call down to the underlying platform at some point or nothing will ever get done
12:26 jnthn I plan to make signature binding a lot better and faster soon too.
12:26 Matt-W :)
12:26 jnthn So the "oh noes but the setting is teh c0stly" arguments should go away.
12:26 Matt-W they should never have been there in the first place
12:27 Matt-W if the setting's too expensive, the entire language is impractical
12:27 Matt-W because you can't then write anything in it
12:27 Matt-W thus, the same problem has to be fixed anyway
12:27 Matt-W thus, it will be fixed
12:27 Matt-W thus, stop arguing and go fix it
12:27 Matt-W or send good vibes to the people deciding if jnthn gets a grant to fix it
12:28 jnthn Indeed.
12:28 * jnthn wonders wha the status of that is
12:29 Matt-W Somewhere, somebody is clicking a button that magically accepts
12:35 explorer__ joined #perl6
12:38 takadonet joined #perl6
12:39 Lorn joined #perl6
12:39 takadonet morning all
12:39 masak takadonet: \o
12:42 carlin I figured out what was making those tests mentioned by Patterner++ explode, but the fixed tests fail. Are we supposed to skip/todo them or just leave them?
12:43 araujo joined #perl6
12:45 NorwayGeek joined #perl6
12:49 jaldhar joined #perl6
12:55 moritz_ carlin: if the test changed and now rakudo doesn't pass it anymore, please skip it
12:55 moritz_ (and open a ticket on RT if you are motivated)
12:55 masak what's the TT ticket about Parrot treating methods as subs?
12:58 diakopter hugme: add diakopter to proto
12:58 hugme diakopter: You need to register with freenode first
12:58 diakopter erm
12:59 * diakopter thought I was
13:02 diakopter hugme: add diakopter to proto
13:02 hugme diakopter: sorry, you don't have permissions to change 'proto'
13:02 diakopter o
13:02 diakopter moritz_?
13:02 moritz_ hugme: add diakopter to proto
13:02 * hugme hugs diakopter. Welcome to proto!
13:02 diakopter whee
13:02 diakopter I guess I wasn't identified
13:02 diakopter shoulda' been
13:03 moritz_ afk
13:05 sdvsdvsdv joined #perl6
13:07 p6eval joined #perl6
13:14 pugs_svn r28463 | diakopter++ | [diakopter--] STD Makefile error
13:21 pugs_svn r28464 | carlin++ | [S12-methods/calling-syntax.t] Changed the calls to dies_ok from q// to {}, q// was causing a no applicable candidates error. Skipped the fixed tests since they fail in Rakudo. Patterner++ for noticing the failure.
13:22 pugs_svn r28465 | diakopter++ | [diakopter--] more Makefile wrongness diakopter--
13:22 carlin Would someone mind checking that what I've done there looks sane?
13:28 masak carlin: looks OK to me.
13:29 masak as far as I know, Test.pm's dies_ok only accepts a Callable as the first argument.
13:33 Patterner "Makefile:4: *** missing separator." 28465
13:34 carlin masak: Okay, thanks :-)
13:36 eMaX joined #perl6
13:40 pugs_svn r28466 | diakopter++ | [diakopter--] more diakopter--
13:45 SmokeMachine joined #perl6
13:48 pmichaud good morning, #perl6
13:48 KyleHa joined #perl6
13:48 diakopter pmichaud: morn
13:49 pugs_svn r28467 | diakopter++ | [vijs] pass, flunk, unless, mock use
13:49 moritz_ \o/
13:49 masak pmichaud: ♫ good morning
13:50 jnthn pmichaud: oh hia!
13:50 jnthn pmichaud: I saw you started a branch for hacking on PGE/NQP changes. :-)
13:50 pmichaud jnthn: yes, and it's going very well
13:50 Matt-W \o/
13:50 pmichaud I should have protoregexes very soon
13:50 jnthn pmichaud: I only saw the initial commit, it looked cool.
13:50 pmichaud also it's much cleaner than the original PGE
13:50 jnthn pmichaud: IIUC, you switched to producing POST?
13:50 Matt-W pmichaud++
13:50 pmichaud yes.
13:51 jnthn that's the impression I got from the patch.
13:51 ejs joined #perl6
13:51 jnthn Were there more patches since?
13:51 pmichaud I've got some local stuff written
13:51 pmichaud actually a fair bit.
13:51 jnthn OK, cool.
13:52 pmichaud (which I'm going to rewrite a bit, which is why it's not committed.  Also, Parrot is using a vcs that doesn't work well for local commits.)
13:52 jnthn I'm following the diffs with interest.
13:52 pmichaud I'm also planning to blog about each stage of development, presuming that I get the time to do that
13:52 pmichaud s/get/make/
13:53 jnthn Vaguely hoping that I can help increaes the PGE bus number by doing so.
13:53 pmichaud I'd like there to be more than just code; probably a document describing the underlying theory to the code
13:53 jnthn I'd like that too.
13:53 pmichaud however, the new regex engine should end up being quite a bit faster than the previous one
13:53 jnthn And I'm sure other potential contributors really should.
13:53 jnthn speed++
13:53 pmichaud (not order-of-magnitude faster yet, but faster.  order-of-magnitude comes from protoregexes and hopefully ltm)
13:53 jnthn Even besides the protoregexes?
13:53 pugs_svn r28468 | diakopter++ | [vijs] disable global trace when committing; ok.
13:53 pmichaud yes, besides the protoregexes
13:54 jnthn Nice.
13:54 pmichaud the new code is *far* cleaner
13:54 pmichaud and it doesn't have a bunch of internal stacks to manage
13:54 pmichaud instead of having lots of various stacks, there's really just one stack.  Even better, it's a ResizableIntegerArray
13:55 pmichaud also, backtracking is much faster than before
13:55 pmichaud and various cut operations (incl ratcheting) throw away state immediately, instead of waiting for a backtrack to do it
13:56 jnthn More memory friendly then I guess.
13:56 rjh joined #perl6
13:56 pmichaud correct.
13:57 diakopter sounds exciting.. maybe I can co-opt its PAST emitter for another target...
13:57 masak I'm also doing something like increasing the PGE bus number at present.
13:57 jnthn pmichaud: Anyway, I'm very happy to see progress.
13:58 * masak heads over to look at pmichaud's branch commit
13:58 jnthn pmichaud: I'll be flying back a week today.
13:58 moritz_ the pct-rx branch?
13:59 jnthn pmichaud: Will have a couple of $other_job distractions in the first couple of days, and maybe a bit of minor jet-lag.
13:59 jnthn After that, will dig right in (I hope) to signature stuff.
13:59 jnthn Just pinged about the grant.
13:59 ejs joined #perl6
13:59 pmichaud jnthn: yes, I saw the ping, good idea
14:00 * Matt-W reads the backlog about PGE and gets excited
14:00 pmichaud moritz_: yes, pct-rx branch
14:01 pmichaud in the pct-rx branch, I suspect I'll add NQP versions of the code into the comments, at least
14:01 Matt-W oooh
14:02 Matt-W then remember to keep it in sync...
14:02 pmichaud well, it's mostly all method calls, so not really hard to translate :)
14:02 PacoLinux joined #perl6
14:02 Matt-W :)
14:03 Matt-W in that case, isn't it fairly easy to read?
14:03 * Matt-W should look at the code
14:03 pmichaud yes, should be
14:03 pmichaud the hard part is knowing the underlying algorithm of what it's producing
14:03 pmichaud which is why I need to blog about it, and write some "theory of operation" documents for it
14:03 Matt-W mmm yes
14:04 masak exciting times.
14:07 pmichaud unlike PGE, I think I could actually describe what's happening in the new library
14:07 pmichaud and I'm thinking the new library might want a different name/identifier
14:07 pmichaud so far it's just the "PCT regex library"
14:09 Matt-W It's quite an awesome idea really - you're effectively going to switch the entire parsing engine which Rakudo runs on for a different one
14:09 jnthn pmichaud: You're just creating another bunch of PAST::Node's?
14:09 Matt-W And we all sit back and say sure, that sounds great
14:09 payload joined #perl6
14:09 Matt-W So something must be right :)
14:09 masak pmichaud: name it 'Speedos' :)
14:09 Matt-W pmichaud: Call it 'Reggie'
14:09 masak 'Homer'
14:10 pmichaud jnthn: just PAST::Regex, actually.
14:10 carlin The Bikeshed Regex Library
14:10 jnthn pmichaud: ah, and a pasttype-ish attr?
14:10 pmichaud the types of regex nodes are then given by  :pasttype
14:10 pmichaud yes
14:10 pmichaud it's analogous to PAST::Op
14:10 jnthn oh, you called it pasttype
14:10 jnthn ok
14:10 jnthn works for me.
14:10 pmichaud but even better is that regexes can be embedded ("inlined") into normal PAST blocks, and vice versa
14:11 jnthn oooooh!!
14:11 jnthn Now *that* I like.
14:13 pmichaud it also means that regexes are normal PAST::Block with :blocktype('method')
14:13 pmichaud (I might create a :blocktype('regex') )
14:13 pmichaud that that means it completely participates in standard lexical handling
14:14 Matt-W convenient
14:14 pmichaud s/that/
14:15 jnthn Yes, I figured that was the fallout/intention/both.
14:15 pmichaud well, the primary intention is to put it all into PAST so that we can port it later to another backend if we wish
14:15 jnthn It's a cleaner design overall.
14:16 jnthn I like the direction this is heading.
14:16 jnthn pmichaud++
14:16 pmichaud me too
14:16 jnthn One of those "feels very right" things.
14:16 pmichaud yes, I'm coming across that a lot during the design and impl
14:17 pugs_svn r28469 | carlin++ | [perl6] Fix Makefile error; was complaining about a missing separator
14:19 masak let's see if I got this correctly: there will be a replacement for PGE, and it will target POST instead of PIR. is that right?
14:20 pmichaud that's correct.
14:20 jnthn masak: further, it's AST will be part of PAST, rather than a separate scheme.
14:20 jnthn s/scheme/thingy/
14:21 masak jnthn: I don't know enough about how it is now to appreciate that fact, I fear.
14:21 pmichaud right now PGE has its own AST representation that is completely independent from PAST
14:21 pmichaud in fact, that's one of the reasons why PGE doesn't understand lexicals
14:21 icwiener_ joined #perl6
14:22 masak ah.
14:22 pmichaud oh, hey -- I wonder how the github transition went last night...?
14:22 masak it went OK.
14:22 masak some glitches, apparently, but everything works now.
14:22 jnthn github trans?
14:23 pmichaud github moved off of engineyard and onto rackspace
14:23 jnthn ah
14:23 jnthn hopefully that'll help them with scaling/reliability issues
14:23 masak http://github.com/blog/500-sta​te-of-the-hub-rackspace-day-0
14:23 diakopter carlin++ diakopter-- diakopter-- still more errors
14:26 jnthn masak: just found/read that - thanks
14:27 pmichaud looks like it went okay overall.  that's excellent.
14:30 Psyche^ joined #perl6
14:35 iblechbot joined #perl6
14:37 Student joined #perl6
14:37 zloyrusskiy joined #perl6
14:38 jnthn omgz newmasakpost!
14:39 carlin A bot that updated about things like that would be handy
14:39 * masak longs for a bot-writing framework in Perl 6
14:39 betterworld about "&&" turning false into an empty list in list context: wouldn't it make more sense if it returned an empty list only if the first operand is false?  If you have my @args = $arg_specified && $arg, you probably want to have @args = 0 if $arg_specified is true and $arg is 0
14:40 justatheory joined #perl6
14:40 justatheory_ joined #perl6
14:40 jnthn (u get teh picture)++
14:43 arthur-_ joined #perl6
14:44 masak :)
14:47 NorwayGeek joined #perl6
14:48 diakopter vijs: use Test; plan 1; is 17, :16<11>, "rad_int angles"
14:48 p6eval vijs 28463: OUTPUT«1..1␤ok rad_int angles␤»
14:49 diakopter vijs: use Test; plan 1; isnt 17, :16<10>, "rad_int angles"
14:49 p6eval vijs 28463: OUTPUT«1..1␤ok rad_int angles␤»
14:50 diakopter (yay)
14:51 jnthn http://yapc-surveys.org/html/ye2009-survey.html is interesting - several mentions of interest in Perl 6 stuff
14:54 masak I got my talk survey results back today, and during the first reading, I misread the table and wrongly concluded that I'd mostly received 1's, 2's and 3's... I felt a bit deflated until I re-read it and understood how it worked. :)
14:55 jnthn masak: hehe!
14:56 jnthn Yeah, I got reasonable ratings.
14:56 jnthn Unfortunately, nobody who disliked some aspect of the talk wrote why, so I've little idea what to change. :-/
14:57 zloyrusskiy joined #perl6
14:57 pmichaud hmm.  nobody recorded that they disliked anything about my talk.  I'll have to do better next time.  :)
14:57 * PerlJam wonders how many of those 74 first-time-YAPC people are beginner, intermediate, and advanced.
15:01 alester joined #perl6
15:03 jnthn pmichaud: I got 5/10 for "speakers presentation of subject" and "Overall presentation" by one person in each of them.
15:04 jnthn However, the average was around 8 or 9-ish I guess (not actually worked it out).
15:04 pmichaud how many responses overall?
15:05 jnthn pmichaud: 7
15:05 pmichaud hmmm
15:05 jnthn pmichaud: So not sure how representative a sample it was.
15:05 pmichaud anyway, 5 is 'non-committal' as opposed to "disliked"
15:05 jnthn There were a lot more than 7 people at the talk.
15:05 pmichaud I had 11 responses for mine.
15:06 jnthn pmichaud: I guess so - that just hints to me that for somebody who attended, it wasn't what they hoped for, and I get curious to know why. :-)
15:10 jnthn pmichaud: BTW, I'm giving a Perl 6 / rakudo talk in Seoul tomorrow evening.
15:11 pmichaud excellent
15:11 pmichaud I hope it goes well
15:11 jnthn Me too ;-)
15:11 pmichaud how did the yapc::asia talk go?
15:11 jnthn Well, from what I've heard.
15:11 jnthn got some questions, which was good.
15:11 pmichaud I saw your name get tweeted a lot, but couldn't read what was being said about you :-|
15:11 jnthn pmichaud: Nor can I!
15:12 masak pmichaud: Google Translate to the rescue!
15:13 jnthn My most advanced Japanese sentence is "Sorry, I did a fart in the elevator".
15:13 masak I sure would like a Twitter client with a one-button Google Translate action.
15:13 jnthn (don't ask why...)
15:13 masak why?
15:13 pmichaud (not asking why...)
15:13 jnthn but hey, it involves two different particles plus past tense verb conjugation...
15:14 pmichaud ...particles?
15:14 pmichaud ;-)
15:14 jnthn lol
15:14 masak pmichaud: Asian-language grammar is so far from Latin, so we just call most word types "particles'. :P
15:15 pmichaud masak: got it.
15:15 masak they do all the interesting stuff in a sentence.
15:16 PerlJam masak: and people are particle accelerators?
15:16 masak PerlJam: I don't know how the PRC does its physics research, but no, probably not. :)
15:16 nihiliad joined #perl6
15:17 jnthn pmichaud: One of the things they are used for is tagging words in a sentence to say if they are the subject/object (though subject is not really quite how things go down in Korean and Japanese, it gets broken into two thingies)
15:18 masak topic and comment?
15:18 jnthn It's like how Slavic languages do case declensions, but instead of modifying the end of the word, you just tag something onto the end instead.
15:18 masak jnthn: would you say Japanese and Korean feel related in some way?
15:19 jnthn masak: I'm awful at both.
15:19 masak 哈哈
15:19 jnthn masak: Certainly though, the verb comes at the end of the sentence in both.
15:19 masak aha.
15:20 jnthn both use "ka" as a "modifier-ish" thing after the verb for the same kind of thing (question marker), but it seems Korean only used it in some constructions, and less than japanese.
15:20 jnthn Curiously, the particle "ga" plays the same role in both too, as far as I can tell.
15:21 masak I heard once that verbs-coming-last was advantageous in business negotiations. if, while you were finishing a sentence, the other party frowned, you could always slap on a negation at the end, and everyone would be happy. I don't know how useful that is in practice, though.
15:22 jnthn But it's hard to really know if those are things that signify a relationship, or are conincidental, or...
15:22 masak quite.
15:22 jnthn I mean, I'm not about to guess from a tiny bit of experience on a question linguists seem to massively disagree on. :-)
15:23 masak "y; a relationship to Korean is widely considered but is problematic" according to Wikipedia. http://en.wikipedia.org/wiki​/Classification_of_Japanese
15:23 masak s/y;//
15:24 jnthn Japanese seems to not be keen on syllables ending in consonants. Korean is full of them.
15:24 jnthn I'm not sure how significant that is.
15:26 masak bah, phonetic shifts happen on the time scale of centuries. that's nothing. :)
15:26 jnthn I wondered that.
15:27 jnthn So probably nothing.
15:27 jnthn I find Japanese pronunciation hugely easier than Korean though.
15:28 masak Korean has punctuation? :P
15:28 jnthn No, just too many vowels. ;-)
15:29 jnthn (well, not too many really, I just find some of them a tad hard to differentiate right now)
15:29 masak ah, "pronunciation". EMASAKCANTREAD
15:30 jnthn the fact that I can see the written script and render it into something sound-ish makes a huge different to me though.
15:30 jnthn I don't really have much visual memory.
15:30 moritz_ probably you don't because you never had to train it :-)
15:30 moritz_ but it's the same here
15:30 jnthn So being able to see something, commit it to memory as sound rather than shapes, and then recognize the same thing later on, works a lot better for me.
15:31 jnthn moritz_: yeah, that's a good point.
15:31 moritz_ I even remember street maps as graphs, not visually
15:31 jnthn moritz_: Heh. Do you find cities with grid layouts massively easier to navigate than irregular ones?
15:32 jnthn (I certainly do....)
15:32 moritz_ jnthn: yes :-)
15:32 moritz_ masak: in your blog post, where does $DB come from?
15:33 moritz_ is it exported by Squerl?
15:33 jnthn masak: ooh, I think a line that was in the nopaste is missing from the blog post.
15:33 jnthn I overlooked that, just recognized the block of code as "oh, I saw that"... :-)
15:35 masak moritz_: no... it just seems to be missing :/
15:35 moritz_ bad masak++, no cookies for now :-)
15:36 masak moritz_: there, added it back. it must have gotten lost in a flurry of editing.
15:36 masak thanks for noticing.
15:37 moritz_ masak: now you get your cookies :-)
15:37 masak om nom nom.
15:40 msmouse joined #perl6
15:42 msmouse left #perl6
15:47 zerhash joined #perl6
15:51 crythias joined #perl6
15:51 diakopter crythias: oy
15:51 crythias oy
15:51 crythias ahoy
16:00 justatheory joined #perl6
16:01 stephenlb joined #perl6
16:02 lambdabot joined #perl6
16:08 diakopter rakudo: ({ say 4 })
16:08 p6eval rakudo 0331d6: OUTPUT«4␤»
16:11 lucs joined #perl6
16:20 rfordinal joined #perl6
16:21 NorwayGeek joined #perl6
16:24 NorwayGeek joined #perl6
16:24 rfordinal joined #perl6
16:24 rfordinal left #perl6
16:26 masak planetsix++ # picked up my blog post edit
16:42 meteorjay joined #perl6
16:44 lmc joined #perl6
16:48 lanny joined #perl6
16:49 kubrat joined #perl6
16:51 lanny Hi all.  Would someone please give me a commit bit for perl6-examples?
16:53 Woodi anyone want to explain how to use proto without building parrot and rakudo ?
16:55 jlaire joined #perl6
16:59 moritz_ Woodi: by chaning config.proto
17:00 moritz_ Woodi: you can modify Perl 6 executable: to point to your perl6 binary
17:02 Woodi moritz_: i made both /usr/local/bin and then got message that parrot dir is in /home/... and no rakudo in nerby...
17:02 moritz_ Woodi: are you on the installed-modules branch?
17:03 Woodi not understand last question... you ask what branch i cloned ?
17:04 moritz_ yes
17:04 crythias joined #perl6
17:04 Woodi only one: master here
17:05 Woodi i get git://* from web
17:05 moritz_ don't know if master recognizes that config option
17:05 moritz_ git checkout origin/installed-modules
17:11 arthur-_ joined #perl6
17:12 pugs_svn r28470 | lwall++ | [calling_syntax.t] s/dies_ok/eval_dies_ok/ since it fails to compile in STD
17:15 Woodi moritz_++ && s/origin/-b origin/
17:17 pugs_svn r28471 | diakopter++ | [diakopter--] diakopter-- more Makefile wrongness :\
17:18 lanny Can anyone offer advice then on how to commit or offer a patch to perl6-examples?
17:22 cdarroch joined #perl6
17:22 PerlJam lanny: what's your github id?
17:23 lanny It's LannyRipple
17:24 moritz_ hugme: add LannyRipple to perl6-examples
17:24 * hugme hugs LannyRipple. Welcome to perl6-examples!
17:25 lanny Thanks.
17:27 moritz_ hugme: show perl6-examples
17:27 hugme moritz_: the following people have power over 'perl6-examples': TimToady, [particle], masak, moritz_, pmichaud. URL: http://github.com/perl6/perl6-examples/
17:28 moritz_ ENOTENOUGH
17:29 PerlJam moritz_: where does hugme get that list from?
17:29 moritz_ PerlJam: a JSON file
17:30 PerlJam well add my name to the list then  :)
17:30 moritz_ hugme: reload
17:31 hugme moritz_: reloaded successfully
17:31 moritz_ hugme: show perl6-examples
17:31 hugme moritz_: the following people have power over 'perl6-examples': TimToady, [particle], masak, moritz_, pmichaud. URL: http://github.com/perl6/perl6-examples/
17:31 moritz_ bah, 'git pull' hangs on feather2
17:32 moritz_ hugme: reload
17:32 hugme moritz_: reloaded successfully
17:32 moritz_ hugme: show perl6-examples
17:32 hugme moritz_: the following people have power over 'perl6-examples': PerlJam, TimToady, [particle], masak, moritz_, pmichaud. URL: http://github.com/perl6/perl6-examples/
17:32 moritz_ better.
17:32 moritz_ hugme: hug PerlJam and welcome his a new meta committer
17:32 * hugme hugs PerlJam
17:32 moritz_ gotta run, bbl
17:41 [particle] joined #perl6
17:52 crythias joined #perl6
17:56 ejs joined #perl6
17:56 lanny PerlJam: any suggestions on who to include for perl6-examples pull requests?  The default list looks rather large.
17:57 pugs_svn r28472 | diakopter++ | [vijs] most of the basic Num (boxed JS double) supported... incl interop with Int
17:59 diakopter vijs: say 10.45 * 11 # sigh
17:59 p6eval vijs 28471: OUTPUT«114.94999999999999␤»
18:00 lanny mathematically correct anyway
18:02 iblechbot joined #perl6
18:02 diakopter vijs: say 10.45 / (1 / 11) # Infinity?
18:02 p6eval vijs 28471: OUTPUT«Infinity␤»
18:03 diakopter vijs: say 1 / 11
18:03 p6eval vijs 28471: OUTPUT«0␤»
18:04 diakopter oh, I need to implement infix_div as well as Rat
18:04 diakopter that should fix those...
18:04 diakopter sez Ceiling Cat
18:07 pyrimidine joined #perl6
18:07 japhb joined #perl6
18:13 * diakopter makes smartmatch always return true, for now. :D
18:15 pmurias joined #perl6
18:15 pmurias Woodi: parrot is written in plain C
18:15 phenny pmurias: 05:32Z <diakopter> tell pmurias I moved most of vijs back the way it was (except the main .pl you split out), b/c it was just too difficult to run it in a different directory with the new test mode .setting
18:17 diakopter pmurias: and other lazy reasons
18:17 diakopter pmurias: it "runs" the test suite now.. :0
18:23 Woodi pmurias: but parrot need to interpret bytecode
18:24 TimToady I am not Ceiling Cat, just Refrigerator Cat
18:24 kubrat left #perl6
18:25 pmichaud lanny: pull requests are likely not to get honored for perl6-examples
18:26 pmichaud lanny: we'd prefer to just grant commit bits
18:26 lanny aha.  So just push straight into the repo?  Got it.  Thanks.
18:27 pmichaud TimToady: Possible fossil at S05:559 ?  "temp" isn't currently a scope declarator...
18:27 lanny I guess I'll add a bit more to the README while I'm in there then.
18:27 pmichaud lanny:  that would be appreciated, yes!
18:35 diakopter my $a = "0d0101";
18:35 diakopter isa_ok(+$a, "Num");
18:36 * Woodi hate proto
18:36 diakopter my $a = 0o100; "$a"; isa_ok($a, Int);
18:37 Woodi ... won't install since the file ... already exists
18:39 pugs_svn r28473 | lwall++ | [CORE.setting] add AttributeDeclarand and ContainerDeclarand roles
18:39 PerlJam Woodi: that sounds like sane behavior to me.
18:40 Woodi PerlJam: no. install one module then try second with same dependencies and it fails becouse dependencies ARE installed..
18:58 sjohnson hi PerlJam
19:04 Matt-W evening
19:07 japhb joined #perl6
19:07 mberends joined #perl6
19:08 mberends svn up ~/pugs # really makes me :-) nowadays :-)
19:09 Matt-W my git won't pull :(
19:10 Matt-W it just sits there :(
19:10 Matt-W and I want to do some rakudo hacking
19:11 justatheory joined #perl6
19:11 mberends Matt-W: maybe to do with the github hosting switch. here it said: Warning: Permanently added the RSA host key for IP address '207.97.227.239' to the list of known hosts.
19:11 Matt-W hmm
19:11 Matt-W well I just tried to do a new clone of rakudo and it's also just sitting there
19:12 Matt-W might be me I suppose
19:12 sjohnson hi Matt-W
19:15 lanny rakudo: sub foo(Int $x) { 1,$x }; foo(2).say;
19:15 p6eval rakudo 0331d6: OUTPUT«12␤»
19:15 lanny rakudo: sub foo(Int $x) of Array of Int { 1,$x }; foo(2).say;
19:15 p6eval rakudo 0331d6: OUTPUT«Use of type object as value␤Return value type check failed; expected Failure, but got List␤in sub foo (/tmp/lA7r8E8Fej:1)␤called from Main (/tmp/lA7r8E8Fej:0)␤»
19:16 Matt-W hi sjohnson
19:17 colomon rakudo: sub foo(Int $x) of List of Int { 1,$x }; foo(2).say;
19:17 p6eval rakudo 0331d6: OUTPUT«Use of type object as value␤Return value type check failed; expected Failure, but got List␤in sub foo (/tmp/l3bkrLK2a0:1)␤called from Main (/tmp/l3bkrLK2a0:0)␤»
19:21 am0c joined #perl6
19:21 justatheory_ joined #perl6
19:22 mberends vijs: use Test;plan(1);ok(2 < 3,"less than"); # almost there, diakopter++
19:22 p6eval vijs 28473: OUTPUT«read_file 'js/json2.js' - sysopen: No such file or directory at vijs line 82␤»
19:23 mberends locally vijs: 1..1
19:23 mberends ok less than
19:29 molaf joined #perl6
19:29 __ash__ joined #perl6
19:31 * mberends tries to figure out where to track the test number in Test.pm.js
19:36 NorwayGeek joined #perl6
19:39 Matt-W yay it's working
19:39 mberends teh pul?
19:40 Matt-W yeah
19:41 mberends teh intertoobs mus b unblokd
19:43 Matt-W heh
19:43 Matt-W just compiling parrot now...
19:44 Matt-W thought I might move an operator or tw ointo the setting maybe
19:44 Matt-W although my enthusiasm has diminished somewhat due to the time it's taken to get ot the point where I can actually do it
19:45 mberends c'mon, I'll give you a karma point for actually doing it ;)
19:46 Matt-W I'd prefer an ice cream
19:46 mberends hmm, tricky via wifi
19:48 Matt-W yeah
19:52 pugs_svn r28474 | mberends++ | [js/Test.pm.js] patch in an incrementing test_number
20:02 Matt-W rakudo: my @a = <1 2>; my @b; @b.push: @a; @b.push: @a; @b.perl.say;
20:02 p6eval rakudo 0331d6: OUTPUT«["1", "2", "1", "2"]␤»
20:02 colomon Errr.... did Rakudo just get a lot faster?
20:03 colomon I just ran make spectest in 41 minutes.
20:03 colomon I think it was 60 minutes a few days ago, and 88 minutes two weeks ago.
20:03 mberends yes, a couple of days ago the --gen-parrot switched to --optimize
20:03 Matt-W oh good
20:04 Matt-W I need to run that later
20:04 colomon \o/
20:05 Matt-W rakudo: my $a = 1; my $b = 2; ($a xx $b).perl.say
20:05 p6eval rakudo 0331d6: OUTPUT«[1, 1]␤»
20:07 Matt-W it irritates me that the biggest job when I'm mucking about with setting-defined operators is one that can only use one CPU core
20:07 Matt-W I've got a whole other core sitting idle!
20:07 Matt-W good thing I'm not doing it on the desktop or I'd have three
20:08 * mberends feels it too. roll on multi threading!
20:09 Matt-W I really should get some dev stuff set up on my big PC
20:09 colomon Matt-W: Do you understand how to move operators to the setting?
20:09 Matt-W but it's a pure windows box at the moment, I only really use it for gaming and recording music
20:09 Matt-W colomon: I've done it before
20:09 Matt-W well
20:09 Matt-W once
20:09 colomon Matt-W: Explaining the basics would be a fantastic blog post.....
20:10 Matt-W :)
20:12 mberends Matt-W: commenting the setting source code would be a fantastic commit....
20:12 Matt-W hey hey
20:12 Matt-W my brain's only single-core
20:13 pyrimidine joined #perl6
20:19 colomon Matt-W: I don't care where you put the explanation, as long as it's somewhere I can read it.  :)
20:19 Matt-W am writing blog post while spectest runs
20:19 colomon Matt-W++
20:19 crythias joined #perl6
20:21 sjohnson how's it going colomon
20:22 perlPHON joined #perl6
20:22 perlPHON is  perl6  available or being distributed yet ?
20:22 Matt-W that depends what you mean by available
20:22 perlPHON finished, I guess
20:22 Matt-W nothing's ever finished
20:22 perlPHON lol
20:23 Matt-W but by one measure, we have not yet implemented the entire spec as it currently stands
20:23 Matt-W although rakudo supports a pretty large chunk of it
20:23 perlPHON Id say, if Debian put it on their newest release, it was considered "done"
20:23 Matt-W hah no I think that's a way off
20:23 perlPHON oh...
20:23 Matt-W Debian tend to be a bit cautious about that sort of thing
20:23 perlPHON good thing maybe
20:24 Matt-W well given their usual audience, yes
20:24 Matt-W But you can get a Perl 6 implementation and run it and write Perl 6 today if you want
20:24 perlPHON rakudo is what ?
20:24 Matt-W It's just not got the entire language in it, and it's got some bugs, and it's a bit slow
20:24 moritz_ perlPHON: a Perl 6 compiler
20:24 Matt-W Rakudo is the Perl 6 implementation which runs on the Parrot VM
20:24 perlPHON oh nice...
20:25 mberends http://rakudo.org
20:25 Matt-W It's fun
20:25 Matt-W argh my spectest failed
20:25 Matt-W hah, in the spectest for the operator I just moved
20:25 Matt-W guess I did it wrong
20:25 crythias It's fun like awk is fun.
20:25 pmichaud I'd expect Rakudo to be in debian unstable next July
20:25 mberends :)
20:26 * mberends just installed Padre in Debian unstable :)
20:26 perlPHON would  rakudo  be the replacement for whatever  pony  was supposed to be ?
20:26 mberends yes
20:27 colomon sjohnson: It's been the sort of day where we took our boy in for his one-year checkup, then watched him for hours while she tried to get help from Dell tech support for her laptop.  Also various WTFs for $work.  But if Matt-W can explain how to move operators to the setting, the day may yet redeem itself.  :)
20:27 Matt-W no, ponie was Perl 5 on Parrot
20:27 Matt-W colomon: it's not hard
20:28 mberends "the source code is the documentation"
20:28 Matt-W find one in ops.pir, implement it in Operators.pm, remove it from the PIR, maybe from the junctions table, then see if you broke the spectest
20:28 Matt-W which I just did
20:28 Matt-W rakudo: ([1, 2] xx 2).perl.say
20:28 p6eval rakudo 0331d6: OUTPUT«[[1, 2], [1, 2]]␤»
20:28 Matt-W I broke that bit :(
20:29 * mberends wants to create that bit in vijs very soon
20:30 * Matt-W tries to fix it
20:31 PZt joined #perl6
20:32 sjohnson colomon: i might be able to cheer you up with some corny jokes :)
20:32 perlPHON left #perl6
20:33 Matt-W damn
20:33 * mberends considers whether to stea^Wfork rakudo/t/harness into pugs/src/perl6/js would work
20:34 Matt-W List.push wants to flatten everything
20:34 Matt-W also, I keep writing 'rakudo:' on my terminal
20:34 mberends ls
20:34 __ash__ joined #perl6
20:35 Matt-W aaaargh
20:35 Matt-W evil thing
20:36 Matt-W note: you can move an operator to the setting, but making it *work* is another matter
20:36 moritz_ ;-)
20:36 Matt-W rakudo: sub foo(@a) { say "l" }; sub foo($a) { say "s"} ; foo([1, 2]);
20:36 p6eval rakudo 0331d6: OUTPUT«Redefinition of routine foo␤l␤»
20:37 Matt-W woops
20:37 Matt-W rakudo: multi sub foo(@a) { say "l" }; multi sub foo($a) { say "s"} ; foo([1, 2]);
20:37 p6eval rakudo 0331d6: OUTPUT«l␤»
20:37 Matt-W ah
20:37 Matt-W that's why
20:37 Matt-W hmmm
20:37 moritz_ it does binding
20:37 Matt-W according to the tests, [1, 2] xx 2 should produce [[1, 2], [1, 2]]
20:38 Matt-W but I can't figure out a way in a Perl 6 signature to distinguish that from a normal list
20:38 Matt-W I might be taking the wrong approach
20:38 moritz_ oops, IMHO [1, 2] xx 2 should produce [1, 2], [1, 2] (no outer [])
20:38 Matt-W yes that's what I meant, sorry
20:39 Matt-W particularly, it shouldn't flatten the [1, 2] together with the next one
20:40 Matt-W now I can write infix:<xx>(@a, $n) and infix:<xx>($a, $n), but [1, 2] goes to the former and gets flattened :(
20:41 mberends moritz_: do you think the pugs/t/spec suite will suffer from fudge-bloat if we also start adding #?vijs skip ? Fudging doesn't look very scalable.
20:46 diakopter mberends: hi
20:47 moritz_ mberends: I don't think it will bloat too much
20:47 mberends hi diakopter, I'm all excited about testing vijs
20:47 diakopter mberends: you do   ./vijs -t -e 'plan 1; ok(1,1)' # to use the test suite
20:47 moritz_ mberends: let's just try it and use the fudge markers
20:47 diakopter to use Test.pm
20:48 moritz_ mberends: it's the best we have - if it turns out that it doesn't scale we can try to think of better solutions
20:48 diakopter and then in p6eval (which I broke *AGAIN* this morning apparently) you do:  vijs: use Test; plan 1; ok 1, 1;
20:48 mberends thanks moritz_, if it's bad ... what u said
20:48 moritz_ Matt-W: I encountered the same problem when I tried to implement infix:<...>
20:49 mberends diakopter: it's working nicely locally, I just patched Test.pm.js
20:49 moritz_ Matt-W: I found no way to properly do it from Perl 6 yet
20:49 diakopter mberends: good thing you found the -t, then :)
20:49 Matt-W moritz_: okay thanks
20:50 diakopter mberends: I've got a decent chunk of ~~ implemented...
20:50 * Matt-W picks something else instead
20:51 moritz_ Matt-W: don't go for infix:<Z> or X, they suffer from the same problem
20:51 Matt-W yes they would
20:51 Matt-W hmm
20:51 Matt-W we'll have to get that clarified
20:52 moritz_ Matt-W: in theory it works with slices (sub infix:<xx>(@@a, $count) )
20:52 diakopter mberends: std currently doesn't send the package name of fully-qualified-names in teh ats, so ist on TimToayd's lits
20:53 diakopter since that's blocking a goodly chunk of teh spce tesst
20:54 moritz_ vijs: use Test; plan 2; ok(1); ok(1, "reason");
20:54 p6eval vijs 28474: OUTPUT«read_file 'js/json2.js' - sysopen: No such file or directory at vijs line 82␤»
20:54 diakopter moritz_: yeah I broke the Makefile *again*
20:54 mberends ah. I'm actually not looking forwarding to fudging spectests, now considering and alternative approach.
20:55 mberends *an
20:55 mberends diakopter: that's a very good one. I've been studying interp.js, almost grokked it. I'd like to comment it a bit. What do the abbreviations act, M, T stand for?
20:55 diakopter mberends: well, you can place the interpreter in try/catch mode
20:55 Matt-W okay
20:55 Matt-W that was a disaster
20:55 Matt-W I'm going to go and sulk now
20:55 Matt-W and try again when I'm awake
20:56 moritz_ diakopter: what's the plan for building vijs? relying on a 'make snap'?
20:56 diakopter act[ivation], M[embers] (.ast, really), T[ype/bytecode label]
20:57 diakopter moritz_: well Refrigerator Cat griped at me for that, so probably another Makefile target that depends on snap should be created
20:57 moritz_ diakopter: does vijs need any building of its own?
20:57 mberends diakopter: thanks, I was guessing action, mode, type ;)
20:58 diakopter moritz_: nope.
20:59 diakopter I really want ./vijs to remain in the same dir as ./std and ./viv  tho
20:59 justatheory joined #perl6
20:59 moritz_ symlinks?
20:59 diakopter (perl6/snap is fine though)
20:59 diakopter yeah, that's fine
20:59 colomon sjohnson: sorry, didn't mean to disappear -- I was trying to cook and IRC at the same time, and my wife grabbed the laptop while my back was turned (as hers will be out of action for a while).
20:59 diakopter moritz_: (since nothing needs to be built)
20:59 diakopter moritz_: actually, I take that back
21:00 diakopter the test vijsTEST.setting does need to be built
21:00 diakopter but I'm just doing that in Perl each time if it doesn't exist
21:00 diakopter moritz_: oh, I created a vijs.mk
21:00 diakopter for this purpose
21:01 diakopter but left it blankish (from the one mberends creatd)
21:01 mberends 'make -f vijs.mk test' runs but say.t has disappeared
21:02 moritz_ it runs?
21:02 diakopter that's where the vijsTEST.setting should be created
21:02 diakopter in vijs.mk
21:02 moritz_ here it tries to run vivjs
21:02 moritz_ which doesn't exist
21:03 mberends sorry, not committed. my bad.
21:03 frew_ joined #perl6
21:04 diakopter the little Perl snippet in vijs that creates the vijsTEST.setting (from CORE.setting and Test.pm) should be extractted into its own .pl
21:04 diakopter and run during make -f vijs.mk test
21:05 pugs_svn r28475 | mberends++ | [vijs.mk] switched from vivjs to vijs, will fail because t/say.t is missing
21:06 * mberends decides *not* to fork rakudo/t/harness just yet, because of the amount of reworking necessary
21:07 diakopter sprixel (thanks crythias)
21:07 mberends diakopter, moritz_: the spectest target in vijs.mk is all wrong, please ignore
21:14 pugs_svn r28476 | moritz++ | [src/perl6] fix symlinking of js/ in 'make snap'
21:16 * colomon contemplates  moving  prefix:<+> into the setting...
21:17 diakopter moritz_++ moritz_++ moritz_++ moritz_++
21:17 diakopter moritz_++ moritz_++
21:17 diakopter moritz_++ moritz_++
21:17 moritz_ rebuilding now on the server
21:19 moritz_ vijs: say 'hi'
21:19 p6eval vijs 28476: OUTPUT«hi␤»
21:20 mberends vijs: use v6;use Test;plan(1);ok(2 < 3,"less than");ok( 4 > 3,"greater")
21:20 p6eval vijs 28476: OUTPUT«1..1␤ok 1 - less than␤ok 2 - greater␤»
21:20 hercynium joined #perl6
21:21 mberends er, plan(2)
21:34 Whiteknight joined #perl6
21:41 pugs_svn r28477 | diakopter++ | [vijs] beginnings of ~~
21:43 moritz_ vijs: say 'a' ~~ 'a'
21:43 p6eval vijs 28476: OUTPUT«1␤»
21:43 moritz_ vijs: say 'a' ~~ 1
21:43 p6eval vijs 28476: OUTPUT«0␤»
21:44 moritz_ vijs: say 'a' ~~ 0
21:44 p6eval vijs 28476: OUTPUT«0␤»
21:44 moritz_ :/
21:44 diakopter rakudo: say ...
21:44 p6eval rakudo 0331d6: OUTPUT«Can't return outside a routine␤in Main (/tmp/MjdIiXYfRd:0)␤»
21:44 moritz_ rakudo: say 'a' ~~ 0
21:44 p6eval rakudo 0331d6: OUTPUT«1␤»
21:44 moritz_ that's better.
21:44 moritz_ vijs: say 0 ~~ 'a'
21:44 p6eval vijs 28476: OUTPUT«0␤»
21:45 diakopter :)
21:45 diakopter haven't done that one yet
21:45 diakopter (the ones you've tried)
21:52 diakopter std: say ...
21:52 p6eval std 28477: OUTPUT«ok 00:02 95m␤»
21:54 pugs_svn r28478 | diakopter++ | [vijs] non-implement ...
21:54 pugs_svn r28479 | diakopter++ | [vijs] yeah
21:55 moritz_ diakopter: btw $a ~~ $b maps to $b.ACCEPT($a), maybe that's something you want to implement that way...
21:55 diakopter moritz_: it does the swapping correctly already (just not the rename to .ACCEPT)
21:56 diakopter so the do_infix__S_TildeTilde method on each object is actually .ACCEPTS()
21:57 moritz_ diakopter: yes, I saw that. Just wanted to nudge you toward the "right" name ;-)
21:57 diakopter thanks :)
21:58 diakopter .ACCEPT, even; oops
21:58 diakopter vijs -> sprixel (s for short) at some point soon
21:58 moritz_ no, ACCEPTS
21:58 * moritz_ wrong
21:59 diakopter oh ok; you typed it wrong once, I typed it wrong once, corrected myself subconsciously, then wrongly de-corrected myself. :)
21:59 moritz_ diakopter: I like that name ;-)
21:59 moritz_ time for bed here, TTFN
22:12 colomon joined #perl6
22:14 lanny std: class F { has @.xs = <1 2>; method postcircumfix:<[ ]>(Int $ix) { @.xs[$ix] }}; my F $f .= new; $f[0].say;
22:14 p6eval std 28477: OUTPUT«ok 00:02 101m␤»
22:14 lanny rakudo: class F { has @.xs = <1 2>; method postcircumfix:<[ ]>(Int $ix) { @.xs[$ix] }}; my F $f .= new; $f[0].say;
22:14 p6eval rakudo 0331d6: OUTPUT«Method 'xs' not found for invocant of class 'Perl6Array'␤»
22:26 diakopter std: ....say
22:26 p6eval std 28479: OUTPUT«ok 00:04 95m␤»
22:36 ruoso joined #perl6
22:46 jauaor joined #perl6
22:46 TimToady o_O
22:46 jauaor :)
22:47 TimToady std ...$x
22:47 jauaor O_o
22:47 TimToady std: ...$_
22:47 p6eval std 28479: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/1uewa7STMt line 1:␤------> [32m...[33m⏏[31m$_[0m␤    expecting any of:␤  POST␤   bracketed infix␤    infix stopper␤    postfix␤        postfix_prefix_meta_operator␤       standard stopper␤       statement modifier loop␤
22:47 p6eval ..   terminator␤     whitespace␤FAILE…
22:48 diakopter std: ... .say
22:48 TimToady std: ...++
22:48 p6eval std 28479: OUTPUT«ok 00:02 95m␤»
22:48 p6eval std 28479: OUTPUT«ok 00:01 95m␤»
22:48 TimToady listop becomes listop() with no args
22:48 TimToady which is arguably confusing
22:49 diakopter confusely arguing
22:49 diakopter I mean, confusely arging
22:49 TimToady make up your mind
22:49 TimToady you at SB's?
22:49 diakopter too much makeup already
22:50 diakopter the one and only
22:50 TimToady except for the next one, and the next one...
22:52 diakopter confusually arging. there we go.
22:52 diakopter rakudo: say ...
22:52 p6eval rakudo 0331d6: OUTPUT«Can't return outside a routine␤in Main (/tmp/SUEYlxb1MW:0)␤»
22:52 xinming joined #perl6
22:52 diakopter vijs: say ...
22:52 p6eval vijs 28479: OUTPUT«␤»
22:56 frew__ joined #perl6
22:59 colomon TimToady: The other day a couple of us were discussing maybe adding an adverb modifier to <<+>> (etc) to specify how to extend short arrays.
22:59 diakopter vijs: ... say
22:59 p6eval vijs 28479: OUTPUT«␤»
22:59 diakopter vijs: ... .say
22:59 p6eval vijs 28479: OUTPUT«execute(): execute error: noun__S_dotty not yet implemented; srsly!!?!?␤last: arglist␤T,T__noun__S_dotty,BEG,WS,_specific,SYM,E​ND,dotty,M,phase,postDo,eval_args,invoker,context at vijs line 85.␤»
23:00 diakopter vijs: say die
23:00 p6eval vijs 28479: OUTPUT«Undef␤»
23:00 diakopter vijs: die die
23:01 p6eval vijs 28479:  ( no output )
23:03 TimToady colomon: adverbs may not be the best mechanism for that
23:03 rhr_ joined #perl6
23:04 colomon TimToady: is there another possibility?  The current default of just repeating the last element is awkward in a lot of contexts.
23:06 pugs_svn r28480 | lwall++ | [S05] specifically allow :temp and :let forms, pmichaud++
23:06 TimToady xx covers most of the rest of the situations
23:07 payload joined #perl6
23:07 colomon TimToady: unless there's some magic I'm not aware of, though, xx makes the code significantly more complicated.
23:08 am0c joined #perl6
23:08 colomon you need to directly worry about the length of each array, etc.
23:08 TimToady would cyclic behavior be more expected by mathoids?
23:08 payload joined #perl6
23:08 colomon define cyclic in this context?
23:09 TimToady if a dimension is deficient in values, start over
23:09 colomon Ah, no.
23:10 colomon I'm not sure there is a good general purpose solution, actually.
23:10 colomon For instance, if the arrays represent the coefficients of two polynomials, and you're adding, you just want to extend the shorter with zeros.
23:12 colomon Things like that (adding the digits in a bignum would be another example) you're going to usually want to extend with zeros.
23:12 TimToady in that sort of case, a different nominal type could define + differently, I suppose
23:13 colomon Define + differently, or define <<+>> differently?
23:13 TimToady add digits of bignum sounds more like a reduction
23:14 colomon TimToady: Sorry, I meant adding two bignums, if you represent them as arrays of digits.
23:15 TimToady you'd need to add them in reverse and do carry in any case :)
23:15 TimToady defining + won't help with <<+>> unless you call + directly on the type
23:15 TimToady and I don't really want people redefining the meta-ops much
23:15 diakopter vijs: say 999999999999999999999999999999999999999999 + 999999999999999999999999999999999999999999
23:15 p6eval vijs 28479: OUTPUT«1999999999999999999​999999999999999999999998␤»
23:17 TimToady but it sounds like a data type that assumes the value of missing elements more than a + modifier to me
23:17 TimToady particularly since infixes so often have to deal in two different data types
23:18 TimToady unless they're the coercing kind
23:18 TimToady which is one way of dealing, I suppose :)
23:19 TimToady it's more like you want [+] |CONFORM($a,$b)
23:19 TimToady rather, [>>+<<] |CONFORM($a,$b)
23:19 pugs_svn r28481 | diakopter++ | [vijs] add vijs to p6eval's perl6: ...
23:20 diakopter evalbot control restart
23:20 p6eval joined #perl6
23:20 TimToady for some definition of conformance
23:20 diakopter perl6: say 1234
23:20 p6eval elf 28480, pugs, rakudo 0331d6, vijs 28480: OUTPUT«1234␤»
23:21 diakopter that'll slow it down some :P
23:21 diakopter perl6: say ...
23:21 p6eval rakudo 0331d6: OUTPUT«Can't return outside a routine␤in Main (/tmp/Qb0r9MPJK1:0)␤»
23:21 p6eval ..pugs: OUTPUT«*** Cannot use this control structure outside a 'routine' structure␤    at /tmp/oIcuUaIQfC line 1, column 5 - line 2, column 1␤»
23:21 p6eval ..vijs 28480: OUTPUT«␤»
23:21 p6eval ..elf 28480: OUTPUT«Parse error in: /tmp/F5yaBp8n9Q␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: say ...␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤  STD_red/std.rb:210:in
23:21 p6eval ..`_UNIT'␤…
23:22 diakopter perl6: { say ... }
23:22 p6eval vijs 28480: OUTPUT«execute(): execute error: terminator__S_Ly not yet implemented; srsly!!?!?␤last: args␤T,T__terminator__S_Ly,_specific,pr​ec,END,dba,assoc,TEXT,BEG,kind,WS,SYM,p​hase,postDo,eval_args,invoker,context at vijs line 85.␤»
23:22 p6eval ..rakudo 0331d6: OUTPUT«Can't return outside a routine␤in Main (/tmp/STm3Kzex7n:1)␤»
23:22 p6eval ..pugs: OUTPUT«*** Cannot use this control structure outside a 'routine' structure␤    at /tmp/SNPT8rsYO5 line 1, column 7-11␤»
23:22 p6eval ..elf 28481: OUTPUT«Parse error in: /tmp/kRgx9yVYmS␤panic at line 1 column 2 (pos 2): Missing right brace␤WHERE: { say ... }␤WHERE:  /\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:255:in `_block_rest'␤  STD_red/std.rb:242:in `block in block'␤  STD_red/prelude.rb:52:in `call'␤
23:22 p6eval ..STD_red/…
23:22 diakopter verbosey
23:23 TimToady we could also have some kind of meta-op that sets policy on the following op
23:23 TimToady so, for instance, C«+» might set cyclic mode
23:23 TimToady and then the modifier is right there, rather than the other side of the right arg
23:24 colomon TimToady: oooo.
23:24 colomon That's interesting.
23:24 TimToady or if there are a common set of modes, they can be defaulted pragmatically
23:24 TimToady where Cop is just a very small pragma
23:25 colomon (Sorry for disappearing, my wife just left me alone with our boy at bed time for the first time.)
23:25 TimToady but generally, people think of adverbs first, and I try to think of the last nowadays
23:25 TimToady *them
23:25 colomon interesting.  I'm not completely sold on adverbs, that was just my understanding of "the Perl 6 way".  :)
23:25 TimToady s/the/a/ :)
23:26 TimToady P6BP will probably discourage them :)
23:26 colomon Yes, I always try to remember what TimToady stands for.  :)
23:27 TimToady speaking of which, do you pronounce your 'c' like it was cyrillic? :)
23:27 TimToady (in your nick)
23:28 sjohnson my guess is "Ko-lo-min"
23:28 colomon Pronounce it with a hard c.  (Like it's Irish, I suppose.)
23:28 TimToady just wondered, thanks
23:28 sjohnson TimToady is pronounced "Timtowtdi"
23:29 colomon I've no idea how my TA selected colomon for my nick back in '89, but it's so much more distinctive than sfoster that I've always stuck with it.
23:29 sjohnson (´ー` )
23:33 colomon sjohnson: A little more like "Kol-o-min", perhaps.
23:33 TimToady if your TA was russian, it might have been more like how it's spelled in cyrillic, with a 's' pronunciation
23:34 colomon Ah, interesting.  I'm pretty sure my TA was Chinese, but it was a long time ago.
23:34 TimToady as you may know, CCCP is really SSSR
23:35 colomon TimToady: I feel very stupid for never making that connection -- it's obvious once you say it!
23:35 sjohnson TimToady: as well as a great anime playing pack on Windows systems
23:35 TimToady well, I pretend to be a linguist
23:35 sjohnson http://www.cccp-project.net/
23:36 diakopter I preguist to be a lintend
23:36 TimToady sometimes permutational humor works, and sometimes it doesn't
23:36 * diakopter stubs in Rat and some of it
23:36 diakopter and sometimes it doesn't
23:37 TimToady you can say that again
23:37 TimToady .o(that goes without saying)
23:37 TimToady well, back to package names...
23:38 diakopter .iI[THOUGHT]
23:38 colomon I think I will adopt the Russian TA theory if I ever need a (BS) explanation of how "colomon" came to be.
23:38 diakopter I thought it was emphasized Cuhl `o` min
23:40 colomon diakopter: nope, emphasis on the first syllable.
23:42 diakopter pugs_svn: poke
23:42 TimToady I pronounced it k-ish till I /whois'd you, and then wondered
23:43 rjh joined #perl6
23:43 pugs_svn r28482 | diakopter++ | [vijs/sprixel] implement Rat, rename p6sub to Sub; implement undefined Type objects and WHAT() on most things
23:44 diakopter er, *stubbed in* Rat
23:45 colomon diakopter: are you using rakudo's setting to do this?
23:47 pugs_svn r28483 | diakopter++ | [vijs] implement number__S_rational, for Rat literals
23:47 diakopter colomon: no..
23:47 meppl joined #perl6
23:47 diakopter colomon: I'm building up a hybrid model
23:48 diakopter so I can migrate "natively" (in JS) implemented things and once it's far enough to require/use files, it'll be able to use settings and eval().  For now the Test setting is kinda fak-ed.
23:50 diakopter since both namespaces and lexical scopes are modeled directly in JS objects, such a migration will work ok, until multi stuff is next to implement.  Until then, JS's single-inheritance objects will suffice for emulating dispatching on args
23:54 pmichaud I wonder how hard it would be to write a p6 grammar engine for js...
23:56 colomon pmichaud: Inspired by Matt-W, I am trying moving prefix:<+> to the setting.
23:57 colomon so far so good on make spectest....
23:57 pugs_svn r28484 | diakopter++ | [vijs] bugfixes for Rat
23:57 pmichaud colomon: I ran into some problems when I tried it, for some reason -- I hope it works for you though :)
23:57 colomon :)
23:58 colomon Simple enough to try.  Particularly since, on a hunch, I decided to ignore the int special case.

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

Perl 6 | Reference Documentation | Rakudo