Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-09-24

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 guest1235123 badanov: you can certainly help :)
00:00 badanov Am I better off with a pure irc client
00:01 guest1235123 not necessarily
00:01 guest1235123 web client is fine for now :)
00:02 badanov Okie doakie
00:02 guest1235123 as for helping, what do you enjoy doing?
00:03 badanov I am a machinist, but I pciked up perl and unix over the years, so what I am not cutting metal I program in perl.  I have a war game site I programmed in perl.
00:03 badanov when = what
00:04 badanov I also have a degree in journalism, sio I can write, or so they tell me.
00:04 guest1235123 :)
00:04 badanov I do much better when I can edit my fremarks :o)
00:04 badanov hah
00:05 badanov So I guess how I can help is writing about perl 6 which is already intrigueing if for no other reason than the types defining and the object oritenting as well as the regex overhaul
00:07 guest1235123 Excellent :)
00:08 badanov I also help out with a couple of websites with security and such, light programming ( php editing )  ( The guy prefers php )
00:10 guest1235123 What do you mean by "war game site"?
00:10 badanov war game club http://www.flwgc.org
00:11 badanov Sorry about that.  I mostly refer to it as the wargame site and not the club. Forgot my manners.
00:14 guest1235123 Writing about Perl 6 would definitely be helpful
00:14 badanov Okay
00:17 guest1235123 What do you need to get started?
00:19 badanov Writing?  Maybe an interview.  I actually don't have access to any tech sites to publish, mostly conservative blogs, but some of those would pay attention.
00:20 badanov I  can definitely conduct and write an interview.  Publishing it to a wide audience is another matter.
00:20 TiMBuS joined #perl6
00:21 guest1235123 Well, you'd want to interview TimToady, pmichaud, jnthn, ruoso, pmurias - they're all present in this channel, so just ask :)
00:21 badanov Okay.
00:21 guest1235123 (They're also all over the globe, so you might need to pick your time.)
00:22 badanov I will.  Email can be done anytime however.
00:22 badanov Going forward, the audience may be small. however.
00:25 guest1235123 Well, they may just say 'no', but if it results in *any* new contributors it's a good thing
00:26 guest1235123 (Your interview I mean)
00:26 guest1235123 So ask - folks are pretty friendly around here :)
00:27 badanov okay.
00:27 guest1235123 And welcome - enjoy your stay :)
00:27 badanov Thanks.
00:36 __ash__ joined #perl6
00:47 szabgab joined #perl6
00:54 badanov Thanks again.  I will be back in a while to save my irc log in in an irc client.
00:54 badanov left #perl6
00:59 badanov joined #perl6
01:02 crythias http://irclog.perlgeek.de/perl6/today
01:03 badanov joined #perl6
01:04 badanov left #perl6
01:05 badanov joined #perl6
01:07 jaldhar joined #perl6
01:08 [particle] joined #perl6
01:08 badanov joined #perl6
01:09 badanov And we're back
01:12 badanov I will be back Sunday to try to set up an email interview.
01:12 badanov cya
01:16 _jaldhar joined #perl6
01:43 __ash__ joined #perl6
01:56 _jaldhar joined #perl6
01:57 c1sung joined #perl6
02:20 jauaor joined #perl6
02:21 payload joined #perl6
02:26 petdance joined #perl6
03:06 rhr joined #perl6
03:30 am0c joined #perl6
04:24 crythias joined #perl6
05:17 zloyrusskiy joined #perl6
05:26 agentzh joined #perl6
05:39 guest1235123 phenny: tell moritz_ I'm enjoying the blog posts - you're getting better - more of an "angle" :)
05:39 phenny guest1235123: I'll pass that on when moritz_ is around.
06:18 Confield joined #perl6
06:20 Su-Shee joined #perl6
06:21 Su-Shee good morning.
06:23 Confield left #perl6
06:24 Confield joined #perl6
06:33 iblechbot joined #perl6
06:35 moritz_ \o/
06:35 phenny moritz_: 05:39Z <guest1235123> tell moritz_ I'm enjoying the blog posts - you're getting better - more of an "angle" :)
06:37 ihrd joined #perl6
06:37 ihrd left #perl6
06:40 guest1235123 by which i mean they're becoming more and more enjoyable. :)
06:41 moritz_ thank you
06:49 guest1235123 np
06:50 masak joined #perl6
06:53 mberends joined #perl6
06:53 mberends \o all
06:54 moritz_ \o|
06:55 masak hai
06:55 [particle] joined #perl6
06:56 mberends I did a bit more work on proto installed-modules while commuting, but it's not complete enough to commit. Hopefully later today...
06:57 masak I have a question about custom exception types.
06:57 masak how do I, er, use them?
06:57 masak rakudo: class MyException is Exception {}; die MyException.new()
06:57 p6eval rakudo 0eaf62: OUTPUT«Not a throwable object␤in Main (/tmp/5G5muasCJO:2)␤»
06:58 masak I find that laughably strange.
06:59 [particle]1 joined #perl6
07:01 masak besides, I find nothing in the synopses to corroborate that this is indeed the way to throw an exception.
07:02 masak the only thing I get from S32/Exception is that it thinks that it's OK to have a role and a class with the same type name.
07:02 masak (which, IIUC, it isn't)
07:04 mberends Exception.^methods has a rethrow and a resume, but not a throw. hmm.
07:10 guest1235123 masak: was wondering the same thing a while ago... can anyone help?
07:10 masak guest1235123: yes, but it's sort of a communal thing, and therefor irregular and unpredictible.
07:11 masak guest1235123: we're currently in phase 1 of the help, where we all express our distaste of the current state of things.
07:11 moritz_ I think it should work by inheriting from Exception, but it's NYI
07:11 masak example:
07:11 masak I can't believe this doesn't work yet!
07:12 masak never mind that I really like to work around stuff; this is way less than awesome.
07:12 masak there. with that our of our systems, now we can start actually discussing a solution.
07:12 guest1235123 oh wait, LTA LTA!
07:13 guest1235123 proceed.
07:14 jnthn OMGWTFLTA!
07:14 masak thanks for your contribution.
07:14 masak jnthn!
07:14 jnthn Anytime. ;-)
07:15 masak anyway,
07:15 * jnthn is in Korea o/
07:15 masak jnthn: which one? :P
07:15 * Matt-W guesses South
07:15 masak South is the more likely, yes.
07:15 masak but North would be so much more... interesting.
07:15 guest1235123 Korea == teh awesome
07:16 masak so my parents say. the do a lot of business there.
07:16 masak they are really compatible with the food. and they report that there's a lot of pretty Korean girls.
07:17 masak so I see why jnthn would fling up his arms like that, yes. :)
07:18 jnthn South :-)
07:18 jnthn masak: I haven't tried either of those yet
07:18 jnthn erm
07:18 jnthn ...that came out wrongish
07:18 masak 哈哈
07:18 * jnthn looks forward to trying to food ;-)
07:19 guest1235123 eat well! :)
07:20 am0c jnthn: welcome to Korea \o/ yey~
07:21 jnthn am0c: Thanks :-)
07:22 donaldh joined #perl6
07:23 masak am0c: oh, oh, could you explain that postfix tilde you just made? is that something specifically Asian?
07:29 masak my guess about the 'die SomeException.new($message, *%stuff)', is that "correct"? can anyone confirm it using the synopses, the apocalypses, p6l discussion or strange whispered messages from the future? preferably all of those.
07:31 Matt-W umm
07:31 Matt-W is subroutines being rw actually a bug?
07:32 masak I don't actually know.
07:32 jnthn Matt-W: no
07:32 jnthn masak: I was under the impression that is how hyou'd throw it.
07:32 jnthn Matt-W: to expand - it marks an l-value sub.
07:33 meppl joined #perl6
07:33 Matt-W jnthn: that's when you say 'sub foo is rw'
07:33 jnthn (that is, one returning an l-value)
07:33 masak rakudo: sub foo { say "OH HAI" }; class A { method bar {} }; &A::bar = &foo; A.new.bar
07:33 p6eval rakudo 0eaf62: OUTPUT«OH HAI␤»
07:33 jnthn oh cunning
07:33 moritz_ !
07:33 masak monkey typing without the monkey.
07:33 cmv joined #perl6
07:33 * Matt-W sees nothing wrong with that
07:34 masak Matt-W: are you quite serious?
07:34 jnthn I'm not sure it's wrong either.
07:34 Matt-W yes
07:34 Matt-W very serious
07:34 jnthn Remember that while ~block is immutable, routine is mutable.
07:34 masak good. just checking.
07:34 jnthn I'm not sure if that's "mutable" in a sense that matters here
07:34 Matt-W would you propose that you'd only be able to do that to things which explicitly say you could do that to them?
07:34 masak then I propose we get rid of MONKEY_TYPING altogether.
07:34 masak it's just a sham.
07:34 Matt-W I don't see a reason for MONKEY_TYPING either
07:34 jnthn but it's teh funny ;-)
07:35 am0c masak: ah, the tilde i made just meant a tilde (like, hi~!)
07:35 moritz_ oh I'm sure it requires MONKEY_TYPING
07:35 masak am0c: that doesn't explain it at all, you know.
07:35 masak am0c: what does it _mean_? :)
07:35 masak moritz_: apparently not.
07:36 moritz_ masak: I meant in an ideal Perl 6
07:36 * masak submits a rakudobug
07:36 jnthn moritz_: I'm not sure how to efficeintly implement that semantic...
07:36 Matt-W It either needs to be one way or the other
07:36 jnthn oh, well, we'll think of a way ;-)
07:36 Matt-W And I'd prefer that you can just do it
07:37 Matt-W What is the justification for requiring MONKEY_TYPING in order to mess around with augment etc.
07:37 masak Matt-W: that it's an antisocial way of coding.
07:37 masak Matt-W: Ruby is one large, slow experiment showing that.
07:38 Matt-W When did Perl start stopping people having enough rope to hang themselves?
07:38 masak Matt-W: well, it does! that's why we have MONKEY_TYPING.
07:38 Matt-W Or did the rules change
07:39 jnthn It's a spectrum, not a boolean.
07:39 jnthn Perl has always been like that.
07:39 jnthn You can use strict, or you can not bother, etc.
07:39 jnthn So mostly this is just a discussion of, what are the defaults.
07:39 Matt-W I suppose I am arguing the opposite for this that I would for strict
07:39 Matt-W since strict on by default is very much my preference
07:40 jnthn Sure. My point is that you'll be able to pick the semantics you want, at the end of the day.
07:40 masak no MONKEY_TYPING by default is very much my preference.
07:40 Matt-W but monkey_typing doesn't happen by accident
07:40 Matt-W you have to say 'look, I want to add to this class'
07:40 masak Matt-W: the RT ticket I just reported shows how simple it is.
07:41 Matt-W I'm not sure that's quite accidental enough to worry me
07:41 am0c er.. postfix:<~> makes the word pronounced longer and brighter (or higher), often to express pleasure or delight.
07:41 masak am0c: thank you! cool!
07:41 jnthn beer~!
07:41 am0c tehe
07:41 viklund besides, ~ is next to !
07:41 masak Korea~!
07:42 Matt-W viklund: no it's not
07:42 viklund Matt-W: yes it is
07:42 am0c yey~!
07:42 Matt-W viklund: not on UK keyboards
07:42 jnthn Or I guess I should say, 맥주~!
07:42 viklund but on american
07:42 Matt-W remember, never make assumptions based on keyboard layout
07:42 Matt-W somebody else's will be different
07:42 Matt-W and american keyboards are wrong
07:42 jnthn My ~ is a long way from my !
07:42 viklund which is the ONE TRUE LAYOUT btw
07:42 masak viklund: not on my US layout.
07:42 viklund but you have a mac
07:43 viklund macs are strange
07:43 Matt-W how can it be the one true layout when it doesn't even have a £ key?
07:43 masak viklund: yes, but I have a model M keyboard. :)
07:43 viklund xkbdmap -layout us -variant altgr-intl
07:43 viklund ftw
07:43 viklund whatever
07:43 jnthn Matt-W: Meh, it's the missing € key that bothers me more ;-)
07:43 Matt-W I bet it doesn't have € either...
07:43 Matt-W jnthn: snap
07:44 Matt-W of course we use € rather less than you do at the moment :)
07:44 jnthn I don't do £ any more, or at least not often.
07:44 jnthn Matt-W: well, maybe one day the UK will s/£/€/ ;-)
07:44 Matt-W maybe
07:44 Matt-W there's a lot of FUD to overcome before then though
07:44 jnthn ;-)
07:44 Matt-W and it may not be expedient
07:45 * jnthn won't even mention UK + Schengen agreement...
07:45 Matt-W urgh we really need to join in with that
07:45 Matt-W it would be particularly nice when travelling by eurostar
07:45 masak Matt-W: you didn't join yet? o.O
07:45 Matt-W airports are already so horrible that passport control adds virtually no hassle to the mega hassle you already have
07:46 Matt-W but the eurostar would be much nicer
07:46 Matt-W masak: nope, because apparently we're a nation of paranoid xenophobes
07:46 Matt-W it might let the illegal immigrants in
07:46 Matt-W ...except they seem to have no problem coming anyway
07:48 explorer joined #perl6
07:48 * viklund wonders how much of the UK-population is "natively"-brittish
07:48 Matt-W viklund: most of it
07:48 Matt-W despite what the tabloids would have you believe
07:48 viklund Matt-W: it is?
07:48 Matt-W of course, what do you mean by native
07:48 viklund ok, yes I understand that most of it is
07:48 viklund but I imagine that the percentage is slightly higher than in sweden for example
07:48 Matt-W possibly, sweden's nicer
07:48 viklund or maybe not
07:49 viklund we probably have smth like 15%-25% (only counting the last 100 years)
08:03 masak we should probably have more. there's room still.
08:03 jnthn fill up the north! ;-)
08:03 masak indeed.
08:04 jnthn It's a cool place. ;-)
08:05 TopoMorto joined #perl6
08:05 spinclad if you exclude the Normans as an invading rabble, and the Vikings, and the Sassenach, and the Romans, and ...
08:06 spinclad then you might have very few
08:06 jnthn Another draw of the UK is that it's english-speaking. And a lot of people learn English.
08:06 jnthn (for migrants, that is)
08:07 rfordinal joined #perl6
08:10 Matt-W yeah I think that's why people come all the awy through France etc. to get here
08:10 Matt-W it does help if they speak at least *some* of the language
08:12 jnthn I've never had to look for work in a foreign country, but I imagine there's a lot less options if you don't speak the local language to some reasonable level.
08:14 Su-Shee depends on the job. unskilled work and higher levels of management etc. don't need to speak german. everything in between does. ;)
08:37 rfordinal left #perl6
08:46 masak 502 RT tickets!
08:47 masak we made it!
08:47 Matt-W now fix some of them
08:47 Matt-W I want it at 400 by the end of the day
08:47 Matt-W snap to it!
08:48 * masak thinks he'd better obey
08:48 masak Matt-W: do I just close tickets randomly, or should I proceed in some order?
08:49 moritz_ start at the first ticket. Fix it. Make sure we have tests. Close it. Proceed to the next. Recurse.
08:49 masak oh, fixing them, too?
08:49 masak that might take more than a day, you know...
08:50 moritz_ then you'd better start NOW :-)
08:50 Matt-W I did say 'fix'
08:50 * masak hurries
08:50 Matt-W I'd love to help, but I have to run some boring tests
08:55 masak you can cheer us on.
08:56 Matt-W on the good news front, I haven't caused any crashes yet...
09:02 masak I'd like to fix http://rt.perl.org/rt3/Tic​ket/Display.html?id=67846 - I'm also keen to know where the '1' in '$1bar' comes from.
09:04 masak rakudo: sub foo(:$bar!) { say $bar }; map { foo(:$^bar) }, "OH HAI"
09:04 p6eval rakudo 0eaf62: OUTPUT«Symbol '$1bar' not predeclared in <anonymous>␤in Main (src/gen_setting.pm:3469)␤»
09:04 masak twigils seem to consistently get turned into '1's.
09:11 ihrd joined #perl6
09:11 baest joined #perl6
09:13 ihrd left #perl6
09:13 c1sung joined #perl6
09:14 frettled joined #perl6
09:14 silug joined #perl6
09:15 pmichaud joined #perl6
09:15 drbean joined #perl6
09:15 mj41 joined #perl6
09:15 donaldh joined #perl6
09:15 [particle]1 joined #perl6
09:15 szabgab joined #perl6
09:15 avuserow joined #perl6
09:15 mikehh joined #perl6
09:15 hugme joined #perl6
09:15 Caelum joined #perl6
09:15 devin joined #perl6
09:15 ezra joined #perl6
09:15 pugs_svn joined #perl6
09:15 phenny joined #perl6
09:15 sbp joined #perl6
09:15 PerlJam joined #perl6
09:15 cmv joined #perl6
09:15 rjh joined #perl6
09:15 alester joined #perl6
09:15 ssm joined #perl6
09:15 Helios- joined #perl6
09:15 kolibrie joined #perl6
09:15 Khisanth joined #perl6
09:15 ewilhelm joined #perl6
09:15 nsh joined #perl6
09:15 frodwith joined #perl6
09:15 c9s joined #perl6
09:15 Maddingue joined #perl6
09:15 JarJarBinks joined #perl6
09:28 explorer joined #perl6
09:28 masak joined #perl6
09:28 iblechbot joined #perl6
09:28 payload joined #perl6
09:28 synth joined #perl6
09:28 elmex joined #perl6
09:28 lisppaste3 joined #perl6
09:28 meteorjay joined #perl6
09:28 clkao joined #perl6
09:28 Woodi joined #perl6
09:28 integral joined #perl6
09:28 yves joined #perl6
09:28 blaze-x joined #perl6
09:28 garron joined #perl6
09:28 buu joined #perl6
09:28 christine joined #perl6
09:28 solarion joined #perl6
09:28 Infinoid joined #perl6
09:28 dmpk2k joined #perl6
09:31 masak why is it that when I enter the REPL with 'perl6 --target=parse' and type 'class A {}', I get a Null PMC access?
09:33 rfordinal joined #perl6
09:36 dakkar joined #perl6
09:43 rfordinal3643 joined #perl6
09:47 ejs joined #perl6
09:55 nihiliad joined #perl6
09:58 masak aha! I've got it!
09:58 masak on line 1062 of src/parser/grammar.pg, it says <twigil>?
09:59 masak that makes it an array, since '?' is just short for '**0..1'
10:00 masak meanwhile, on line 2922 of src/parser/actions.pm, it says :name( ~$<sigil> ~ ~$<twigil> ~ $<desigilname> )
10:00 masak so $<twigil>, even though it is an array, is treated just the same way as its pals.
10:00 masak it probably gets numified, and since the array has 1 element, it gets numified to 1.
10:01 * Matt-W applauds
10:01 masak I'll try the trivial fix and see if it works.
10:02 Matt-W although it explicitly stringifies, so I'm not sure why an array would stringify to its numification
10:02 Matt-W but maybe that's a thing in NQP
10:02 masak aye.
10:18 jiing joined #perl6
10:37 nbrown joined #perl6
10:38 payload joined #perl6
10:43 rfordinal joined #perl6
10:45 Student joined #perl6
10:54 chturne joined #perl6
11:29 pmurias joined #perl6
11:30 pmurias diakopter: hi
11:31 pugs_svn r28391 | Kodi++ | [S04] Made CATCH's special treatment of default blocks, which is already implied by the spec, more explicit.
11:50 dalek rakudo: 722f82c | masak++ | src/parser/actions.pm:
11:50 dalek rakudo: [actions.pm] construct twigilled variables right
11:50 dalek rakudo: In <http://rt.perl.org/rt3/Tic​ket/Display.html?id=67846>, :$.bar
11:50 dalek rakudo: turned into $1bar. The <twigil> subrule was called with a
11:50 dalek rakudo: postfix:<?>, turning its submatch into an array.  The colonpair
11:50 dalek rakudo: action method now takes this into account. This is a first step
11:50 dalek rakudo: towards fixing #67846. Rakudo still doesn't conform to the semantics
11:50 dalek rakudo: explained in L<S06/Attributive parameters>, but now it at least has a
11:50 dalek rakudo: chance.
11:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​22f82c854e4231335fd925ad3f153f63ac06341
11:50 masak more exactly, $!a now works. \o/
11:51 masak $.a (understandably) doesn't work, and $^a doesn't either; don't know if it should.
11:52 masak it would be fairly cool if it did, in my opinion. :$^a introduces a placeholder parameter and gives a named argument at the same time.
11:53 moritz_ wtf?
11:53 masak no? :)
11:53 St[u]dent joined #perl6
11:54 masak I won't argue very energetically for it; I just think it'd be consistent.
11:55 masak I'm already seeing potential uses for the :$!a syntax rather extensively.
11:55 moritz_ I saw :$^a and my first thought was "wtf?"
11:56 masak so the fact that it works now will lead to some immediate wins. it's even more motivated when the attributes are long and descriptive.
11:56 moritz_ remember, we want to keep signatures as intuitive as possible
11:56 moritz_ are there any tests for $!a?
11:56 masak moritz_: this isn't for signature. this is for argument lists.
11:56 masak moritz_: I doubt it.
11:56 moritz_ oh, argument lists
11:56 moritz_ hm
11:56 moritz_ that makes more sense
11:56 masak moritz_: http://rt.perl.org/rt3/Tic​ket/Display.html?id=67846
11:56 moritz_ ok, I retract my previous sentiment
11:56 masak :)
12:00 azawawi joined #perl6
12:03 eiro joined #perl6
12:04 masak no, no colonpair/twigil tests in t/spec.
12:04 masak I checked.
12:05 eiro joined #perl6
12:05 * masak adds it to t/spec/TODO
12:06 eiro joined #perl6
12:06 eiro hello
12:07 pugs_svn r28392 | masak++ | [t/TASKS]: Added one more task for S06.
12:10 hv2 joined #perl6
12:24 masak rakudo: sub bar(:$a!) { say $a }; class A { has $!a = "OH HAI"; method foo() { bar(:$!a) } }; A.new.foo
12:24 p6eval rakudo 0eaf62: OUTPUT«Symbol '$1a' not predeclared in foo␤in Main (src/gen_setting.pm:3469)␤»
12:24 masak too early still. it works locally. :)
12:30 masak oh, and :$*a works, too.
12:32 masak a bit hard to test it for :$=a, still...
12:34 ruoso joined #perl6
12:37 jnthn Ooh, signature fun.
12:37 masak no, it's not signatures. it's colonpairs appearing anywhere in code, but perhaps most often in argument lists.
12:37 masak but yes, it's fun. :)
12:37 jnthn oh no, arg list
12:38 jnthn but masak++ for hacking on Rakudo \o/
12:38 jnthn OK, so signatures bit of that still is on my plate. Damm. :-P
12:38 masak three-char change. :)
12:38 jnthn masak++ # golfing changes as well as bug reports
12:38 masak jnthn: as far as I can see, the signatures are not affected by this.
12:38 jnthn no, I doubt they would be.
12:39 jnthn I'll hopefully have the siggy bits of this working in not too long.
12:39 masak jnthn: because :$.foo gets turned into :foo($.foo) before it even reaches the signature.
12:41 mj41_ joined #perl6
12:41 jnthn masak: aye
12:41 jnthn well
12:41 jnthn it's the other side of the binding story
12:42 masak I thought that was all implemented.
12:42 masak but perhaps I'm missing some... oh!
12:42 masak you mean like :$!foo as part of a signature?
12:42 masak niiiice.
12:42 jnthn yes, indeed
12:42 jnthn so your BUILD gets nicer.
12:43 masak well, that's the only twigil you have to worry about, I think.
12:43 jnthn I think so
12:43 jnthn I'll confirm with spec
12:43 masak :$.foo and :$^foo and :$*foo don't make much sense in signatures.
12:43 jnthn when I get to it
12:45 jnthn but yes, those make less sense to me too
12:45 jnthn :$.foo maybe could
12:45 jnthn (accessor call
12:45 jnthn )
12:46 jnthn std: sub foo($!foo) { }
12:46 p6eval std 28379: OUTPUT«ok 00:02 97m␤»
12:46 masak mm. yes.
12:46 jnthn std: sub foo($.foo) { }
12:46 p6eval std 28379: OUTPUT«ok 00:02 97m␤»
12:46 jnthn std: sub foo($*foo) { }
12:46 p6eval std 28379: OUTPUT«ok 00:01 97m␤»
12:46 jnthn meh
12:46 jnthn I doubt std does this semantic check.
12:46 masak std: sub foo($^foo) { }
12:46 p6eval std 28379: OUTPUT«Potential difficulties:␤  Illegal to use ^ twigil in signature at /tmp/SuyhMD5XQv line 1:␤------> [32msub foo([33m⏏[31m$^foo) { }[0m␤ok 00:02 97m␤»
12:46 masak it does for ^
12:47 jnthn oh hmm
12:50 iblechbot joined #perl6
12:50 jnthn I guess look up and assign to a context var works too.
12:50 mariuz joined #perl6
12:50 masak actually, yes.
12:50 jnthn so not so crazy after all.
12:50 jnthn and probably useful.
12:51 masak I recently read through the Apocalypses.
12:51 masak it was an interesting read.
12:51 jnthn hehe
12:52 masak it (1) reminded me of a lot of things that have changed for the better (2) explained a lot of design decisions that I didn't know I had wondered about (3) showed that already four years ago, Perl 6 was a really cool language.
12:54 masak named params used to be prefixed with '+'. optional params had the '?' in front. private attrs had a ':' twigil. you could call methods with topic-like '.method' syntax. Bool was called 'bit'. :)
12:56 masak but it goes into great depth (and length), taking care to explain _why_ aspekcts of Perl 6 are the way they are. much of that material is very useful knowledge, but never got ported to the synopses.
12:56 masak I think shaping u4x with A?? in mind would be a Good Thing.
12:58 moritz_ masak: in my 5-to-6 posts I always tried to emphasize the "why", but mostly I just came up with good reasons myself...
12:58 moritz_ maybe I should have read the Apocalypses too
12:59 masak maybe. but your 5-to-6 posts rock, too.
12:59 masak moritz_++
13:00 moritz_ they are now collected in-order on a single page, maybe I should advertise that more
13:00 masak sometimes it's a bit funny in the Apocalypses when the _updates_ are way off. :)
13:01 masak but one has to read them as historical documents, not as spec.
13:02 moritz_ I know
13:02 moritz_ masak: I'm sure nobody would mind if you updated the updates :-)
13:02 moritz_ (but it might be a waste of time)
13:02 masak well, are those documents anywhere writable?
13:03 moritz_ I think they are in a perl.org svn repo
13:03 masak aye.
13:03 moritz_ and pmichaud or TimToady could apply patches for you
13:03 masak I don't think I've ever seen the Apocalypses in their original POD format.
13:04 moritz_ http://svn.perl.org/perl6/doc/trunk/design/apo/
13:05 masak ah, look at that. :)
13:05 masak yes, I might.
13:06 moritz_ "the power of asking" :-)
13:06 masak I'd need to know whether to edit the stale updates, or leave them alone and add new ones below them.
13:07 masak the former way is clearer to an interested first-time reader. the latter is better for an archeologist.
13:07 moritz_ the archeologist can look into the SVN.
13:07 masak true.
13:07 moritz_ and obtain previous versions that way
13:11 moritz_ when I write regexes, it feels unnatural to me that moose* means moos[e*] instead of [moose]*
13:12 moritz_ since we alread use significant whitespace in other areas, I wonder if it makes sense to split on whitespaces in regexes, and have that modify the precedence somehow
13:12 moritz_ so that /ab cd+/ is parsed as /ab 'cd'+/
13:12 moritz_ then again it might make parsing more difficult, and interact with the :sigspace modifier in strange ways
13:13 masak also, it will make it harder when you really mean e*
13:13 masak hm, not really.
13:13 moritz_ you could say moos[e*] then
13:13 masak moos e*
13:13 moritz_ or moos e*
13:13 moritz_ unless :s is in effect
13:13 masak right.
13:14 masak I kinda like it the way it is now, because I don't have to think about the effects of whitespace as much.
13:14 moritz_ ok, thanks for your opinion
13:15 masak but I can see the rationale for a change as well.
13:15 moritz_ about half a year ago I suggested to make regexes even more like normal routines
13:15 masak in what way?
13:15 moritz_ with a "grammar" mode where you have to quote literals
13:16 moritz_ and can omit the < > around subrule calls
13:16 moritz_ but people convinced me rather quickly that it was not a good idea, and generally went too far
13:16 moritz_ it would be a nice syntax experiment for a module, though
13:16 masak I was going to say that. :)
13:17 masak it would bring grammars much closer to EBNF.
13:17 moritz_ aye
13:19 jnthn grammar Foo is EBNF { .... } # ;-)
13:19 masak that reads nicely, at least. :)
13:20 moritz_ can a trait alter the grammar for the following construct?
13:21 masak rakudo: sub bar(:$a!) { say $a }; class A { has $!a = "OH HAI"; method foo() { bar(:$!a) } }; A.new.foo
13:21 moritz_ but I'd call it EEBNF, because it's "extremely" or "extraordinarily" Exended Bacchus-Naur Form
13:21 p6eval rakudo 0eaf62: OUTPUT«Symbol '$1a' not predeclared in foo␤in Main (src/gen_setting.pm:3469)␤»
13:21 masak moritz_: evalbot update still botched?
13:21 moritz_ yes :(
13:21 masak moritz_: XBNF :)
13:22 moritz_ masak: :-)
13:24 masak I can't help but note that we also don't have bot reports on the Rakudo git repo.
13:25 masak oh, wait.
13:25 masak we did. nvm.
13:25 masak dalek++
13:25 * moritz_ thought for a moment that there were great commits to rakudo he missed
13:26 masak sorry to disappoint. :P
13:26 pmurias moritz_: re having to quote literals and omiting the < > i think quite a few people want that
13:26 Juerd moritz_: Funny. At one point I suggested the same thing, only I meant it as a default, not a special mode.
13:27 moritz_ pmurias: people who write grammars want that. People who write regexes don't
13:27 moritz_ anyway, it's on my big 'once we get that far' TODO list (as a module)
13:29 masak moritz_: you have such a list too? :P
13:30 moritz_ masak: is there any Perl 6 hacker who doesn't? :-)
13:30 masak p'haps not.
13:30 moritz_ though I confess it's only a mental list by now
13:30 moritz_ s/by now/so far/
13:30 masak mine also.
13:30 masak it's an interesting mental exercise to try to imagine what it's like _not_ to live in the early days of Perl 6.
13:30 * jnthn 's list is really mental.
13:30 jnthn ;-)
13:31 masak :P
13:31 moritz_ I have an ever-growiing TODO list in my home dir (currentl 100 lines) with middle- to long-term projects, ideas etc.
13:31 masak imagine Perl 6.0.0 out, a module ecosystem in place, a lot of books about Perl 6, established best practices...
13:31 moritz_ boring? probably not
13:32 crythias joined #perl6
13:32 masak with grammar mutability? certainly not.
13:32 moritz_ btw I have one best-practise rule that I stick to these days, and that I recommend to everone else too: USE WHITESPACE AROUND INFIX OPS (except when not)
13:33 masak moritz_: is there any particular pain that this rule stems from?
13:33 moritz_ the (except when not) part mostly applies to the comma operator, where I only use whitespaces afterwards
13:33 jnthn That's a good world take^W^Wwell thought out practice. :-)
13:33 moritz_ masak: if 1<2 { # this is part of a subscript >
13:34 masak o.O
13:34 masak std: if 1<2 { say "OH HAI" }
13:34 p6eval std 28379: OUTPUT«[31m===[0mSORRY![31m===[0m␤(Possible runaway string from line 1 to line 2)␤Whitespace required before < operator at /tmp/gWKSLIcL56 line 1:␤------> [32mif 1<[33m⏏[31m2 { say "OH HAI" }[0m␤    expecting escape␤FAILED 00:01 95m␤»
13:34 masak I'd say.
13:34 moritz_ std: say 1<2, "foo", 2>1
13:34 p6eval std 28379: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/e0hjbtpKRe line 1:␤------> [32msay 1<2, "foo", 2>[33m⏏[31m1[0m␤    expecting any of:␤    POST␤   bracketed infix␤    infix stopper␤    postfix␤        postfix_prefix_meta_operator␤       standard stopper␤
13:34 p6eval ..statement modifier loop␤    terminator␤     wh…
13:35 pmurias std: 5 <123
13:35 p6eval std 28379: OUTPUT«ok 00:01 95m␤»
13:35 pmurias std: 5<123
13:35 p6eval std 28379: OUTPUT«[31m===[0mSORRY![31m===[0m␤(Possible runaway string from line 1 to line 2)␤Whitespace required before < operator at /tmp/w5LPlEM9uX line 1:␤------> [32m5<[33m⏏[31m123[0m␤    expecting escape␤FAILED 00:02 95m␤»
13:35 pmurias @foo = <1 2 3>;
13:35 lambdabot Maybe you meant: do faq ft todo yow
13:35 pmurias std: @foo = <1 2 3>;
13:35 p6eval std 28379: OUTPUT«Potential difficulties:␤  Variable @foo is not predeclared at /tmp/cRgAecAAsa line 1:␤------> [32m@foo[33m⏏[31m = <1 2 3>;[0m␤ok 00:01 96m␤»
13:35 pmurias std: my @foo = <1 2 3>;
13:35 p6eval std 28379: OUTPUT«ok 00:01 96m␤»
13:36 pmurias do we need lambdabot anymore?
13:36 moritz_ pmurias: yes, for tracking karma
13:36 jnthn pmurias: yeah, for giving us something to swear at
13:36 masak pmurias: yes, for Haskell! <3
13:36 moritz_ > show "foo"
13:36 lambdabot "\"foo\""
13:37 masak hugme: hug lambdabot
13:37 * hugme hugs lambdabot
13:37 * moritz_ managed to write a haskell program without any errors, and without looking it up first!
13:39 masak quietfanatic++ # first RT ticket!
13:41 __ash__ joined #perl6
13:53 Matt-W moritz_: yay! what does it do?
13:54 moritz_ 15:36 <@moritz_> > show "foo"
13:54 moritz_ 15:36 <+lambdabot>   "\"foo\""
13:54 Matt-W it runs show :: String -> String
13:54 betterworld joined #perl6
13:55 Matt-W or is it the harness that runs that?
13:55 moritz_ it's lambdabot that runs it :-)
13:56 * Matt-W wishes he was writing in Haskell now, but must admit that Perl 6 is more exciting
13:57 masak > reverse show $ prod [1..4]
13:57 lambdabot Not in scope: `prod'
13:57 masak > reverse show $ product [1..4]
13:57 lambdabot Couldn't match expected type `[a]'
13:57 lambdabot against inferred type `a1 -> GHC...
13:57 masak dang. :)
13:57 chturne left #perl6
13:57 jnthn Is that error LTA? ;-)
13:58 masak the 'a1 -> GHC...' part is strange, at the vary least.
13:58 moritz_ what's a1 -> GHC...
13:58 moritz_ ?
14:01 KyleHa joined #perl6
14:03 masak moritz_: it's a function that takes an a1 and returns a GHC...
14:03 masak :P
14:04 masak Haskell is easy!
14:05 * jnthn is too stupid to understand it, so he's doing something easy instead.
14:13 masak > reverse . show $ product [1..4]
14:13 lambdabot "42"
14:13 pmichaud good morning, #perl6
14:14 masak pmichaud: morning, pmichaud!
14:14 masak the 42 provided courtesy of #haskell, where I asked what 'GHC...' meant.
14:15 masak it turned out that it was the LTA version of 'String', and that off-line tools indeed did print that.
14:15 masak > reverse . show . product . enumFromTo 1 $ 4
14:15 lambdabot "42"
14:15 Juerd What's the difference between . and $?
14:16 masak Juerd: . is function composition.
14:16 masak Juerd: $ is "parenthesis from here until end of expr"
14:16 masak (IANAHP)
14:17 masak (IJPOOTV)
14:17 * pmichaud continues working on new regex engine
14:17 pmichaud "regexes are fun!"
14:17 masak :)
14:18 masak > reverse . show . product . enumFromTo 1 . ($ 4) . ($ id) . ap const const . const id . Just . (\for -> show) $ ()
14:18 lambdabot "42"
14:18 masak I can take credit for #haskell insanities all day. :)
14:21 justatheory joined #perl6
14:22 SmokeMachine joined #perl6
14:25 masak Juerd: 'reverse $ show $ product [1...4]' also works, but the 'reverse . show' variant is preferrable for refactoring reasons, according to #haskell people.
14:25 viklund > let fib = 0:1:(zipWith (+) fib (tail fib)); fib !! 100
14:25 lambdabot <no location info>: parse error (possibly incorrect indentation)
14:26 viklund pfft
14:26 moritz_ what does the 'const' do?
14:26 * PerlJam looks around to make sure he's not accidentally on #haskell
14:26 viklund haven't learned the indentation -> ; form rules
14:26 viklund const returns it's argument I think
14:26 viklund > const 1
14:26 lambdabot {()->1}
14:26 masak hm, both '.' and '$' allow for refactorings, but '.' is geared towards functions rather than values, and it's often preferrable to think in terms of functions.
14:26 pmichaud PerlJam: we've time-warped to 2006, I guess.
14:26 viklund it returns a function that retruns it's argument...
14:26 pmichaud or to 2011.  Don't know which yet.
14:27 PerlJam pmichaud: does that mean that pugs is in active development?  :)
14:27 moritz_ pmichaud: to any(2006, 2011)
14:27 PerlJam if it's 2011, then I assume that all of the haskellian syntax is really just a perl 6 slang  :)
14:27 pmichaud or vice-versa
14:27 viklund but of course!
14:28 viklund > let fib=0:1:(zipWith (+) fib (tail fib)) in fib !! 100
14:28 lambdabot 354224848179261915075
14:28 moritz_ time travel with quantum superposition! \o/
14:28 PerlJam I like the perl 6 side of the isomorphism.
14:28 masak I once read an email about a time travel monad in Haskell. "of course, actually implementing this would be physically impossible...", it concluded. "...that's why we've stored it away inside a pragma."
14:28 * viklund can't let masak play all by himself
14:28 moritz_ masak: nice :-)
14:28 masak moritz_: scary!
14:29 PerlJam would that perl 6 could do that without resorting to scientific notation at some point.
14:30 moritz_ PerlJam: built-in bigint support is specced in rakudo
14:30 moritz_ erm
14:30 moritz_ specced in Perl 6
14:30 moritz_ but NYI in Rakudo
14:30 moritz_ but works in  pugs, for example
14:30 moritz_ and in vijs!
14:30 pmichaud we're waiting to see what Parrot does for its bigint support
14:30 PerlJam I guess that's true ... I was conflating implementation with specification.
14:31 moritz_ vijs: say 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15
14:31 p6eval vijs 28379: OUTPUT«1307674368000␤»
14:31 moritz_ rakudo: say [*] 1..15
14:31 p6eval rakudo : OUTPUT«sh: ../p/bin/perl6: No such file or directory␤»
14:31 PerlJam Wasn't there a GSoC project to provide bigints to parrot?
14:31 moritz_ rakudo: say [*] 1..15
14:31 p6eval rakudo 0eaf62: OUTPUT«1307674368000␤»
14:32 PerlJam perl6: say "foo"
14:32 moritz_ PerlJam: darbelo++ wrote bindings for the decnum lib
14:32 p6eval elf 28392, pugs, rakudo 0eaf62: OUTPUT«foo␤»
14:32 moritz_ PerlJam: which provides large decimals, but I'm not sure it also covers ints
14:32 PerlJam I guess vijs isn't ready to be added to the perl6 output list?
14:32 moritz_ not quite, IMHO
14:33 masak none of the decimals I know are very large... :P
14:33 moritz_ but I don't understand that... parrot's Configure.pl detects libgmp if installed
14:33 PerlJam masak: move them to Texas and they'll get bigger
14:33 moritz_ doesn't that provide bigint support already?
14:34 moritz_ if so, what's the problem?
14:34 PerlJam masak: if by nothing else than eating too much and getting fat. :)
14:34 masak PerlJam: :)
14:34 PerlJam moritz_: no one has asked that question to the right crowd yet?
14:34 moritz_ let's hope that pmichaud and jnthn are reading this and are part of the "right crowd" :-)
14:34 hv2 hi guys, i'd like to hack IO.isatty support into rakudo; I see parrot has Parrot_io_is_tty in io/api.c, do I just need to add something to call it in ops/io.ops?
14:34 pmichaud at one time Parrot had a "BigInt" PMC type
14:35 ejs1 joined #perl6
14:35 pmichaud however, for as along as I can remember, it wasn't actually linked into the system or working
14:35 pmichaud so I suspect the libgmp detection is a fossil
14:35 moritz_ hv2: you also need a Perl 6 spec
14:35 hv2 where does that go?
14:35 moritz_ pmichaud: let's take this over to #parrot
14:35 pmichaud moritz_: I have little knowledge beyond that
14:36 __ash__ pmichaud: http://code.google.com/p/dec​num-dynpmcs/source/checkout did a lot of work on BigInt in parrot, might be useful?
14:36 moritz_ hv2: probably somewhere in http://svn.pugscode.org/pugs/docs​/Perl6/Spec/S32-setting-library/
14:36 pmichaud in particular, I suspect that neither jnthn nor I are the "right crowd" for that question :)
14:36 moritz_ ok
14:36 Juerd masak: Thanks for explaining
14:36 masak my pleasure.
14:36 hv2 moritz: thanks, I'll have a rummage
14:36 PerlJam pmichaud: still ... you could bring it up in #ps and see if anyone bites
14:37 PerlJam (or moritz_ could)
14:37 pmichaud PerlJam: well, we already have a gsoc project working on bigints and bignums
14:37 pmichaud I think that's what darbelo has been doing
14:37 moritz_ hv2: much of the IO system is still unimplemented and the specs are not all that accurate, so don't take everything for granted in these dosc
14:38 PerlJam pmichaud: except the summer is over :)
14:38 pmichaud PerlJam: yes, but darbelo is still active :)
14:38 moritz_ and I think the bindings mostly work
14:38 hv2 moritz_: for now I'm just looking to hack a .isatty method into my local copy - the spec'd variant is :t, which I think needs general filetest support before I'd want to try to add it
14:38 PerlJam oh good.   I haven't really been keeping track of parrot for a while now.   I just hope that he's on to the second 90%.
14:39 moritz_ hv2: rakudo does support file tests, albeit in an outdated fashion
14:39 __ash__ darbelo made a commit as recently as yesterday for his BigNum and BigInt libs
14:39 moritz_ hv2: that is as methods named ':e', ':d' etc in the Str class
14:40 hv2 ah ok, I was just looking at what was explicit in setting/IO.pm, assumed it would all be there
14:40 Psyche^ joined #perl6
14:40 pmichaud I'd be really happy to see the :e, :d, etc. filetests moved out of Str and into IO
14:40 pmichaud that seems like a LHF task
14:40 pmichaud (LHF == low hanging fruit)
14:40 masak we don't talk a lot about HHF.
14:41 pmichaud I'm working on HHF at the moment, in fact.
14:41 pmichaud redesigning the regex engine is probably HHF
14:41 masak pmichaud++
14:41 PerlJam I don't eat fruit.  Can we talk about high growing vegetables?  Or animals that move slow enough that it's easy to kill and eat them?
14:41 pmichaud it certainly needs some ladders and safety gear :)
14:41 masak pmichaud: are you working entirely locally? or is there a branch somewhere online?
14:42 pmichaud masak: it's still design issues at the moment.  I expect commits tomorrow.
14:42 masak gotcha.
14:42 pmichaud I'm re-architecting the whole system to be similar to PAST/POST
14:42 pmichaud in fact, the regex ast nodes will emit POST instead of PIR
14:42 PerlJam pmichaud: so ... you're still climbing the tree and are a ways away from the fruit yet
14:42 pmichaud PerlJam: I'm still erecting the scaffolding and cranes needed to reach the fruit
14:43 pmichaud and probably doing an environmental impact survey
14:43 moritz_ I hope there are occasional berries along the way :-)
14:43 diakopter I have some questions for the room: (anyone please answer/contribute)
14:43 masak .oO( crane-berries )
14:43 PerlJam diakopter: I don't think you need to tell this crowd to speak.  Everyone freely opines :)
14:44 masak PerlJam: I disagree. :P
14:44 moritz_ masak++
14:44 pmichaud but I'm really liking the design that is coming together.  I think it will be much more efficient and easier to maintain than the current PGE
14:44 PerlJam masak: :-P
14:46 cognominal is there any reason to keep parentheses when declaring multiple variables at once now that the relative precedence of = and , are right. Should not the declarator distribute to the vars?
14:46 mberends left #perl6
14:46 pmichaud cognominal: no.
14:46 moritz_ cognominal: note that there are two infix:<=> with different precedences
14:46 pmichaud there's a difference between list assignment .... what moritz++ said.
14:47 moritz_ if the LHS looks like list, the precedence is looser
14:47 pmichaud more specific, if the LHS isn't scalar, the precedence is looser :)
14:47 moritz_ so that you can say my @a = $a = 1, $b = 2, $c = 3;
14:48 moritz_ and mean my @a = ($a = 1, $b = 2, $c = 3;)
14:48 cognominal ok, thx
14:49 moritz_ t/spec/S03-operators/assign.t is full of precedence for that :-)
14:49 cognominal I will read it
14:50 pmichaud PerlJam: (not eating fruit) -- we don't need you to consume the fruit, we just need you to gather it.  :)
14:50 moritz_ cognominal: and keep your distance in order not to vomit over your keyboard :/
14:50 PerlJam but if I don't eat it, why would I gather it?  That sounds like an altruistic endeavor  :)
14:51 __ash__ jnthn: so, at my ACM group here in college we do student presentations, and I was thinking of doing one on roles and perl6 in general, is it cool if i reference some of your slides on perl6 roles?
14:51 moritz_ PerlJam: to sell it, or exchange it against some other tasty food
14:51 eiro wg #biblibre
14:51 PerlJam moritz_: but no one wants to buy the perl6 fruit </whine>
14:52 masak eiro: another irssi victim? :)
14:52 moritz_ __ash__: I'd be very surprised if jnthn had any objections
14:52 eiro oops ... yeah : i know i have to find a decent client :)
14:52 eiro masak, you allready laught at me about it :)
14:52 masak eiro: I can't remember all the irssi users I've laughed at. :)
14:53 pmichaud ...what's wrong with irssi?  or is it just that we're particularly humorous?
14:53 masak pmichaud: I'm sure it's a fine client. but among all IRC clients I know, it's the one where people most often mix out-of-band commands into channel discussion.
14:54 __ash__ moritz_: i'd rather be sure, i also am trying to see if I can get anyone else interested in parrot to try working on the JIT runcore in the llvm, the llvm is where I want to do research (if/when) i get into grad school next fall
14:54 pmichaud /msg PerlJam  do you have any idea what masak is carping about?
14:54 pmichaud oops.
14:54 masak :)
14:55 eiro :-)
14:59 hugme joined #perl6
15:00 ejs joined #perl6
15:02 JimmyZ joined #perl6
15:05 jrtayloriv joined #perl6
15:06 hv2 Do I need to do anything other than "make" for rakudo after modifying builtins/io.pir?
15:07 pmichaud probably not.
15:07 pmichaud but it would be nicer/better if the new code could go into src/setting/IO.pm
15:07 hv2 I added a ".sub ':t'", and remade, but I'm getting "Method ':t' not found for invocant of class 'IO'"
15:08 moritz_ hv2: did you add the :method flag?
15:08 pmichaud are the methods supposed to include the colon?
15:08 hv2 .sub ':t' :method :multi(_)
15:08 hv2 .param pmc fh
15:08 hv2
15:08 hv2 $P0 = fh.'is_tty'()
15:08 hv2 .return ($P0)
15:08 hv2 .end
15:08 hv2 that was a combination of cargo cult and guesswork :)
15:08 pmichaud ...what will be passing in fh, though?
15:09 hv2 is that not self?
15:09 pmichaud if you have :method, then there's already a 'self'
15:09 pmichaud and fh would be an extra param
15:09 hv2 ah ok
15:09 pmichaud either way, 'self' isn't good enough here, because 'self' isn't a Parrot IO object
15:09 pmichaud it's a Rakudo IO object
15:10 hv2 I was looking at .sub close(), which just calls obj.'close'(), and guessing that it would simply DTRT
15:10 hv2 but I suspect I've misunderstood what .sub close is doing
15:11 pmichaud that's just a function wrapper
15:11 pmichaud it's basically the same as     sub close($x) { $x.close; }
15:11 pmichaud i.e., it's turning a function call into a method call
15:13 hv2 ok, then i guess I need a ".local pmc pio; pio = self.something()', assuming there is a something() somewhere
15:14 hv2 I guess I'm still looking in the wrong source file though, because I don't see anything doing something()
15:15 rfordinal joined #perl6
15:19 pmichaud joined #perl6
15:20 mikehh joined #perl6
15:25 rfordinal left #perl6
15:27 pmichaud joined #perl6
15:28 * pmichaud checks on IO methods...
15:30 * hv2 looks expectant
15:33 Su-Shee left #perl6
15:37 frew_ joined #perl6
15:40 molaf joined #perl6
15:44 pmichaud yes, looks like we need to update the Pair handling for smart matches
15:44 pmichaud anyway, in src/setting/IO.pm, I'd expect to see
15:45 pmichaud multi method t() { $!PIO.is_tty }
15:45 pmichaud then one can check if a file handle is a tty by using   $fh.t
15:45 hv2 not "multi method ':t'() { ... }"?
15:45 hv2 ah ok
15:46 pmichaud and when we get pairs working with smartmatch again, it'd be   $fh ~~ :t
15:46 pmichaud no, the colons are fossils
15:46 pmichaud from older versions of the spec
15:46 hv2 ok
15:49 tak11 joined #perl6
15:54 crythias joined #perl6
15:54 hv2 Hmm, ok, rebuilt with that, but it tells me "Method 'is_tty' not found for invocant of class 'FileHandle'" - I was expecting it to get a PIO rather than a FileHandle
15:54 hv2 I'm testing this with "say $*IN.t()"
15:55 pugs_svn r28393 | jimmy++ | [zh-cn/syn/S02-bits.pod]added a bit more chinese transcript
15:56 ejs1 joined #perl6
15:56 masak this is strange: Twitter spammers seem to have elected a phrase with 'Perl 6' in it: http://twitter.com/#search?q='cranky%20editorial'
15:57 PZt joined #perl6
15:57 rfordinal joined #perl6
15:58 moritz_ one person wrote it, one person copied it
15:58 moritz_ nothing new on the internet, is it?
15:59 masak right. I think alester originated the tweet.
16:00 alester which?
16:00 masak 'I need to write a cranky editorial about the absurdity of Perl 6 having "missed the boat."'
16:00 alester That's me, yes.
16:00 masak and two Twitter spammers, now.
16:01 masak from what I can tell, the spam accounts just randomly sample the tweet space somehow.
16:02 alester and only choose the most awesome tweets to clone!
16:02 pmichaud basically, they're mockingbirds.  or parrots.
16:02 masak :)
16:02 alester It's just a mynah inconvenience.
16:03 TimToady .oO(Zombie Bird: I want to eat birdbranes!)
16:04 masak srsly, some of the thought bubbles in here could be made into entire web comics.
16:05 hv2 Cool, it works:
16:06 hv2 Cool, it works:
16:06 hv2 zen% ./perl6 -e 'say $*IN.t()'
16:06 hv2 1
16:06 hv2 zen% echo '1' | ./perl6 -e 'say $*IN.t()'
16:06 hv2 0
16:06 hv2 zen%
16:06 masak hv2++
16:07 pmichaud shall I commit it?
16:07 hv2 I'm confused that $!PIO is giving a FileHandle rather than a PIO, but that's ok - FileHandle already exports isatty
16:07 hv2 multi method t() is export {
16:07 hv2 $!PIO.isatty;
16:07 hv2 }
16:08 pmichaud adding.
16:08 pmichaud surely we don't want it exported, though.
16:09 hv2 Oh, probably not.
16:09 moritz_ no
16:09 pmichaud spectesting now
16:09 masak rakudo: module A { sub foo() is export { say "OH HAI" } }; foo
16:09 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub foo␤»
16:10 masak should that work?
16:10 moritz_ masak: no
16:10 moritz_ because you didn't import it
16:10 masak moritz_: neither did import all the exported methods in the Setting.
16:10 moritz_ masak: that's what infix:<defines> is for
16:10 moritz_ masak: not you, but a magical routine did it for you
16:10 pmichaud the exported methods in the setting are imported by default
16:10 masak never heard of infix:<defines> :)
16:10 * masak hits the spec
16:10 pmichaud S11 :-)
16:11 rindolf joined #perl6
16:11 moritz_ masak: the setting is notionaally an outer scope of your program
16:11 rindolf Hi all.
16:11 rindolf I was once shown a short Haskell program for the equivalent of these - http://paste.debian.net/47425/  and http://paste.debian.net/47424
16:11 rindolf I split by words and then count the number of occurences of each word.
16:11 rindolf Can anyone reproduce it?
16:13 masak rakudo: my %h; %h{%_} for $*IN.slurp.words; .say for %h.keys.sort({ +%h{$_} })[^10]
16:13 p6eval rakudo 0eaf62: OUTPUT«Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized
16:13 p6eval ..value␤␤»
16:14 masak hm.
16:14 masak something like that. :)
16:14 masak rakudo: my %h; ++%h{%_} for $*IN.slurp.words; .say for %h.keys.sort({ -%h{$_} })[^10]
16:14 p6eval rakudo 0eaf62: OUTPUT«Method 'succ' not found for invocant of class 'List'␤»
16:14 masak o.O
16:15 pmichaud rakudo:  my %h; for $*IN.slurp.words { %h{$_}++ };  say ~%h;
16:15 p6eval rakudo 0eaf62: OUTPUT«Söhne,      1␤Schöne, 1␤Äcker,   1␤hoher  1␤zukunftsreich!    1␤neuen 1␤schwören,       1␤gläubig 1␤Land   5␤vielgeliebtes     2␤frei   1␤Erdteil 1␤Einig 1␤Herzen  1␤wild    1␤bist   1␤Sendung 1␤du     2␤begnadet        1␤Zeiten, 1␤großer  1␤Mutig   1␤und     2␤sieh
16:15 p6eval ..1␤vielgerühmtes   2␤laß     1␤Vaterland,       1␤am      1␤einem   1␤frühen  1␤Hast  …
16:15 masak oh. not %_.
16:15 masak rakudo: my %h; ++%h{$_} for $*IN.slurp.words; .say for %h.keys.sort({ -%h{$_} })[^10]
16:15 p6eval rakudo 0eaf62: OUTPUT«Land␤der␤Österreich!␤Österreich,␤vielgep​rüftes␤in␤und␤vielgeliebtes␤vielgerühmtes␤du␤»
16:15 xaki joined #perl6
16:15 pmichaud rakudo:  my %h; for $*IN.slurp.words { %h{$_}++ };  say %h.sort( { -.value } )
16:15 moritz_ so prefix:<++> autovivifies?
16:15 p6eval rakudo 0eaf62: OUTPUT«Land       5der    4Österreich!     3Österreich,     3und    2vielgerühmtes   2vielgeprüftes   2du     2in     2vielgeliebtes  2Heiß   1Heimat  1Ahnentagen     1Zeiten,        1Mutig  1laß    1einem   1Söhne, 1die     1für    1Äcker,  1uns     1dem    1zukunftsreich! 1starken
16:15 p6eval ..      1das    1arbeitsfroh    1Brüderchören,   1dir    1Treue   1frei   1Strome,        1Hämmer,        1Her…
16:16 pmichaud rakudo:  my %h; for $*IN.slurp.words { %h{$_}++ };  say %h.sort( { -.value } )[^10]
16:16 p6eval rakudo 0eaf62: OUTPUT«Land       5der    4Österreich,     3Österreich!     3vielgeliebtes  2in     2vielgerühmtes   2vielgeprüftes   2und    2du     2␤»
16:16 moritz_ now add a .perl :-)
16:16 pmichaud rakudo:  my %h; for $*IN.slurp.words { %h{$_}++ };  .say for %h.sort( { -.value } )[^10]
16:16 p6eval rakudo 0eaf62: OUTPUT«Land       5␤der     4␤Österreich!      3␤Österreich,      3␤vielgeprüftes   2␤und   2␤du     2␤vielgeliebtes     2␤in      2␤vielgerühmtes  2␤»
16:17 pmichaud yes, prefix:<++> autovivifies
16:18 masak rakudo:  my %h; for $*IN.slurp.words { %h{$_}++ };  %h.sort( { -.value } )[^10].perl.say
16:18 p6eval rakudo 0eaf62: OUTPUT«["Land" => 5, "der" => 4, "Österreich," => 3, "Österreich!" => 3, "in" => 2, "vielgerühmtes" => 2, "vielgeprüftes" => 2, "und" => 2, "du" => 2, "vielgeliebtes" => 2]␤»
16:25 TimToady rakudo: sub foo { say "OH HAI" }; class A { method bar {} }; &A::bar = &foo; A.new.bar
16:26 p6eval rakudo 0eaf62: OUTPUT«OH HAI␤»
16:26 TimToady I think that shouldn't work at all, because methods aren't supposed to go into the package unless you say "our"
16:26 pmichaud yes, thats a parrot bug
16:26 pmichaud I replied as such to the ticket
16:26 TimToady KTHNX
16:26 pmichaud it also shouldn't work because one isn't allowed to assign to a routine
16:27 pmichaud (my reply is http://rt.perl.org/rt3/Tic​ket/Display.html?id=69350, fwiw)
16:28 moritz_ rakudo: (2, 3, 4).pick.say
16:28 p6eval rakudo 0eaf62: OUTPUT«4␤»
16:28 masak pmichaud: (routine non-assignability) good.
16:31 pmichaud that particular part will be fixed when we switch the system over so that it assumes all values to be read-only unless marked otherwise
16:31 pmichaud (instead of the way it is now, where it assumes r/w unless marked readonly)
16:31 TimToady more of a capability view
16:32 TimToady and more optimized for FP -> immutability
16:32 pmichaud correct
16:33 pmichaud lunchtime would be good here.
16:33 TimToady Texans have Big lunches
16:33 eiro are the synopsies docs included in the rakudo source tree ?
16:34 pmichaud eiro: no, but they're in the pugs repo
16:34 TimToady pugs/docs/Perl6/Spec
16:34 crythias joined #perl6
16:34 eiro so i'll svn co pugs
16:35 TimToady do you have a pugs commit bit yet?
16:35 dalek rakudo: 8e34da7 | pmichaud++ | src/setting/IO.pm:
16:35 dalek rakudo: Add the IO.t method for testing that a filehandle is opened to a tty.  (hv2++)
16:35 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​e34da7f66a201237cdf68049fa250c8a258a437
16:35 TimToady if not, /msg me your email and preferred svn nick
16:36 TimToady and I can send you one
16:36 TimToady eiro: ^^^
16:38 sjohnson morning everyone
16:38 masak sjohnson: o/
16:39 sjohnson howdy masak
16:42 rindolf Hi sjohnson
16:43 eiro wow ... have to go back home!
16:43 eiro bye world
16:43 TimToady chow
16:45 sjohnson heh
16:46 ejs joined #perl6
16:48 stephenlb joined #perl6
16:50 rindolf TimToady: there's a truck of hasidic Jews outside making a lot of noise.
16:50 rindolf "Our father is still alive."
16:51 rindolf God is a mother fucker.
16:52 PerlJam for some reason I read that as "sadistic Jews"
16:53 rindolf PerlJam: same thing, really.
16:54 masak rindolf: was 'God is a mother fucker' a conclusion in a syllogism involving the hasidic Jews?
16:54 icwiener joined #perl6
16:54 masak because if so, you seem to be missing a step.
16:55 rindolf masak: they have no respect for common courtesy.
16:55 masak and that's God's fault?
16:55 rindolf OK, I think I can watch the movie now.
16:57 masak hugme: hug rindolf
16:57 * hugme hugs rindolf
16:57 moritz_ :q!
16:57 * hugme hugs moritz_, good vi(m) user!
16:58 masak 哈哈
16:58 * moritz_ has to boast with latest hugme feature :-)
16:58 masak moritz_: does it hug hapless irssi users too?
16:58 moritz_ masak: when you give me a regex to identify them...
16:59 masak hm, I don't know enough about the syntax...
16:59 masak but it seems you could easily match against /^ win \s+ \d+ $/
17:07 tak11 joined #perl6
17:30 mberends joined #perl6
17:39 mberends viklund: I'm ready to pick up the next TODO in proto, just want to know if you're busy with any of them?
17:41 diakopter hugme: bite me
17:41 diakopter b0rked
17:43 moritz_ hugme is friendly only
17:44 pmurias it could be a friendly bite
17:44 diakopter ha
17:44 diakopter pmurias: hi
17:45 moritz_ something along the lines of "* hugme bites diakopter playfully, and giggles"
17:45 NorwayGeek joined #perl6
17:45 * diakopter runs, and not with it.
17:46 Zloyrusskiy joined #perl6
17:47 pmurias diakopter: what does eval_args do?
17:51 justatheory joined #perl6
17:51 jaldhar joined #perl6
17:53 simcop2387 joined #perl6
17:59 simcop2387 joined #perl6
18:00 diakopter pmurias: sorry for the delay; irssi hanginge for some reasone
18:00 diakopter pmurias: it's where the strictly-evaluated args of each node end up
18:01 diakopter the results of them
18:01 diakopter nodes that want their arg(s) lazily evaluated (basically to handle themselves) can register themselves as such
18:03 diakopter such as the short-circuiting operators
18:03 diakopter or chains
18:05 diakopter pmurias: wait, did you mean the function eval_args or the property eval_args (on nearly all the node objects)
18:05 diakopter the function is the op that populates that property
18:07 diakopter pmurias: STD provides each operation's arguments/children as either named properties on the node, or in the .args property, or the .arg property
18:08 pmurias the eval_args node type
18:08 diakopter by default, I made the interpreter/evaluator strictly evaluate them
18:08 diakopter and stuff their results into eval_args
18:08 diakopter but you can mark particular node_types as lazy where needed
18:10 diakopter the eval_args node type is a node type I invented (it's not an STD artifact) that performs that task...
18:10 justatheory joined #perl6
18:10 pmurias i see
18:12 diakopter and when STD doesn't lift the arguments/children from the '.' (ast) property (which I renamed "M"), it's a bug and TimToady would love to know about it. :)
18:13 diakopter I mean viv
18:13 diakopter when viv doesn't do that lifting, etc.
18:20 pmurias diakopter: why did you go for an interpreter instead of a compiler?
18:21 iblechbot joined #perl6
18:21 diakopter pmurias: ignorance, inexperience, naivete, lack of education, stubbornness, capriciousness, laziness, hubris, and such.
18:22 diakopter oh, and impunity
18:22 diakopter marked impunity.
18:23 diakopter and, I suppose, masochism.
18:29 rfordinal left #perl6
18:32 pmurias diakopter: shouldn't you deep clone the subroutine body when you call it?
18:32 diakopter pmurias: yes :)
18:33 diakopter but I do that by making each and every node that depends on such state shallow cloned
18:33 diakopter (which is nearly all nodes)
18:34 diakopter really, all nodes except those that are reifying immutable entities such as literal integers
18:35 diakopter pmurias: unless you found one I missed...
18:35 colomon joined #perl6
18:37 diakopter the dupe() function shallowly clones
18:37 diakopter (as I'm sure you noticed)
18:39 diakopter pmurias: in p6sub_invocation,   this.do_next = dupe(this.sub_body);
18:40 pmurias i see ;)
18:41 pmurias got to go&
18:43 japhb joined #perl6
18:45 jan_ joined #perl6
18:51 explorer joined #perl6
19:05 zerhash joined #perl6
19:10 viklund mberends: no, I'm not
19:10 diakopter rakudo: say :0<1>
19:10 p6eval rakudo 0eaf62: OUTPUT«radix out of range (2-36)␤in Main (src/gen_setting.pm:2436)␤»
19:10 diakopter rakudo: say :1<1>
19:10 p6eval rakudo 0eaf62: OUTPUT«radix out of range (2-36)␤in Main (src/gen_setting.pm:2436)␤»
19:11 hv2 left #perl6
19:11 diakopter rakudo: say :999999999999999999<1>
19:11 p6eval rakudo 0eaf62: OUTPUT«radix out of range (2-36)␤in Main (src/gen_setting.pm:2436)␤»
19:11 diakopter oops
19:11 diakopter rakudo: say :2<1101>
19:11 p6eval rakudo 0eaf62: OUTPUT«13␤»
19:11 diakopter std: :0<0>
19:11 p6eval std 28379: OUTPUT«ok 00:03 96m␤»
19:12 am0c joined #perl6
19:13 mberends viklund: ok, I was doing at some refactoring and replacing the run("cp -r") in install with an explicit loop over the files, to be skip installing forbidden files such as Test.pm.
19:14 mberends s/at// s/be//
19:21 mberends std: my $path_xxx = p{/tmp/xxx};
19:21 p6eval std 28379: OUTPUT«[31m===[0mSORRY![31m===[0m␤Obsolete use of suffix regex modifiers; in Perl 6 please use prefix adverbs instead at /tmp/HkcbEsAXjh line 1:␤------> [32mmy $path_xxx = p{/tmp/xxx[33m⏏[31m};[0m␤Other potential difficulties:␤  Possible obsolete use of /x; in Perl 6 please use
19:21 p6eval ..no…
19:23 viklund nice
19:23 diakopter std: …
19:23 p6eval std 28379: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/10EnajMtdS line 1:␤------> [32m<BOL>[33m⏏[31m…[0m␤    expecting any of:␤     bracketed infix␤  infix stopper␤    noun␤   prefix or noun␤   standard stopper␤ statement end␤    statement list␤   term␤   terminator␤
19:23 p6eval ..whitespace␤FAILED 00:01 99m␤»
19:24 diakopter std: «»
19:24 p6eval std 28379: OUTPUT«ok 00:02 95m␤»
19:24 diakopter std: «»«»
19:25 p6eval std 28379: OUTPUT«ok 00:03 95m␤»
19:25 diakopter wha?
19:26 TimToady subscript
19:26 pmichaud heh
19:26 pmichaud and here I figured it was just an egotistical military officer showing off his chevrons  :)
19:27 TimToady mind you, I doubt the result of «» will be Associative
19:27 mberends std: my Path $path_bin = p{/bin}; # wondering about S32-IO
19:27 p6eval std 28379: OUTPUT«[31m===[0mSORRY![31m===[0m␤In "my" declaration, typename Path must be predeclared (or marked as declarative with :: prefix) at /tmp/s97ZmeAmOx line 1:␤------> [32mmy Path[33m⏏[31m $path_bin = p{/bin}; # wondering about [0m␤FAILED 00:01 95m␤»
19:28 TimToady I don't believe in p
19:28 mberends is S32-IO wrong?
19:28 diakopter m n, o p of little faith.
19:28 TimToady I hope so
19:28 pmichaud I think it's speculative there
19:28 pmichaud afk, errands
19:30 TimToady I believe in what p is trying to do, but we can't use up a new letter for one quoting operator
19:31 mberends that makes sense
19:31 mberends proto could use mkdir, seemed like a fruit almost within reach. I guess it will be the non portable run("mkdir $dir") for now
19:33 diakopter TimToady: how about `path{/bin}` means `path(q{/bin})` :D
19:34 PerlJam every time I look at this window there's always some crazy talk on it.
19:35 * TimToady bows on behalf of all of us
19:36 PerlJam I just assume that every one is insane and that TimToady acts as a sanity filter for Perl 6  (the only question is ... what does "sane" mean in that context?  ;)
19:37 xaki left #perl6
19:37 mberends the lunatics are running the asylum ;)
19:37 diakopter the lunatics built the asylum
19:37 PerlJam wait ... there's an asylum?
19:38 mberends a refuge for stackless programmers
19:39 TimToady .oO(must...not...make...joke...a​bout...stacked...programmers...)
19:39 diakopter stacks of programmers or .. oh wait.
19:40 mberends the odds are ? heaped ? against us
19:40 PerlJam oh no!  Another round of punnery has begun
19:41 diakopter and the ratio is definitely overlowing.
19:41 diakopter flowing
19:41 mberends not to mention the garbage
19:47 sjohnson .oO();
19:47 diakopter .oO( thought buggles )
19:47 diakopter bubbles.  wow.
19:48 sjohnson rakudo can process this
19:49 diakopter I thought Parrot was register-based
19:49 moritz_ rakudo: this
19:49 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub this␤»
19:49 TimToady it's turing complete, if you want a counter example
19:49 TimToady rakudo: human
19:49 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub human␤»
19:50 diakopter rakudo: text
19:50 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub text␤»
19:50 Zloyrusskiy joined #perl6
19:50 TimToady shouldn't it rather say "Found non-existent sub text"?
19:51 diakopter rakudo: routine
19:51 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub routine␤»
19:51 moritz_ TimToady: time to spec error messages ;-)
19:51 diakopter rakudo: marine
19:51 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub marine␤»
19:51 sjohnson heh
19:52 sjohnson rakudo: particle
19:52 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub particle␤»
19:52 sjohnson rakudo: machine-gun
19:52 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub machine-gun␤»
19:52 TimToady or maybe "Could not find existent sub text"
19:53 jseits joined #perl6
19:53 diakopter rakudo: subsub
19:53 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub subsub␤»
19:53 sjohnson rakudo: text
19:53 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub text␤»
19:54 TimToady does that mean it did find an existent sub text?
19:54 pugs_svn r28394 | fglock++ | [mp6] Javascript newline fixes: multiline strings, "\n", say()
19:54 diakopter rakudo: pun
19:54 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub pun␤»
19:54 sjohnson if so, i should use rakudo to help me understand signals from girls my age
19:54 PerlJam rakudo has no sub text
19:54 * moritz_ notices the lack of line number /  backtrace in the error message
19:55 TimToady rakudo: no way
19:55 diakopter rakudo terfuge
19:55 p6eval rakudo 0eaf62:  ( no output )
19:55 sjohnson rakudo: yes way
19:55 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub way␤»
19:56 diakopter rakudo: terfuge
19:56 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub terfuge␤»
19:56 sjohnson rakudo: 'good times'
19:56 p6eval rakudo 0eaf62:  ( no output )
19:56 sjohnson rakudo: 'good times'()
19:56 p6eval rakudo 0eaf62: OUTPUT«invoke() not implemented in class 'Perl6Str'␤in Main (/tmp/Ixkpq86aaB:2)␤»
19:56 [particle] joined #perl6
19:57 TimToady rakudo: no way jose
19:57 p6eval rakudo 0eaf62:  ( no output )
19:57 TimToady rakudo doesn't put out
19:57 diakopter rakudo: clothes
19:57 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub clothes␤»
19:58 TimToady diakopter: you're perseverating
19:58 diakopter semper ubi sub ubi
19:58 sjohnson rakudo: sandwich
19:58 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub sandwich␤»
19:59 diakopter rakudo: Red_October
19:59 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub Red_October␤»
19:59 sjohnson heh
19:59 moritz_ after a few dozen iterations the joke loses its attractiveness, IMHO
19:59 sjohnson joke?
19:59 diakopter rakudo: joke
19:59 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub joke␤»
20:00 sjohnson haha
20:00 diakopter rakudo: moritz_
20:00 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub moritz_␤»
20:00 TimToady someone reach over and hit diakopters reset button
20:00 moritz_ hugme: hug diakopter
20:00 * hugme hugs diakopter
20:00 moritz_ hugme: hug sjohnson
20:00 * hugme hugs sjohnson
20:01 [particle] Could not find diakopter's non-existent reset button
20:01 sjohnson (´ー` )
20:02 sjohnson ( `ー´)
20:02 diakopter rakudo: no no
20:02 p6eval rakudo 0eaf62:  ( no output )
20:03 cognominal rakudo: lime
20:03 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub lime␤»
20:03 diakopter rakudo: johnson
20:03 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub johnson␤»
20:05 sjohnson in the interest of silly jokes, wasting time at work, and learning about p6, can you make it more than 1 word without using an underscore to produce this error?
20:05 moritz_ rakudo: a b
20:05 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub b␤»
20:06 moritz_ that was a non-breaking ws
20:06 TimToady not a word char
20:06 moritz_ rakudo: a-b
20:06 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub a-b␤»
20:06 moritz_ aye
20:06 sjohnson can't trick a new compiler with old tricks
20:06 pmichaud rakudo: tle
20:06 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub tle␤»
20:06 diakopter rakudo: title
20:06 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub title␤»
20:07 diakopter rakudo: system
20:07 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub system␤»
20:07 pmichaud rakudo: station
20:07 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub station␤»
20:08 TimToady rakudo: no output
20:08 p6eval rakudo 0eaf62:  ( no output )
20:08 diakopter hee
20:08 diakopter std: no output
20:08 p6eval std 28379: OUTPUT«ok 00:01 94m␤»
20:08 TimToady STD puts out
20:08 TimToady well, it says yes, anyway
20:08 pmichaud I thought "puts" was mainly tcl?  ;-)
20:09 TimToady ruby 2
20:09 diakopter 'ok' can mean no, you know
20:09 pmichaud ok
20:09 diakopter twss.
20:10 diakopter pugs: no output
20:10 p6eval pugs:  ( no output )
20:11 sjohnson rakudo: say " happy moose   ".strip;
20:11 diakopter vijs: no output
20:11 p6eval rakudo 0eaf62: OUTPUT«Method 'strip' not found for invocant of class 'Str'␤»
20:11 p6eval vijs 28379: OUTPUT«execute(): execute error: statement_control__S_no not yet implemented; srsly!!?!?␤last: statement␤T,T__statement_control__S_no,BE​G,arglist,_specific,SYM,module_name,END,M​,phase,postDo,eval_args,invoker,context at vivjs line 66.␤»
20:11 sjohnson i forgot the white space trimmer func name
20:11 diakopter vijs hasn't learned how yet.
20:11 sjohnson rakudo: say " happy moose ".trim;
20:11 pmichaud trim
20:11 p6eval rakudo 0eaf62: OUTPUT«happy moose␤»
20:11 TimToady what's this about stripping?
20:11 sjohnson trying to boost up p6's sex appeal
20:13 diakopter rakudo: prime
20:13 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub prime␤»
20:14 diakopter rakudo: basement
20:14 TimToady I strongly suspect this is not the way to go about it
20:14 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub basement␤»
20:15 moritz_ pmichaud: FYI there's still (or again) a src/pmc/bigint.pmc in parrot
20:15 pmichaud moritz_: yes, but I don't think it actively gets linked in
20:15 pmichaud I could be wrong about that.
20:16 pmichaud guess I'm wrong... i just tried it and I get "no bigint lib loaded"
20:16 moritz_ the tests just use b = new ['BigInt'] with no preamble code or so
20:16 moritz_ and pass
20:17 diakopter TimToady: any kludge on the rad_int
20:18 pmichaud anyway, I know that bigint/bignum support in Parrot is slated to change substantially, so I'll wait for that
20:18 TimToady nope, someone was distracting me by perseverating
20:19 pmichaud I'm very curious to see how Parrot decides to handle the case where one tries to grab a BigInt value into an int register
20:25 cj joined #perl6
20:25 cj diakopter: scrottie and I have been talking about you
20:26 diakopter oh dears
20:26 cj diakopter: and I've been trying to compile perl5 with the cil back-end for gcc ;)
20:26 cj oooh
20:26 cj diakopter: scrottie and I started a contract at the same place on the same day
20:28 cj anyway, still thinking about helping to bootstrap p6 on clr with p5 on the vm
20:29 diakopter well
20:30 diakopter so you're saying you got gcc-cli to build perl?
20:31 diakopter [essentially compiling Perl to MSIL (desugarded C#, mostly), for those watching]
20:31 diakopter desugared.  hrm.
20:32 mikehh rakudo (8e34da7) builds on parrot r41447 - make test / make spectest (up to 28394) PASS - Ubuntu 9.04 amd64
20:32 mikehh running make spectest_smolder
20:34 * diakopter wonders how big the perl_cil executable would be
20:34 moritz_ rakudo: say (3, ), 4
20:34 p6eval rakudo 0eaf62: OUTPUT«34␤»
20:35 moritz_ rakudo: multi sub infix:<a>(@a, $b) { say @a.perl }; multi sub infix:<a>($a, $b) { &infix:<a>(($a, ), $b) }; 3 a 3
20:35 p6eval rakudo 0eaf62: OUTPUT«[3]␤»
20:36 mikehh I am getting failures with spectest_smolder that I didn't get with spectest
20:40 mikehh t/spec/S02-names_and_variables/perl.rakudo ..................... Failed 27/102 subtests
20:41 mikehh this doesn't fail with make spectest, make t/spec/S02-names_and_variables/perl.t or ./perl6 t/spec/S02-names_and_variables/perl.rakudo
20:47 mikehh it is consistently failing with make spectest_smolder - smae failure in 3 runs - let 1 go to completion #28017
20:48 mikehh ssmae/same/
20:50 moritz_ hm, dies after test 75
20:52 mikehh moritz_: one of the infamous segfaults - Non-zero wait status: 11
20:52 zamolxes joined #perl6
20:53 mikehh moritz_: but again it only fails with make spectest_smolder - it PASSes all other variations I could test
20:53 moritz_ rakudo: say (*-3).signature.perl
20:53 p6eval rakudo 0eaf62: OUTPUT«undef␤»
20:54 moritz_ rakudo: say (-> $x { $x - 3 }).signature.perl
20:54 p6eval rakudo 0eaf62: OUTPUT«:(Object $x)␤»
20:57 moritz_ bugreport submitted.
21:00 PacoLinux joined #perl6
21:01 pugs_svn r28395 | Util++ | [identifier.t] Typos
21:02 moritz_ somehow hacking on infix:<...> is not rewarding.
21:02 moritz_ it needs signature features that rakudo doesn't suppport yet
21:02 moritz_ it needs to work with WhateverCode objects that don't have signatures yet
21:03 moritz_ and I can't simply catch the exception that's thrown when I try to access the undef signature nonetheless, because that throws a Null PMC access in get_bool
21:04 moritz_ checking the typ of the WhateverCode object gives another weird error: "Class P6protoobject already registered!"
21:05 moritz_ rakudo: say ( (*+2) !~~ WhateverCode)
21:05 p6eval rakudo 0eaf62: OUTPUT«Class P6protoobject already registered!␤in Main (/tmp/6ZQLFFZtvy:2)␤»
21:05 moritz_ rakudo: say ( (*+2) ~~ WhateverCode)
21:05 p6eval rakudo 0eaf62: OUTPUT«1␤»
21:06 moritz_ rakudo: say ( -> $x { $x } ~~ WhateverCode)
21:06 p6eval rakudo 0eaf62: OUTPUT«0␤»
21:06 moritz_ rakudo: say ( -> $x { $x } !~~ WhateverCode)
21:06 p6eval rakudo 0eaf62: OUTPUT«Class P6protoobject already registered!␤in Main (/tmp/EsH8cmRwpJ:2)␤»
21:06 moritz_ rakudo: say ( -> $x { $x } !~~ Code)
21:06 p6eval rakudo 0eaf62: OUTPUT«Class P6protoobject already registered!␤in Main (/tmp/dggDmckmOR:2)␤»
21:07 moritz_ another ticket
21:09 moritz_ but workaroundable
21:09 colomon joined #perl6
21:09 moritz_ ... and suddenly all tests pass. \o/
21:10 colomon \o/ indeed!
21:14 sjohnson hi colomon
21:14 colomon hello!
21:14 pugs_svn r28396 | moritz++ | [t/spec] unfudge some series tests for Rakudo; also label a previously unlabled test
21:15 colomon What's been happening this week (while I was up in the internet-free wilds of Michigan)?
21:15 nbrown joined #perl6
21:15 moritz_ colomon: pmichaud started designing the PGE refactor (which might become a complete re-write)
21:16 moritz_ then I don't know if you already know about the new-and-improved perl6.org (now with sub pages)
21:16 PerlJam sounded more like "will" that "might" earlier
21:16 colomon moritz_: I saw your test page for the new perl6.org before I left.
21:16 dalek rakudo: f2acdbb | moritz++ | src/setting/Operators.pm:
21:16 dalek rakudo: implement some more use cases of infix:<...>
21:16 dalek rakudo: Much of that consists of ugly hacks because
21:16 dalek rakudo:  * we'd need multi slices for the signature, and don't have 'em
21:16 dalek rakudo:  * I've hit at least three Rakudo bugs which I've worked around
21:16 dalek rakudo:  * infix:<...> has rather sophisticated cases, which I tried to cover
21:16 dalek rakudo:    at least partially without too much code duplication
21:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​2acdbb6487f6959894c457762e3bbc7ea2d6f7a
21:16 moritz_ diakopter++ started vivjs, which plus STD.pm + viv and the V8 javascript VM
21:16 colomon Is the PGE refactor what's supposed to get us std.pm?
21:17 moritz_ colomon: it's supposed to give us proto regexes first, which is step in that direction
21:17 moritz_ don't know what else we need right now
21:17 colomon still sounds very much like good news!
21:17 colomon I see you added .pred and .succ for Rat, what do they do?
21:18 moritz_ (that test page is now alive and kicking)
21:18 moritz_ colomon: they handle ++ and --
21:18 colomon I understood that, but what do they do?  Is it just ++ and -- on the numerator?
21:18 moritz_ now, they add/substract 1
21:18 moritz_ just like $x++ would do on any other number
21:19 moritz_ rakudo: my $x = 1/4; $x++; say $x.perl
21:19 p6eval rakudo 0eaf62: OUTPUT«Method 'succ' not found for invocant of class 'Rat'␤»
21:19 moritz_ huh?
21:19 moritz_ that must be an auld rakudo
21:19 moritz_ oh, and we moved p6eval to a new and faster server
21:20 moritz_ and I tried to re-do rakudo's rebuild system
21:20 colomon 0eaf62 is three days ago, according to github.
21:20 moritz_ and tried to be too smart, and broke it
21:21 colomon I've got three or four issues that popped up while I was working on trig stuff up north, I will try to share them with the world after dinner tonight.
21:21 moritz_ great
21:24 moritz_ rakudo: say (* > 0).(4)
21:24 p6eval rakudo 0eaf62: OUTPUT«1␤»
21:26 cognominal rakudo: say  */*
21:26 p6eval rakudo 0eaf62: OUTPUT«!whatever_closure␤»
21:26 moritz_ rakudo: if 3 cmp 4 -> $x { say $x }
21:26 p6eval rakudo 0eaf62: OUTPUT«-1␤»
21:34 tak11 joined #perl6
21:37 ruoso joined #perl6
21:40 zamolxes joined #perl6
21:41 dalek rakudo: c394d6d | moritz++ | src/setting/Operators.pm:
21:41 dalek rakudo: forgot to remove debugging output, moritz--
21:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​394d6dede986def93f0ccbeb5a24fff2cc63e81
21:50 crythias joined #perl6
22:09 moritz_ rakudo: my $x = 'a'; say --$x; say $x cmp 'a'
22:09 p6eval rakudo 0eaf62: OUTPUT«Decrement out of range␤␤Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤in Main (/tmp/YV6Ly2Nqm3:2)␤»
22:11 moritz_ rakudo: say '' cmp 'a'
22:11 p6eval rakudo 0eaf62: OUTPUT«-1␤»
22:11 moritz_ rakudo: say undef cmp 'a'
22:11 p6eval rakudo 0eaf62: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤in Main (/tmp/lS77BmKJBL:2)␤»
22:11 moritz_ ah, that's what was disturbing me all that time
22:12 * moritz_ firmly expects some new tests to pass this time
22:12 moritz_ \o/
22:17 explorer joined #perl6
22:21 pugs_svn r28397 | moritz++ | [t/spec] more tests for magical series operator, plus corrected one
22:24 dalek rakudo: a33b90c | moritz++ | src/setting/Operators.pm:
22:24 dalek rakudo: magic, eager 'a'...'z' and 'z'...'a' series
22:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​33b90cb8ca170bb964f7cedd327083477bd3f77
22:24 dalek rakudo: bac4abd | moritz++ | build/gen_setting_pm.pl:
22:24 dalek rakudo: add a vim modeline to gen_setting.pm which prevents accidental editing
22:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​ac4abd3152a50c956b05aa85aa81aa8cfe63918
22:26 cj joined #perl6
22:27 SmokeMachine joined #perl6
22:31 moritz_ rakudo: say 'd' ... 'a'
22:31 p6eval rakudo 0eaf62: OUTPUT«No applicable candidates found to dispatch to for 'infix:...'␤in Main (/tmp/0rLffyUrkT:2)␤»
22:32 moritz_ wow, that rakudo rebuilding thins is really borked
22:36 crythias $fish, %cornedbeef, @solar
22:36 moritz_ rakudo: say 'd' ... 'a'
22:36 p6eval rakudo 0eaf62: OUTPUT«dcba␤»
22:36 moritz_ \o/
22:36 moritz_ that one gave me lots of headache
22:38 crythias fish scalar, corned beef hash, solar array.
22:38 pmurias joined #perl6
22:50 jauaor joined #perl6
22:59 pmurias 1
23:00 ruoso joined #perl6
23:31 jhuni joined #perl6
23:48 colomon moritz_: errr... looks like p6eval claims to be the same rakudo in both the before and after back there?
23:51 diakopter crythias: !
23:58 diakopter rakudo: existence
23:58 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub existence␤»
23:58 diakopter rakudo: sistence
23:58 p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub sistence␤»

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

Perl 6 | Reference Documentation | Rakudo